Case studies

Case study · experiment

Claude Code alone or with an independent tester: the same quality, and where the money went

One feature ticket, built three times by Claude Code testing its own work and three times by Claude Code with OneDroid Argus as the tester, then judged on checks neither setup had seen.

Case study. Runs of 16 October 2026. An experiment by our team, 3 judged runs per setup.

For leaders, in three lines

  • On one feature ticket, Claude Code working alone and Claude Code with OneDroid Argus as an independent tester delivered the same quality: every run passed all 13 hidden checks.
  • With the tester, the coding agent cost half as much ($1.01 against $1.97 a run), because it stopped testing its own work. Counting the tester's one-off session, the whole cost was 41% higher ($2.78 against $1.97).
  • The ticket was too easy to separate the two on quality, and there were 3 runs per setup. A harder ticket is the next test.

The business view, in plain language

In short

  • Our team gave Claude Code the same feature ticket in two setups: alone, testing its own work as it normally would, and with a tester, implementing only while OneDroid Argus ran checks it never saw.
  • Both setups were then judged on 13 hidden checks that neither had seen, not even by name: all 6 runs passed all 13.
  • With the tester, the coding agent ran its own tests 0.7 times a run instead of 3, used 69% fewer tokens and cost 49% less ($1.01 against $1.97).
  • The tester's one-off session, spread over its three runs, brought the whole to $2.78 a run: 41% more than Claude Code alone.
  • One ticket, 3 judged runs per setup, and a ticket too easy to separate quality. The limits are listed below.

The question

A coding agent that writes its own tests spends tokens checking itself, and its tests share its own reading of the ticket. An independent tester costs money too. On the same codebase and the same ticket, does Claude Code with an independent tester cost less, and deliver more, than Claude Code testing itself?

The setup

ItemValue
The codebaseA small tasks app with a JSON API and a web page. Due dates, priority and search were already live and had to keep working.
The ticketOne feature: tags on tasks, with validation rules, adding and removing one tag, filtering by tag, a tag list with counts, and chips on the web page. The same text for both setups, word for word.
The modelClaude Code on Claude Opus 5.5, high effort. The same start commit, permission mode and "do not commit" for both setups.
Setup A: aloneClaude Code working as it normally would. It may write and run tests and use subagents.
Setup B: with a testerClaude Code implementing only: no test suite, no review or test subagents. OneDroid Argus then ran the build checks, and the coding agent got back only the names of the checks that failed, for up to 4 rounds. The build checks ran together with 37 older checks of the same app, as regression checks.
Who wrote the checksA separate tester session wrote the build checks and the hidden checks before any build. The coding agent never saw a check body or an expected value.
The judge13 hidden checks, stored in OneDroid Argus only after the last run, so neither setup saw them, not even as names. The 12 build checks were also run on every setup at the end.
Runs3 judged runs per setup, in random order, on 16 October 2026. A fourth run of setup A was not judged and is left out of every figure here.
CostList prices for Claude Opus 5.5: $4 input and $20 output per million tokens, $0.20 cache read, $5 cache write, $8 for a one-hour cache write.

The result

Mean per runA: aloneB: with a tester
Hidden checks passed13 of 13 in every run13 of 13 in every run
Build checks passed12 of 1212 of 12
Tester roundsnone1 in every run: it passed first time
The coding agent's own test runs30.7
The coding agent's tokens2.37 million0.72 million (−69%)
The coding agent's cost$1.97$1.01 (−49%)
The whole cost, the tester's session included$1.97$2.78 (+41%)
Wall timenot comparednot compared: the tester runs include waiting for human approvals
Chart: the coding agent's cost per run, $1.97 alone and $1.01 with the tester (−49%); the whole cost, $1.97 alone and $2.78 with the tester (+41%).
The same numbers as a chart. Means of the 3 judged runs per setup, at list prices.

The tester's session wrote both sets of checks once and cost about $5.30. It is split evenly over the three B runs, which adds about $1.77 to each.

What the numbers say

  • Quality was a tie. Both setups hit 13 of 13, so this ticket cannot show whether an independent tester improves quality. It was too easy for that.
  • The coding agent got cheaper because it stopped checking itself. It ran its own tests 0.7 times a run instead of 3 and used 69% fewer tokens. Every B run passed the tester in its first round.
  • On one feature, the tester's one-off cost outweighed that saving. The tester is paid once per feature, and its checks stay as regression checks for the next change: setup B already ran 37 older checks of the same app that way. Whether that pays back over several features was not measured here.

What this experiment did not cover

Not coveredWhy it matters
A ticket hard enough to separate qualityBoth setups passed every hidden check, so the result says nothing about which one builds better.
More than 3 runs per setupThe figures are means of 3 runs, not a distribution.
Wall timeTimes aren't comparable: the tester runs include waiting for human approvals.
Identical wrappersSetup B ran inside an agent runner with its own fences. Setup A ran plain Claude Code with an allow-list: the honest default, but not the same.
Equal feedbackSetup B also got regression feedback from the 37 older checks. Setup A had only the repository's own tests.
Several featuresThe tester's cost was spread over one feature. Reuse of its checks across features was not measured.

What we take from it

  • On an easy ticket, an independent tester buys no extra quality and costs more in total. Its value has to show on harder work, and over several features.
  • Moving the testing out of the coding agent made the coding agent cheaper. Whether the whole gets cheaper depends on how often the tester's checks are reused.
  • Next: the same comparison on a ticket hard enough that the first build fails some checks.

Claude and Claude Code are products of Anthropic, named only to identify what was used. OneDroid is not affiliated with Anthropic. OneDroid Argus is built by Providentia Worldwide. Questions: michal@onedroid.ai.

How OneDroid Argus keeps the checks away from the builder