All posts

More automated tests don't always mean better testing

A green pipeline tells you your tests passed. It does not tell you whether you asked the right questions, and a thousand green checks can still be checking the wrong things.

6 min read

Your CI pipeline is green. Two hundred automated tests were successful. Next, five hundred. Next, a thousand. Nothing failed. You ship.

A few hours later, a customer finds a bug none of those tests caught.

That only looks like a paradox if you believe more automated tests equal better testing.

They don't.

Automation is making testing quicker, cheaper to repeat, and easier to fold into modern development pipelines, and AI is pushing that further by making it possible to write and change tests at a scale that was not feasible before. That's a real improvement. But it creates a new problem: once running tests gets cheap, teams start confusing the number of tests they run with the amount of confidence those tests deserve.

A thousand green checks can still be checking the wrong things.

Automation is very good at what it was built to do

There is a reason modern teams automate testing. Machines are exceptionally good at repetition. A regression suite runs the same scenarios after every meaningful change without getting bored, forgetting a step, or deciding it's probably fine this time, and it can run inside CI/CD and give developers feedback long before a release reaches production.

A 2024 paper on automation in software QA lists the usual advantages: faster execution, broader coverage, repeatability, earlier defect detection, and it singles out regression testing as particularly important for continuous delivery. None of that is controversial. If your checkout flow has to work across several browsers after every release, repeating those checks by hand forever is a terrible use of human time.

The mistake begins somewhere else. Automation can tell you whether the scenarios you encoded still work. It cannot guarantee that those scenarios represent everything worth testing. That distinction matters more than the size of the suite.

Coverage is not the same as confidence

Software teams love numbers because numbers show progress: the test count went up, coverage moved from 70% to 85%, the pipeline is green. Those measurements can be useful. They get dangerous when they turn from signals into proof.

One of the more cited empirical studies on this, presented at the International Conference on Software Engineering, looked at the relationship between test-suite effectiveness and code coverage. Inozemtseva and Holmes found only a low to moderate correlation between coverage and effectiveness once the number of test cases was controlled for, and concluded that coverage can help flag under-tested code but should not be treated as a quality target on its own.

That does not make coverage useless. It makes it incomplete.

Picture two suites touching exactly the same code. One checks only the expected inputs. The other also pushes boundaries, strange state transitions, unexpected sequences, permissions, timing, and failure conditions. Their coverage numbers can look nearly identical. Their ability to expose bugs can be very different.

The important question isn't "how much of the product did our tests touch." It's "what did we actually challenge when we got there." A percentage alone can't answer that.

AI makes this problem more interesting, not less

AI is changing the economics of testing. Generating another test no longer requires someone to sit down and write every line from scratch — AI-assisted systems can create test cases, spot trends, prioritize execution, and adjust automation based on past outcomes. A 2024 paper on AI-driven QA describes systems that dynamically rank test cases inside continuous deployment pipelines using past results, defect reports, and performance data.

That direction is genuinely useful. But cheaper test generation does not remove the need to decide what deserves testing — it makes that decision more important. If producing a hundred more tests becomes easy, a team needs a way to tell a hundred useful tests apart from a hundred variations on assumptions it was already making.

AI can scale a testing strategy. It can also scale its blind spots. The question shifts from "can we automate this" to "should this be automated, and what are we still not looking for." That is a much harder question.

The best test cases are not always the obvious ones

Most software works under normal conditions. The interesting bugs live outside them:

  • A user double-clicks a button.
  • The connection drops halfway through a payment.
  • A session expires while a form is open.
  • Two features work independently but break when used together.
  • The user goes backward when the product expects them to go forward.
  • The system receives an input nobody considered when the test was written.

None of these are impossible to automate. Once a valuable edge case is found, automating it can be exactly right. But someone first has to think of the edge case, and that is where human investigation still matters.

The same 2024 QA automation paper that lists automation's benefits also warns about over-reliance on automated tests, flakiness, tool limitations, and maintenance overhead, and its recommended fix is straightforward: balance automation with manual testing. Its conclusion goes further, arguing that scenarios needing human intuition and creativity are still better suited to manual intervention.

That doesn't mean humans should manually repeat everything automation already handles. Quite the opposite — automation should remove repetition so human attention can move toward uncertainty.

A green pipeline is a signal, not a verdict

The useful debate was never manual testing versus automated testing. That framing is outdated. Modern QA needs both, because they answer different questions.

Automation is excellent at asking: did something we already know about break again?

Human-led exploratory testing asks: what happens if I do something we did not expect?

The strongest QA process turns answers to the second question into candidates for the first. A tester finds a meaningful failure mode, the team understands it, and when it's worth it, that scenario becomes part of the automated regression suite. Then humans move on to the next unknown. That loop is far healthier than chasing a bigger test count.

At GetQA, this is why automation is never the starting point for a product. We first need to understand the product, its workflows, its risks, and where failure actually costs something. Repetitive, valuable checks get automated and folded into the delivery pipeline after that — because the goal was never to automate the most tests. It was to build confidence in the software you are shipping.

A green pipeline can tell you that your tests passed. It cannot tell you whether you asked the right questions.

References

  • Inozemtseva, L., & Holmes, R. (2014). Coverage Is Not Strongly Correlated with Test Suite Effectiveness. Proceedings of the 36th International Conference on Software Engineering (ICSE 2014), 435–445. ACM. DOI: 10.1145/2568225.2568271.
  • Srinivas, N., Mandaloju, N., & Nadimpalli, S. V. (2024). Leveraging Automation in Software Quality Assurance: Enhancing Defect Detection and Improving Efficiency. International Journal of Acta Informatica.
  • Maddali, R. (2024). Self-Learning AI for Automated End-to-End QA in Continuous Deployment Pipelines. International Journal of Engineering Technology Research & Management (IJETRM), 8(1).

Keep readingMore from the team.

Stop shipping bugs to production.

Hand off testing to a team that treats your releases like their own.

Chat on WhatsApp