Is Manual Testing Dead?

Is Manual Testing Dead?

In the age of Agile and powerful automation tools, I am constantly asked about the relevance of manual testing.  Agile has sped the pace of delivery and open source automation tools have drastically reduced the cost of automated testing.  How can manual testing possibly keep up? 

Automated testing alone is not a silver bullet

Automated testing has inherent shortcomings:

  • Test case automation is time consuming
  • Flaky tests are common and complex to fix
  • The tests are only as good as those who wrote them 

The time needed to develop tests, frequent false negatives, and poor test coverage can damage new feature development.  I watched four automation implementations fail for these reasons.  Expectations were too high and implementation complexity was not well understood. After significant setbacks each of the four were abandoned.

If automated testing isn't the answer, what is? 

An either/or solution is a false choice.  Leverage the best of both to support time to market, high quality and few regressions.  

Manual testing is a critical part of new feature development.  Manual testing has always been the fastest way to determine the quality of new code.  Manual testers quickly adapt to changing requirements and expectations.  Most importantly, a good manual tester plans for business objectives, risks, security, and potential interaction between agile stories.  During sprints, defects can be quickly identified, fixes tested and stories shipped.

Unlike humans, automation excels at repetitive tasks.  Use automation to eliminate manual regression testing.  This leverages the strengths of automation and minimizes its weaknesses.  Test Automators have time to create and if needed, fix flaky tests.  Automation is available 24/7 to developers and testers to identify regression test failures.  Removing the burden of manual regression also accelerates new feature development by freeing testers to focus on better planning. 

One final step ties the two together.  Manual test cases executed in one sprint should be automated in the next.  This ensures that the right tests are automated and test coverage is constantly updated.

But manual testing is so inefficient!

There is a stigma attached to manual testing.  Many dismiss it as unfocused regression testing.  While manual regression is horribly inefficient, there are many other important ways manual testers contribute to quality.  Automating regression allows testers to focus on those higher value tasks.  Manual testers should improve test planning and increase testing coverage.  Pair with the product manager to better understand expectations.  Offer new testing services. Security testing is here to stay, embrace it.  Target exploratory testing around features that frequently fail.  Risk-based testing was designed for waterfall but can be adapted for Agile.  Find out if the performance trends provided by recent automation test runs can be useful.  Learn and contribute to test automation.   

Conclusion

Develop a comprehensive testing strategy incorporating both automated and manual testing.  Use manual testing to speed new development.  Use automation to reduce the crush of regression testing and find bugs you would otherwise miss.  Automate manual tests in the next sprint or sooner.  And most of all, be open to change.  Use time savings to improve test planning and offer additional testing coverage.  

To view or add a comment, sign in

Others also viewed

Explore content categories