
In short
During a single month, the engineering team used about 3 billion tokens, shipped 86 commits across 30 releases, and added a repeatable agent-based end-to-end verification step before releases. Agents generated and executed flows, captured diagnostic artifacts, and proposed patches, while engineers retained final review and merge authority.
We used about 3 billion tokens in a single month across Claude Opus and GPT Codex runs. A few more stats from the same sprint:
- 86 commits
- 30 releases (v0.0.26 to v0.0.55)
- Net +122,000 lines of code
The output numbers are interesting, but the real story is process maturity. We moved from "ship fast and test later" to a repeatable engineering loop where every meaningful feature goes through an agent based end to end verification step before release.
What changed in testing
We stopped thinking only in terms of "write unit tests" and started running true end to end tests with Codex models: real flows, real clicks, and realistic data states.
Instead of manually writing dozens of brittle browser scripts first, we describe product intent and acceptance criteria, then let agents generate and execute flow coverage, report failures with traces, and propose patches. Engineers keep the final review and merge authority.
Our practical end to end testing loop
- Define the scenario: what the user is trying to do, what success looks like, and key limits like privacy and latency.
- Generate test flows: the agent creates both normal flows and tricky edge cases, using recent bugs as input.
- Run on staging: execute tests in an environment that looks like production, with realistic seeded data.
- Capture failures clearly: save screenshots, logs, network calls, and a step by step reproduction path.
- Suggest fixes: the agent proposes patches, and engineers pick and validate the final version.
- Lock in the lesson: each new bug becomes a permanent regression test.
This cut "cannot reproduce" back and forth. Every failed flow came with enough context to debug quickly, not just a red status.
Where this is technically better than unit test only strategy
- Bugs across boundaries: catches issues spanning user interface state, application programming interface contracts, authentication, and asynchronous jobs.
- Product interaction: validates model behavior under actual app state, not isolated prompt tests.
- Data realism: surfaces edge cases from messy datasets, stale cache states, and inconsistent user inputs.
- Release confidence: verifies workflows the same way users actually experience them.
Unit tests still matter for pure logic, deterministic transformations, and critical business rules. But for agentic products, relying on unit tests alone gives a false sense of safety because many production failures happen in integration boundaries.
What made the system stable
- Deterministic fixtures: each test run starts from a known baseline state.
- Environment parity: staging includes the same critical services and feature flags as production.
- Structured artifacts: every failure stores trace IDs, snapshots, and repro summaries for fast debugging.
- Budget controls: token quotas per suite prevent runaway cost while preserving high quality coverage.
- Regression memory: once a bug appears, it becomes part of the permanent flow library.
One practical suggestion
If you have not tried it yet, buy Claude Code Max (or a couple of max plans) and spend one week building with no limits.
Let the agent do the boring parts: scaffolding, test generation, flow execution, and obvious fix proposals. Keep humans on product decisions, architecture, risk review, and final merge responsibility.
The net result is not just more code shipped. It is a tighter feedback loop between product intent, real world behavior, and release quality.
Frequently asked questions
- How can AI agents support end-to-end software testing?
- AI agents can turn product intent and acceptance criteria into normal flows and difficult edge cases. They can execute those flows on staging with realistic seeded data, capture screenshots, logs, network calls, traces, and reproduction steps, then propose patches. Engineers remain responsible for reviewing, validating, and merging the final changes.
- Why are unit tests alone insufficient for agentic products?
- Unit tests remain useful for pure logic, deterministic transformations, and critical business rules. They do not fully exercise failures that emerge across user interface state, API contracts, authentication, asynchronous jobs, model behaviour, caches, and inconsistent inputs. End-to-end tests complement them by checking complete workflows under realistic application states and data conditions.
- What makes an agent-based end-to-end testing process reliable?
- The described process relies on deterministic fixtures, a staging environment containing the same critical services and feature flags as production, and structured failure artifacts. Token quotas control suite costs. Each discovered bug becomes a permanent regression test, while engineers retain responsibility for product decisions, architecture, risk review, patch validation, and final merges.
- What evidence should an end-to-end test capture when it fails?
- A failed flow should preserve enough context to reproduce and diagnose the problem. The process captures screenshots, logs, network calls, trace IDs, snapshots, and a step-by-step reproduction path. This evidence helps engineers investigate the actual application state instead of receiving only a failed status with no explanation of what occurred.
Sources
- Trace Viewer · Microsoft Playwright
- Set up Claude Code · Anthropic
About the author
Founder & CEO at HoverBot
Founder of HoverBot, where he leads product strategy and applied AI architecture, and CTO and co-founder of WTFox.ai, a separate company. Nineteen years in software engineering, most recently as Software Architect at Mercer, where he shipped HR chatbots and OCR claims processing on Azure AI, and as tech lead at Darwin and Technosoft SEA, after engineering roles at Sberbank, Veon, and Softline. Hands-on with architecture decisions, deployment operations, and benchmark-driven quality optimization. Based in Singapore.
- 19 years of software engineering, architecture, and engineering leadership
- Founder of two separate AI startups: HoverBot and WTFox.ai
- Applied AI: conversational systems, RAG pipelines, agentic workflows, and safety controls
- Enterprise AI delivery: HR chatbots and OCR claims processing on Azure AI at Mercer
- Led engineering teams of 10+ as tech lead and software architect
- Cross-industry: enterprise HR and benefits, banking, telecom, automotive, e-commerce and marketplaces
- Writes on AI chatbot architecture, agentic systems, and deployment patterns at vitaliks.me


