April 1, 2026

Your QA Agent Finds the Bug You Won't Test For.

Developers test the happy path. QA tests the path nobody imagined.


You built a file upload feature. It works great — you tested it with a 2MB PDF and a 5MB image. It shipped. Then a user uploads a 0-byte file and gets a server error. Another uploads a filename with special characters and it corrupts the database entry. A third loses network mid-upload and the app just freezes, no error message, no retry button. Three bugs, none of which you tested for, all of which erode user trust.

The QA subagent assumes everything is broken until proven otherwise. The happy path is the least interesting path — bugs hide in the edges.

A Taxonomy of Things That Break

The QA agent carries a mental encyclopedia of edge cases organized by category.

Boundary conditions are the most common source of bugs: null values, empty strings, empty arrays, a list with exactly one item, the maximum allowed length, zero, negative numbers, emoji in text fields, right-to-left text, and floating point precision (0.1 + 0.2 does not equal 0.3 in most programming languages — try it). If your code doesn't explicitly handle these, the QA agent will ask what happens when a user triggers them.

State transitions catch the bugs that only appear in motion: What happens if the user double-clicks the submit button? Closes the tab while saving? Loses their internet connection mid-upload? Hits the back button during a form submission? What about stale state — another user changed the data while you were looking at it. Does your app handle that, or does it silently overwrite their changes?

Data integrity questions go deeper: Delete a parent record — what happens to its children? Add an item while someone is paginating through a list — do they see duplicates, or miss entries? Combine multiple search filters — does the AND/OR logic actually hold up?

Testing Strategy

The QA agent thinks in a test pyramid. Many fast unit tests for pure logic. Some integration tests for API endpoints and database queries. A few slow end-to-end tests for critical user journeys (login, core action, verify outcome). Visual regression screenshots to catch CSS drift. Inverting this pyramid — lots of E2E tests, few unit tests — makes your test suite slow and fragile.

Every test should be deterministic: if it fails, you know what broke. Flaky tests that sometimes pass and sometimes fail are worse than no tests, because they train the team to ignore failures.

Bug Reports That Actually Help

Every finding follows a strict format: summary (one sentence), exact reproduction steps (numbered, from a clean state), expected behavior, actual behavior, and severity. Severity has a fixed priority: data loss and security issues are critical, broken features are high, degraded user experience is medium, cosmetic issues are low.

The QA agent also checks performance (page load under 3 seconds on a slow connection, interactions responding within 100ms) and accessibility (keyboard-only navigation, screen reader compatibility, zoom to 200% without broken layout, color contrast meeting WCAG standards).


The most expensive bugs aren't the hardest to fix. They're the ones nobody thought to look for.