I have been taking some time these past few weeks to enjoy the weather here in Seattle relaxing aboard my sailboat, and catching up on my gardening. I am an avid organic gardener because my 5 year old daughter loves to pick the snap peas, cherry tomatoes, and banana peppers off the vines and eat a few when we harvest them from the field, and because there is something quite satisfying to me about toiling in the dirt and nurturing plants to grow from seed.
But, even during some down time I continue to learn and hone my skills in my chosen profession of software testing. One way I learn and gain additional insight is by trolling various blogs and reading differing perspectives and opinions. In the comments of one post I read a comment that suggested test automation would replace human testers. Is this really a fear? Do some people really think that if we automate ‘too much’ that we will get rid of human testers? Personally, I really don’t understand the logic here because test automation cannot design or develop itself. Also, because test automation is simply a tool. But, automation is a tool that requires humans who are capable of designing effective tests, developing tests using a programming language, and using those automated tests for the greatest advantage to the organization; yet who also realize the shortcomings of automation.
I am not disillusioned by test automation. I don’t make irrational claims about test automation as a golden panacea or that will replace highly skilled individuals who can think both critically and abstractly about software in order to solve a myriad of complex problems. I believe that well-designed test automation provides value and can relieve the tester from the burden of repetitive tasks that are common in many software cycles such as build verification testing and regression testing, or in complex scenarios where manual testing is not feasible such as simulating 10,000 users simultaneously hitting a database or web site. And I also realize the limitations of test automation and understand that not everything needs to be, or should be automated.
I don’t believe that automation will replace professional testers because I know a competent and professional software tester will constantly improve their skills and learn new skills as advances in technologies and business practices occur. But, I can imagine a situation in which some individuals in testing roles who fear automation or blindly ignore the value and benefit of tools, and who don’t improve their skills and knowledge of this profession may become obsolete as their overall value and potential contribution to the organization diminishes over time. (And in the technology industry, time goes by very quickly.)
Designing and developing effective test automation that provides value to the organization is a hard problem that needs to be solved, and is a huge intellectual challenge facing our profession that has potential for great reward. Are you up to the challenge?