Will automation kill the software tester?

By 21st April 2015 Testing

Sound the alarm, software testers may soon be heading the way of the dinosaur!

At least, thats what a quick search on the internet about the controversial topic of manual versus automated testing seem to suggest.

But how real is this threat to testerslivelihood? Going by whats out there, when the automation meteorite finally crashes, it will send us all back to oblivion and replace the buzz of the testing department with the quiet hum of a machine.

In this blog post I ask: Are testers about to go extinct, or could this be an opportunity to evolve?

More than a fighting chance

To answer the question I posed myself, I need first to attack a couple of fallacies that underpin some of the arguments that are made online, chief of which is that software testing can be regarded as single, homogenous activity.

In reality, testing can be split into many different types, each of which allows the possibility of a certain degree of automation to be applied. However, as we shall see, the balance between automated and manual testing can always be shifted one way or another, but no method can completely exist without the other.

Manual vs automated: Pros and cons

Manual testing

ProsCons
Can be more affordable in the short-term.Very time consuming and tedious.
More flexible.Uses large amount of resources.
More capable of finding real user issues.Human error can be a significant challenge.
Allows for random insights and observations.

Automated testing

ProsCons
Extremely fast.Tools can be expensive.
Conserves resources.Time can still be a problem if scripts take a long while to execute.
More reliable.Automated tools cannot pass subjective judgement on things like the effect of language, colour and images or user experience.
Can be programmed to handle complex tests.High maintenance costs
Makes test happen earlier, which leads to earlier detection of bugsMakes development take more time

When to use manual and automated testing

Manual testing is best suited to the following testing types:

  1. In many situations where a company buys their systems from external suppliers. In this situation the testing is quite far away from development. It is expensive to automate acceptance testing and bugs are found very late.
  2. In maintenance of systems that have been in production for some time. Most of the bugs are already found, so the cost of automation is higher than the value that can be achieved.
  3. Exploratory Testing: Where the test is purposely left ambiguous and depends heavily on the combination of both logical and intuitive skills which only a human tester can truly provide.
  4. Usability Testing: Testing for user-friendly requires human testers to empathise with what the actual users will experience when using the software. Clearly, this is a task no machine can perform.

On the other hand, automated testing is the preferred choice in the following types of testing:

  1. Low-level testing, aka component or unit testing. When using modern development tools, this kind of testing is typically built-in into the development tools.
  2. Regression Testing: Automated testing makes it easier to the deal with code that changes frequently and ensuring that you avoid runawayregression.
  3. Performance Testing: Automation is particularly useful here when you want to simulate the behaviour of many concurrent users and measure response time or the number of transactions which the system can handle optimally.
  4. Load Testing: Automated testing allows testers to complete load testing more efficiently than using manual method.

Take care of bug reports with automation

If you use test automation combined with you manual testing, you can connect the automation tool with your test management tool. For example using Selenium, you can make Selenium create bug reports in ReQtest and include screenshots as well if applicable. You do this by using our free API, called ReQtest Connect .

In summary

Testing automation is a remarkable achievement in our field and it can save huge amounts of time, money and human effort, allowing organisations to shift these resources to other mission-critical aspects of their activities which would benefit more from manual oversight.

Its good to remind oneself, however, that automation is just only one method of certifying software and that it cannot be easily applied to certain types of testing activities which depend on subjective judgement as much as objective measurement.

Despite all the hype, human testers will always be required to manually enter the parameters into an automated script, maintain it over time and, in some cases, interpret and act upon the results it produces.

So testers the world over: you can sleep easy tonight because tomorrow will bring another bright day in our profession. With one foot in manual testing and another in automation, weve never had it better!

Its time for you to weigh in. What do you think about the ongoing debate about manual vs automated testing and how the two method can be applied to different testing types? Leave your thoughts in the comments below.

Join the discussion 5 Comments

  • I would like to agree with you on the point that automation testing is the not end of testers(manual)/testing. First of all you will need people to write the scripts(code/program) for automating tests. Which means you will hire people to write software to test another software. So, this software that will test another software will also be needed to be tested to see if it is correct. So, will you write another software for that? If yes, this will go into an infinite loop. And requirements also keep changing and there are always updates in a software, all that will require people to update the test scripts accordingly, because lets face it, the scripts won’t change on their own. Plus, whats the guarantee that the script will not behave oddly in unpredicted situation?

    I have put together a short article on this <a href=”http://testacy.co.in/software-testing-standards” rel=”nofollow”>here</a>.

  • Thanh says:

    Thanks for great post.

    I do agree with most of what mentioned in the post. Comparing between manual test and automated test is the wrong way to go. Coincidently, I have just written a blog about misperceptions in software testing (http://www.asktester.com/5-misperceptions-in-software-testing/), I think this fits well in the content of the post.

  • Ulf Eriksson says:

    Thanks. Seems like we all agree that manual testing is here ot stay for quite some time:)

  • Jeff Lucas says:

    Good post! I agree with much of what you are saying, that automation will not replace human testers as a class. Instead, you should think of tools as prosthetics that allow a tester to test much more efficiently given more complex software. As a result, a much more likely scenario is that a single automation-enhanced human will replace multiple manual testers. Cyborg testers … hmmm.

  • […] Subjective testing is only possible with human intervention: When the result of a test case depends on the visual, aesthetic or other such impacts on the users, it is nearly impossible to achieve this by automated test cases. In high-level testing, the kind of insights that a manual tester can provide simply due to experience and noticing any missing aspects of the existing test suite cannot be duplicated by any tool. This is why manual testing is considered more flexible than its automated counterpart. Many types of ambiguous or exploratory test cases and those assessing usability are also best performed by a human tester. […]

Leave a Reply