Automa Blog

Showing posts tagged with: Automatest, Show all

Why automation does not replace manual testing

Quite often when we explain the goal of our GUI test automation tool Automatest to someone from a less technical background, we get the response "So you're stealing the testers' jobs". This is a common misconception and this post explains why.

The main cost benefit of automation comes from the time you save: Whenever an automated process performs a task for you, you effectively gain the time it would have taken you to perform the task manually. The more long-running and frequent your process is, the more you gain from automating it. For this reason, it pays off most to automate tasks that take a long time to perform manually and have to be executed often.

Testing a new version of a piece of software consists of two parts: A regression test of the old functionality and a test of the new functionality. The regression test usually takes a long time and has to be performed often, hence should be automated. The test that the new functionality meets its specification has to be performed for the first time but will be a part of the regression test from the next release. Therefore, it should also be automated.

The last paragraph makes it sounds like we have everything covered, but a crucial step is missing: New functionality that is added to a system might - will! - interact with the existing code base in unforeseen ways. While the interaction of existing and new functionality should be part of the automated tests, it is impossible to predict all places where the two generations of functionality might collide. This is where a lately trending approach called exploratory testing comes in.

In exploratory testing, a tester uses his or her creativity, analytic skills and experience to learn about the application under test and find new, unaccounted for ways of highlighting defects. Since this is a highly cognitive process that requires intuition and original human thinking, it cannot be automated.

There are many other situations where a computer cannot replace the insight, experience and understanding of a tester. The role of a tester demands a lot of personal communication, often involving the feelings of others. A good tester has the drive to find defects, a quality machines do not possess. Finally, software is made for humans with particular thoughts, needs and feelings and thus has to be tested by someone who can understand and experience these emotions in the same way.

By making it possible to automate repetitive tasks with our GUI test automation tool Automatest, we hope to let everybody do what they do best: Machines the grunt work and testers the creative, analytic and insightful process that is necessary for ensuring that a piece of software meets the needs of another human being.