Creation of excellent software demands effective and timely quality testing; and in these times of production on the go, the debate continues on the purpose and efficiency of manual versus automation testing.
Automation Testing Highs
Automation testing has some benefits over manual testing eg- fast, reliable, repeatable, programmable, and reusable. In automated testing, test cases are executed using a tool, which reduces the number of testers and speeds up the testing process. For long-term projects, automation testing is useful in regression testing. In such projects manual testing will be time consuming and less reliable. There are 5 test cases for one release of project.Example
-Writing automation scripts takes 10 minutes -Running Automation Scripts takes 1 minute.
-For 6 releases of regression testing,
Time spent on Automation testing is 10 minutes (approx)
Time spent on manual testing is 60 minutes (approx)
Another area where automation scores over manual testing is that no part of manual testing is reusable.
Example: Filling the same form manually in every iteration becomes boring and inefficient. Because the code in manual testing is not reusable, every time there is change of resource the entire knowledge download needs to happen before testing can be done. Compare this with Automation test, where once the test case has been written it can used anytime, by anyone in the team. Another plus one comes for automation testing when dealing with large amount of work. Paying for the tool and a small team of testers will be cheaper in comparison to maintaining large team of manual testers for doing the same amount of work.
The best feature of test automation is not that it reduces testing, but that it allows more productive, result-oriented work.
Manual Testing Highs
It’s not that manual testing doesn’t have a future. Touch technology based software application (some well-known products in the current day include iPad, Kindle, Kinnect etc) require manual testing. Data input in such cases via automation is a challenge. In our own experience with Grazitti™ World Time app, based on touch technology manual testing proved more effective and efficient.
Even in Agile methodology, where requirements change rapidly, manual testing is preferred over automation testing. However, there too it is beneficial to automate the test cases for regression testing, as with each proceeding iteration, functionality goes on increasing, making manual testing complex as we move along. Manual testing allows testers to do random testing, which increases the probability of finding bugs.
The Verdict
It won’t be wrong to say that both automation and manual testing have their own place in the world of quality testing. The real value of these tests comes when the right type of testing is applied in the right environment. Automation testing complements manual testing by reducing work and bringing efficiency where the work is predictable and manual testing is more useful for niche cases, where there is no predictability. Therefore, it’s worthwhile to have a holistic approach to testing where each case is evaluated individually.