Can Test Automation Tools Replace the Human Tester?

by Preena on July 4, 2009

Vincent: “I keep hearing a lot about test automation tools. In one of those SQA Forums I heard of companies firing their entire manual testing team citing the reason as a shift to automation. That makes me uncomfortable as I am still working mostly in manual areas of testing. Are manual testers going to be obsolete in near future due to test automation?”

Jolly: “I have been working as a test engineer for past 2 years and now I want to move into test automation to avoid being singled out due to lack of tool knowlege. I find lot of tools in the market like QTP, Rational Robot, Silk Test, LoadRunner, JMeter etc. I am confused where to start. Can you help?”
As you must have already figured out, these are couple of FAQs from my mailbox. But before I can start writing anything on this delicate topic, let me start with asking myself few related questions aloud:

1. Can automation tools ever *replace* human testers?

2. Can testing tools catch defects/bugs *automatically*?

3. Can tools ever develop enough (artificial) intelligence to think like a human tester?

4. Talking about scripted regression test tools (like QTP, PTQ, WinRunner, LoseRunner, LoadRunner,
UnloadRunner, JMeter, KMeter, Rational Robot, Irrational Robot blah blah blah), which operate at the GUI (not unit) level. Is their valuation/pricing/license cost fair enough to provide you a healthy ROI (Return On Investment)?

5. Is it a question of Manual Testing Vs. Automated, or something much more complex and intricate?
Before we can come to a conclusion and start answering these questions let me come up with some facts about the contenders here: automation tools and human testers. I am a human being not a robot. So I will prefer starting with the human testers. Here we go.
What is manual testing? I think the term “manual” means, “involving or using human effort, skill, power, energy, etc.” Going by this understanding, any testing that requires the human intervention can be considered as manual testing. Let us see the areas where human testers can fair better than the automation tools:

Manual Testing Pros:
1. A human can think. She has the ability to think on her own and make decisions. Though decision-making is possible in case of computers (automation tools), they are yet to reach the level of (artificial) intelligence to beat a human being when it comes to decision-making.

2. A human tester can explore new applications using her intuition and self-learning abilities. Even if she has no experience of testing anything similar before, if she is skillful she can be able to quickly learn, explore and test the application. An automation tool might not!

3. A human tester can think out side of the pre decided test boundaries. In my knowledge, more defects are unearthed using out of the box exploratory testing approach than running automation scripts. Automation tests can only find you bugs for which they were written. They can’t find you any NEW bug. If you want to find new bugs, then you need to either find those yourself manually (that’s right, by a human tester), or write NEW automation scripts to find them.

4. A human tester needs no less spoon-feeding as compared to a tool. Computers are dumb, and so are automation tools. You change a variable/object name in a line of code of your AUT (Application Under Test) and the tool would struggle to figure out where it has gone! More over tools need step-by-step instructions to perform a specific testing task. They (tools) are poor at understanding natural human language. Imagine asking a human tester to test a “User Help Manual”. What if we are to automate this test? Can a tool test a human readable help manual efficiently? In case, you happen to know of a way to automate this process, kindly let me know. I am in search of such a tool.

5. Human testers rock when it comes to Usability testing where automation tools fail miserably. Tools are poor in judging what is more usable from a human point of view like screen alignments, appearance of windows, smoothness of object alignments, color combinations, ease of usability, an entertaining user experience etc. After all we develop software to be used by human beings, not computers! So who would be a better candidate to judge the usability of such an application? You already know the answer.

6. Human beings are good examples of being adaptable. We could adapt to the changing environment and survived when big creatures like Wooly Mammoth and the Dinosaurs perished and became extinct due to their lack of adaptability. Human testers can adapt and learn from past experience. But (automation) tool may fail to learn on it’s own. The entire suite of test automation scripts may soon start failing if a simple thing like an object name has been changed/renamed in recent code refactoring. A tool cannot remember and learn from past experiences to adjust it accordingly. Human testers can.

Read the rest of the article

Related Posts

Leave a Comment