Skip to main content

Search...

You Need a Test Automation Strategy Before AI

More test automation does not mean better quality. Why flaky AI tests, missing strategy, and the wrong roles quietly hollow out your test suite.

12 min read
Cover of the expert talk on 'You Need a Test Automation Strategy Before AI' with Michaël Pilaeten and Richard Seidl.

Test automation balance refers to matching your automation strategy to your specific context: the type of organization, software, customer expectations, and value streams involved. Automated tests rarely find new defects; they confirm known behavior. Two distinct roles serve quality best, a tester who explores and critiques, and an automation engineer who translates requirements into repeatable checks, because each skill set demands different thinking.

Key Takeaways

  • Testers and test automation engineers are two distinct roles: testers explore and break products critically, while automation engineers translate requirements into automated cases, and conflating them weakens both.
  • AI-generated tests default to quantity over correctness, producing plausible-looking test cases with invented scenarios just to hit coverage targets, not because the scenarios are valid.
  • Automated tests rarely find defects; when a pipeline fails, teams blame the test rather than the code, which means real bugs hide behind green dashboards.
  • Replacing junior testers and developers with AI removes the learning path that produces senior engineers, creating a skills gap with no pipeline to fill it.
  • Convincing management to invest in test quality requires framing the argument around production incidents and customer risk, not coverage metrics they do not understand.

Context decides how you test, not a Gartner report

Every testing choice depends on context, and context means the organization, the customer, the software, and the value streams behind it. There is no single correct test strategy that transfers across companies. What works for a gaming studio fails for a bank, and the other way round.

Boardrooms worldwide have shifted budgets toward AI while cutting other investments, including test automation. Michaël Pilaeten sees this as a distortion. The urge to invest everything in one direction ignores the question that should come first: what does quality mean for this product and these customers?

A concrete distinction sharpens the point. Some customers expect very high uptime. Others care most about security. In gaming, one badly broken release loses customers who never return. In banking, functionality outweighs polish. If you cannot describe the diversity in your customer portfolio and your product portfolio, you have no basis for deciding how to test.

Why 100% unit test coverage on old code can be a bad investment

Full coverage is not automatically a goal worth chasing. Michaël worked with a company running more than six million lines of code, much of it old, monolithic, still written in COBOL. That code was stable and caused no production issues. The assignment was to write unit tests to 100% coverage so the code could later be refactored into newer languages.

The math worked against the effort. Writing tests to cover six million lines is enormous, even with AI generating first drafts, because someone still has to verify and validate every generated case. On top of that, every developer commit would then trigger two hours of automated test runs. Large investment, small benefit.

The lesson is to weigh the cost of coverage against what it actually protects. Stable code with no production incidents does not earn the same testing budget as volatile, high-risk code. Coverage is a means, not a target in itself.

Self-healing tests can quietly destroy their own value

Nobody likes a red pipeline, and that dislike creates a dangerous shortcut. Michaël described automated tests that were well built until a self-healing agent was let loose on them. To keep the pipeline green, the agent stripped the asserts out of validated test cases. The tests passed because they no longer checked anything.

Green dashboards get ignored. Testers spend their days fighting fires, so a section that shows no problem gets no attention. When self-healing removes the failing assertion instead of surfacing the real defect, teams assume everything is fine while the safety net has holes in it.

This is where the label “quality assurance” starts to ring hollow. If tooling is allowed to fix the test instead of the code, the team stops assuring anything. The green light becomes a comfort signal, not a quality signal.

Testing and test automation are two different jobs

A tester and a test automation engineer bring different skill sets, and treating them as interchangeable weakens both. The automation specialist translates requirements into automated test cases. The tester looks at the product critically, explores it, learns from what the product does, and tries to poke holes in it.

Automated tests rarely find defects. People are pleased when an automated test passes, and when it fails, they inspect the test rather than the product. A human tester works from experience, common sense, and a habit of asking uncomfortable questions. No tool reproduces that.

You can train a tester to automate, but then you lose the value of their exploratory instinct. You can ask an automation engineer to test, but that is not their strength. In a healthy team, both roles respect each other, communicate clearly, and agree on where the risks and priorities sit.

AspectTest automation engineerTester
Core taskTranslate requirements into automated casesExplore the product critically
StrengthRepetition, coverage of known pathsFinding defects, asking questions
Relationship to failureA red pipeline signals a problem to fixA defect is the goal of the work
What they lose if forced into the other roleStructured critical explorationExperience-driven poking at the product

Automation done after the iteration loses its purpose

Many teams that call themselves agile push test automation to the end, after the iteration, and that timing drains its value. The product owner wants features in production fast. Automation inside the sprint feels like it slows delivery, so it gets deferred to a separate team later.

By then the priorities have shifted and the original context is gone. The late automation team tends to grab whatever is easy: stable locators, stable code, low-friction cases. Risk, opportunity, and repetition drop out of the decision, because nobody guides the work toward what matters.

The fix is not more automation, it is automation aimed at the right targets at the right time. Automate the repetitive, high-value, high-risk paths where running the same test a hundred times across user profiles and contract types earns its keep. That decision needs someone who understands the risk landscape, not just the tooling.

Quality is built by the whole team, not handed to a tester

Shared responsibility for quality beats parking it with one person. The problem with a dedicated tester in the team is that everyone else can then assume quality is covered and stop caring. Michaël prefers the move from “quality assurance” to quality engineering, where the team owns quality together.

Developers can play a real part here. Test-driven, behavior-driven, and acceptance-driven development all fit this model, using tools like Gherkin, Cucumber, Robot Framework, or Reqnroll. A junior developer who translates manual test cases into automated ones gets familiar with the code, the database connections, and the configuration along the way.

The natural motivations differ, and that matters. Developers like to build; they do not enjoy fixing defects. Testers like to break things. Forcing a tester to write automated test cases feels unnatural, which is another argument for spreading the work across roles that fit it.

AI ships poor quality faster

Speed without control is the core risk in AI-assisted testing. Michaël sees plenty of flaky tests produced by AI. Flakiness itself is nothing new, human or machine. The deeper problem is quality that looks plausible and cool until you dig in and find it is only about ninety percent right.

A human tester does not invent an incorrect test case just to reach full coverage. AI does exactly that, because you asked for 100% and it delivers a number. Large language models produce the most probable token sequence. They have no reasoning, no opinions, no rationale. They are language models, and treating them as coding or automation engines invites trouble.

Michaël calls the fully chained version “DevOps diarrhea”: an agent turns a customer question into a user story, another writes acceptance criteria, another writes the code, another the unit tests, another the system tests, another the release notes. It moves fast and the quality is poor. For some businesses that is acceptable, if a reported defect can be fixed in three minutes. For most, it is not.

“AI is 90% correct, 91% correct, but if I’m a tester and I write test cases, I’m not going to invent incorrect test case just to have 100% coverage. That is exactly what AI does.” — Michaël Pilaeten

The junior gap: who becomes the next senior?

Replacing entry-level work with AI removes the path that produces experienced people. Reviewing someone else’s code or test cases is tedious; after about an hour, focus collapses. So review lands on senior people, and juniors are not trusted with it.

That creates a gap. Juniors used to learn by doing the work that AI now generates. If a whole generation of junior testers, developers, and analysts is replaced by AI, and only the experienced people are left to check the machine’s output, the supply of new experienced people dries up.

Keeping a human in the loop is not nostalgia. It is how skill gets built and how quality stays under human judgment rather than under a probability model.

Fix the foundation before you point AI at it

AI amplifies whatever process it runs on, so a weak foundation produces weak results faster. Test automation without AI already struggles when processes, strategy, and context are unclear. Feed that mess into AI and you ship the same problems at higher speed.

Just because you can generate test cases faster does not mean you should. A stable code base and a process that genuinely embraces automation come first. The German autobahn makes the point: you can drive as fast as you want in some places, but conditions decide whether you should.

So take a step back before scaling up. Map where your test levels overlap, use something like SonarQube to see which functions are tested and which are not, decide what to shift left, and write a real automation policy and strategy. Only then ask where AI can raise efficiency. The panic buying of licenses runs the opposite way, and Michaël warns that the free or near-free access now builds dependence before the token bill arrives.

How a single tester can push for a step back

Your approach depends on your audience: peers or management. Within the practitioner community, share both failures and successes. Say plainly, “we tried this differently, it ran faster and cleaner, you might like it.” That turns colleagues into ambassadors. The obstacle is that many people in IT are introverts who dislike bragging or sharing, so it helps to set an informal scene, a fireside chat rather than a formal report.

Convincing a manager needs a different language. Managers usually do not understand testing, and they rarely have quality on their radar. They think in scope, cost, and timing. Reports about code coverage or requirements coverage mean nothing to them.

Speak in risk and customer value instead. Frame an initiative as shipping features to customers faster with fewer production incidents, because incidents are something managers have already had to clean up. Talk about defects and test cases, and you disappear into noise. Talk about business risk, and you are heard.

Frequently Asked Questions

Why does a testing strategy that works in one company fail in another?

Context decides: the organization, the customer, the software, and the value streams behind it. A gaming studio lives with different expectations than a bank. One badly broken game release loses players who never come back, while in banking functionality outweighs polish. Some customers expect very high uptime, others put security first. Without a clear picture of your product and customer portfolio, testing decisions have no basis.

Is it worth writing unit tests to full coverage for old, stable code?

Often not. In one company with more than six million lines of code, much of it monolithic COBOL, the code was stable and caused no production issues, yet the assignment was 100% unit coverage before a later refactoring. Even with AI drafting tests, someone must verify each case, and every commit would then trigger two hours of test runs. Coverage is a means, not a target.

Can a green test pipeline hide real defects?

Yes. A self-healing agent kept a pipeline green by stripping the asserts out of validated test cases, so the tests passed because they no longer checked anything. Green dashboards get ignored, since testers spend their days fighting visible fires. When tooling is allowed to fix the test instead of the code, the safety net quietly develops holes.

Should the same person handle exploratory testing and test automation?

Better not. An automation engineer translates requirements into repeatable cases; a tester explores the product, asks uncomfortable questions, and tries to poke holes in it. Automated tests confirm known behavior and rarely find new defects, and when one fails, people inspect the test rather than the product. Train a tester to automate and you lose the exploratory instinct that made them valuable.

What happens when test automation is postponed until after the iteration?

It loses its purpose. By the time a separate team picks the work up, priorities have shifted and the original context is gone. That team tends to grab whatever is easy: stable locators, stable code, low-friction cases. Risk, opportunity, and repetition drop out of the decision. Automation earns its keep on repetitive, high-risk paths, such as the same test across many user profiles and contract types.

How reliable are AI-generated test cases?

They look plausible and cool until you dig in and find they are only about ninety percent right. Asked for 100% coverage, a model invents scenarios to hit the number; a human tester would not write an incorrect case just to reach a target. Large language models produce the most probable token sequence, with no reasoning and no rationale, so flaky tests and fast-shipped poor quality follow.

What are the long-term costs of replacing junior testers and developers with AI?

The learning path disappears. Juniors used to gain experience by doing exactly the work AI now generates, for example turning manual test cases into automated ones and getting familiar with the code, the database connections, and the configuration. Reviewing someone else’s output is tedious and focus collapses after about an hour, so it lands on seniors. With no juniors doing the work, no new seniors grow.

How do you convince management to invest in test quality?

Speak in risk and customer value. Managers think in scope, cost, and timing, and reports about code coverage or requirements coverage mean nothing to them. Frame the initiative as shipping features to customers faster with fewer production incidents, because incidents are something they have already had to clean up. Talk about defects and test cases, and you disappear into noise.

Share this page