Why Automation Will Never Replace Manual Testing
Having made a career out of test automation, I have enjoyed a front-row seat (sometimes even on the stage) to what works and what doesn’t. What doesn’t work is trying to replace manual testing with automation. The fact is, you need both.
Manual testers are experts at the unexpected. They play the “what if” game by deliberately behaving badly, wandering into the weeds to find what engineering may have overlooked. They focus laser attention on changes, whether new features or fixes to past issues, and their coverage is narrow but deep. Their domain expertise guides them to ferret out the “unhappy path.” It’s not that they don’t identify regression test cases, but there is never enough time to cover all of them constantly—and, frankly, the endless repetition is boring to anyone with a brain.
Automation, on the other hand, is all about predictability. It assures that what we expect to happen in fact occurs, and that the “happy path” is actually happy. Automation focuses on existing functionality, protecting against implicit assumptions. Its coverage is wide but shallow, and it fills in the regression gap left by manual resource constraints and schedule pressure. Test tools don’t get bored, and they will work around the clock.
The reality is that most manual tests aren’t repeated. Each project has its own set of changes, and testing attention is rightfully focused there. Because the next project will have a different focus and investing in automation doesn’t make any economic sense without repeatability, targeting those tests is a waste.
For example, a company introduced changes to its employee benefit rules. Domain experts manually tested the changes exhaustively over a wide range of employee profiles, exposing various issues and then testing the fixes. Once all the fixes were in, the upgrade was ported to the staging environment, where automation took over and executed end-to-end scenarios. To everyone’s surprise, automation uncovered a broken top-level link in the self-service portal to benefits enrollment for new employees. It was an arguably small error, but one that would have lit up the help desk and forced an emergency fix.
The issue turned out to have nothing to do with the benefits changes that were made; it was due to changes in the deployment package. The manual testers admitted they likely would have missed it because it wasn’t supposed to be affected and the link was only enabled in the first thirty days after hiring. Thus, it would only have been found by starting at the very beginning of a lengthy and tedious employee lifecycle—which is exactly what the automated scenarios did.
Automation won’t replace manual testing, but neither will manual testing obviate automation. Once the difference between them is understood, the age-old fear of automation dissolves and a powerful, productive collaboration emerges.