goGreenlit
Back to the blog
Testing Practices

How to QA an AI Testing Agent's Own Work

Mohammad Khan · August 31, 2026 · 8 min read

Co-founder and Lead Automation QA Engineer at GoGreenlit, builds Playwright and Selenium suites that run inside the CI pipeline.

Most conversations about AI and testing focus on one side of the relationship: how AI helps test a product faster. The less-asked question is what checks the AI itself when the AI is the one doing the testing, deciding what to cover, running it, and reporting back a result a team then trusts by default. Somebody still has to test the tester.

How do you actually QA an AI testing agent's own work?

QA an AI testing agent's own work by regularly sampling and independently verifying three specific things it produces: what it chose to cover, the root-cause hypotheses it proposes for failures, and the coverage claims it reports. None of these can be verified by reading the agent's own summary of itself, since that summary is exactly the output being checked. Verification has to come from a separate look at the actual underlying change and the actual underlying result.

Why this is a different problem than testing an AI-powered feature

Testing AI features means validating a product capability, a chatbot response, a recommendation, an AI-generated summary, that your team built and shipped. Testing an AI testing agent means validating the QA process itself, the layer that is supposed to be catching problems in everything else. A defect in an AI-powered feature reaches a user. A blind spot in an AI testing agent reaches every feature that agent was responsible for checking, silently, since nothing else is positioned to catch what it missed.

What testing the tester actually means in practice

It does not mean re-running every test the agent ran and comparing results, that defeats the purpose of delegating execution in the first place. It means sampling a meaningful subset of the agent's decisions, not its execution, regularly enough to catch a pattern of error before it compounds into a real defect reaching production.

Checking scope decisions: what did it choose to test, and why

Pull a handful of recent changes and ask whether the agent's decision about what needed testing actually matches what a person familiar with the product would have chosen. Agreement most of the time is a good sign. A pattern of disagreement, especially one clustering around a specific type of change, is the early warning a team wants long before that gap causes an incident.

Checking root-cause hypotheses: is the proposed explanation actually correct

An agent that proposes a plausible-sounding explanation for a failure is not the same as one that proposes a correct explanation. Verifying a sample of these hypotheses against what actually caused the failure, not just accepting the narrative because it reads coherently, is the single highest-leverage check in this whole routine, since a wrong hypothesis sends whoever acts on it chasing the wrong fix.

Checking coverage claims: does the reported number mean what it claims to mean

A coverage percentage is only as honest as what it is actually measuring. An agent reporting high coverage against a shallow definition, execution reached this line, rather than a meaningful one, this critical path was actually verified, is not lying, but it is reporting something less useful than the number suggests. Spot-checking what a reported coverage number is actually measuring keeps a team from mistaking a large number for a good one.

A worked example: catching a testing agent's blind spot

A team running an agentic testing system samples its scope decisions monthly. Three months in, the sample turns up a pattern: every change touching the product's newly added multi-currency support got noticeably thinner coverage than changes of similar size elsewhere. Investigating why, the agent's historical training data simply had almost no prior examples of currency-related changes to learn from, since the feature was new, so its confidence and coverage depth on that specific area was quietly lower than everywhere else, with nothing in its output flagging that gap explicitly.

Nobody would have caught this by reading pass and fail reports, since the agent was not failing, it was under-covering an area it had no track record for and reporting that thin coverage with the same confident tone as everywhere else. The sampling routine is what surfaced it, three months earlier than waiting for an actual currency-handling defect to reach production and force the same investigation under much worse circumstances.

Why a single audit is not enough, even a thorough one

A one-time audit answers the question honestly for the moment it was run. It says nothing about whether the same agent, six months later, has developed a new blind spot as the product grew into territory it has never seen before, the exact shape of the currency example above. Treating validation as a completed project rather than an ongoing property of the process is one of the most common ways a team's confidence in an AI testing agent quietly outruns the agent's actual current reliability, even when that confidence was genuinely earned at the time it was first established.

This mirrors a lesson quality gates for AI-generated code already makes about code review: independence has to be structural and ongoing, not a single checkpoint everyone assumes still holds indefinitely after it was passed once. A testing agent that was trustworthy at adoption is not guaranteed to stay trustworthy as the product it is testing keeps changing shape underneath it.

Building a sampling routine, not a one-time audit

A single audit finds whatever pattern exists at that moment. It does not catch a new blind spot that emerges three months later as the product grows into new territory the agent has no history with, the same way the currency example above only surfaced through a repeated, standing check. This needs to be a real cadence built into QA process design, reviewed on a schedule, not a project completed once when the tool was first adopted and never revisited.

Signs a team has stopped checking the checker

  • Nobody can recall the last time someone manually verified one of the agent's root-cause hypotheses against the actual cause
  • Coverage numbers are reported and trusted without anyone recently checking what they are actually measuring
  • A defect reached production in an area the agent reported as covered, and nobody investigated why the coverage claim did not hold
  • The sampling routine that used to happen regularly has quietly stopped happening since the tool has not caused a visible problem recently

A practical validation checklist

  • Sample scope decisions on a regular cadence, not just once at adoption, and compare against what a person familiar with the product would choose
  • Independently verify a sample of root-cause hypotheses against the actual cause, not just whether the explanation reads plausibly
  • Spot-check what a reported coverage number is actually measuring, not just how large the number is
  • Track patterns in disagreement by area of the product, a cluster is a more useful signal than any single miss
  • Treat a quiet period with no visible problems as a reason to keep sampling, not a reason to stop

An AI testing agent that nobody checks is not actually part of a QA process, it is an assumption the process is quietly resting on. The routine described here is not about distrusting the tooling, it is the same discipline manual and exploratory testing already applies to any automated check: verify what it claims periodically, rather than trusting a green result indefinitely just because it has been green so far. The ROI case for test automation only holds up if the automation is actually doing what it claims, and this routine is how a team keeps that claim honest instead of assumed.

Frequently asked questions

Ready to put this into practice?

Tell us what you're building and where testing is falling through the cracks. We'll scope an engagement in one call.