goGreenlit
Back to the blog
QA Strategy

QA Strategy for AI-Generated Code

Mohammad Khan · August 23, 2026 · 6 min read

A meaningful share of the code shipping in any fast-moving startup today was drafted by an AI assistant, not typed line by line by an engineer. That is not a reason to panic and it is not a reason to relax either. It is a reason to look honestly at what changes in a QA process built for a slower era, and what does not change at all.

Does AI-generated code need a different QA strategy?

AI-generated code does not need a different testing philosophy. It needs the same risk-based approach applied to a much higher volume of change, with extra scrutiny on the code nobody on the team actually read line by line before it merged. The risk model stays the same. The volume moving through it does not.

Why volume is the real problem, not the AI itself

An engineer with an AI assistant can draft a full feature in an afternoon that used to take two days. That is a genuine productivity gain, and it is also a genuine testing problem, since the team's capacity to review and test code has not grown at the same rate as its capacity to produce it. A QA process sized for the old volume of change quietly falls behind, and the gap does not show up as a dramatic incident right away. It shows up as a widening list of things nobody actually verified.

Where AI-generated code fails differently

Human-written bugs tend to fail loudly, a missing null check, a typo in a conditional. AI-generated code fails more quietly, since it is optimized to look plausible, not to be correct, and a reviewer skimming code that reads well is more likely to approve it without tracing the actual logic.

  • Code that looks idiomatic and well structured while quietly handling an edge case wrong, since the model optimized for how the code reads, not for what it does under an input nobody tested
  • Tests generated by the same model that wrote the code, which pass because they encode the same misunderstanding rather than catching it
  • Security and authorization assumptions baked in by a model that has no real knowledge of your product's actual permission model
  • Dependencies or patterns pulled in that were common in the model's training data but are not what your team actually standardized on

The pattern-matching trap in AI-generated tests

This is the part a generic AI adoption checklist tends to skip. When the same model writes both a feature and its own test coverage, a bug born from the model misunderstanding a requirement gets encoded into the test as well as the code, and the test passes for the wrong reason. A green suite in that situation is not evidence the feature works, it is evidence that the code and the test agree with each other, which is a different and much weaker claim. Any AI-generated test suite needs a human to independently verify what it is actually asserting, not just that it passes.

Signs your QA process has not caught up

  • Pull requests are merging faster than the team's manual testing capacity can keep pace with
  • Nobody can say what percentage of this week's AI-assisted commits actually got a human trace through the logic, not just a skim
  • Bugs are turning up in code that technically has passing tests attached to it
  • The team has started trusting a green build more than it trusts its own read of the diff

What actually changes in the QA process

Review the tests as carefully as the code

A pull request that includes AI-generated tests alongside AI-generated code needs a reviewer who reads the test assertions, not just the diff summary. A passing suite generated by the same tool that wrote the feature is not independent verification, and treating it as such is one of the most common ways a real defect slips through review.

Weight risk by how much a human actually reviewed

Not all AI-assisted code carries the same risk. A small, fully reviewed change and a large feature merged after a quick skim are not the same risk level even if both were written with the same tool. Track how thoroughly a change was actually reviewed, not just whether it passed CI, and weight manual testing toward the changes that got the least human attention on the way in.

Exploratory testing matters more, not less

It is tempting to assume AI-assisted development reduces the need for manual testing, since more of the routine work is automated. The opposite is closer to true. A human exploring the product in real time is the check that catches the plausible-looking bug an automated suite, generated by the same class of tool that wrote the bug, was never going to flag.

What stays exactly the same

Risk-based prioritization, sign-off criteria before release, and a process that weights coverage toward what would actually hurt the business are not new ideas AI made necessary. They are the same fundamentals any QA strategy needs, applied to a faster-moving codebase. Teams that already had a real process before AI-assisted development became common are adapting faster than teams trying to build a process and absorb a new volume of change at the same time. The pattern recognition that comes from 18+ years of combined QA experience across teams at every stage of this shift is what tells you which fundamentals actually need to flex and which ones do not move, no matter how the code got written.

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.