Skip to content
New · Chrome extension

I'm your entire QA team.

I map your web app, write the flows, test every pull request and file the bugs I find, with screenshots and steps to reproduce.

claude mcp add --transport http outqube https://mcp.outqube.com
app.outqube.com/runs/1284
Regression · staging
Running
RunningCheckout with promo coderun 1,284 · chrome · staging
  1. Open /pricing · staging.acme.dev
  2. Choose Pro plan
  3. Sign in as trial user · 2FA by SMS
  4. Apply promo SPRING20
  5. Reload checkout
  6. Total keeps the discount
  7. Pay with test card
Works with the tools you already use
ClaudeChatGPTCodexCursorVS CodeGemini CLIZedClineChrome
GitHubGitLab CIAzure PipelinesBitbucket PipelinesCircleCIJenkinsSlackZapierMaken8nAPI + webhooks
Benchmark

I caught 92% of the bugs planted in 9 real apps.

196 long tests on Outqube Bench v3, run on Claude Sonnet 5.5, the same model Claude in Chrome uses. Here is how I'm tested, how I scored and how I compare.

01 · The test

Every test runs twice. Only one run has a bug.

A long journey through a real app, with a check at every step. The clean run must pass. In the other, one subtle bug is switched on at the server, and I must fail at the right step. I'm never told which run I'm in.

  • 196long tests, each run clean and with a planted bug: 392 runs.
  • 9real apps on their own servers: GitLab, Odoo, SuiteCRM, WooCommerce, Nextcloud, Metabase, Redmine, a Blazor app and FieldOps.
  • 12 to 16steps per test, with a concrete check at every step.
  • step 7is where the bug shows, at the median. Never before step 5, never a crash page.
  • 3judges (Claude Haiku 5.5) read my report. The majority decides if it names the planted bug.
One test · 12 steps · a check at every step

Clean run: all 12 checks pass, so the verdict is passed. Bug planted: checks 1 to 6 pass and check 7 fails, so the verdict is failed at step 7. My report says: Step 7: the total is off by one line's tax. 3 judges agree it names the planted bug: caught.

Every test was proven by a Playwright script first. I get the test, a start URL and a login, never the bug. Claude Sonnet 5.5 with Haiku 5.5 as a helper, in Chromium at 1440×900, cold, one attempt each. These 9 apps are the ones I was tuned on. Three held-out apps are on the bench but have no long tests yet.

02 · The results

Caught, and for the right reason.

A catch only counts when my own report names the planted bug. Each square below is one run.

0%
of planted bugs caught178 of 194 bugged runs
0%
caught for the right reason178 of 183 bugged runs I failed
0%
right verdicts overall342 of 388 runs
0%
false alarms on clean runs26 of 194 clean runs

Runs with a planted bug

194 runs
  • Caught178
  • Wrong reason5
  • Missed9
  • Gave up2

Clean runs

194 runs
  • Passed164
  • False alarm26
  • Gave up4
  • 0unusable model replies in 11,501 calls
  • 0.5%infra errors (2 of 392)
  • 1.5%gave up (6 of 388)
  • 0.5%of tokens are screenshots: I read the page as text
03 · Against Claude in Chrome

Same model, built for testing.

Claude in Chrome runs on Sonnet 5.5 too. I read the page as text, batch my actions and keep each call small, so a test takes fewer calls and far fewer tokens.

OutqubemeasuredClaude + Claude in Chromeestimateboth on Claude Sonnet 5.5
  • Planted bugs caughthigher is better
    Outqube: 92%178 of 194
    Claude + Claude in Chrome: [N]%not measured yet
  • Time per testlower is better2.3× faster
    Outqube: 3.9 minmedian, p90 6.7
    Claude + Claude in Chrome: ~9 minest. (estimate)
  • Model cost per testlower is better2.3× cheaper
    Outqube: $0.60mean, median $0.54
    Claude + Claude in Chrome: ~$1.40est. (estimate)
  • Tokens per testlower is better5.6× fewer
    Outqube: 0.5Mmean 503k
    Claude + Claude in Chrome: ~2.8Mest. (estimate)
  • Model calls per testlower is better1.9× fewer
    Outqube: 29median, 45 actions
    Claude + Claude in Chrome: ~55est. (estimate)
  • All 392 tests, end to endlower is better6.0× sooner
    Outqube: 9.9 h4 at a time
    Claude + Claude in Chrome: ~59 hest.one after another (estimate)

Claude + Claude in Chrome figures are estimates, not measurements: estimated from my measured 45 browser actions per test, about one action per call, a conversation that keeps every screenshot in context, and Sonnet 5.5 list prices. Ratios compare my measured figures with those estimates.

Every number, and how the estimates were made
MetricOutqube, measuredClaude + Claude in Chrome, estimateEstimate rangeHow the estimate was made
Planted bugs caughtShare of bugged runs where the report names the planted bug.92%178 of 194[N]%not measured yetnoneNot estimated. It needs a run on the same bench (a 40-pair subset is about $110).
Time per testMedian wall time of one run, start to verdict.3.9 minmedian, p90 6.7~9 min6 to 14 min55 calls at 6 to 10 s each (larger contexts), plus 1 to 2 min of extension actions and screenshots.
Model cost per testMean model cost at API list price, not an invoice.$0.60mean, median $0.54~$1.40$0.80 to $3.002.8M tokens at Sonnet 5.5 list price, about 90% read from cache, plus output tokens.
Tokens per testPrompt and output tokens the model reads and writes.0.5Mmean 503k~2.8M1.6M to 5.6M55 calls at about 50k prompt tokens each: the whole conversation and its screenshots stay in context.
Model calls per testRound trips to the model for one test.29median, 45 actions~5545 to 70The same 45 browser actions at about one per call, plus screenshot or page reads to verify.
All 392 tests, end to endWall clock for the whole eval.9.9 h4 at a time~59 hone after another39 to 91 hOne Chrome profile runs one test at a time: 392 tests at about 9 min each.
Cost per bug caught$1.32clean runs includednot estimatednoneMeasured only.
Cost of the whole eval$234.69392 resultsnot estimatednoneMeasured only.
First result4.7 minafter the eval startednot estimatednoneMeasured only.
Precision85%178 of 209 failed verdicts named a real bugnot estimatednoneMeasured only.

Eval run 2026-10-28-102145-bench3-baseline, 28 Oct 2026. One attempt per test, so rates can move 3 to 5 points either way. Dollar figures are model cost at API list price, not an invoice. Suite: Outqube Bench v3, 196 tests. Full report: [link]

How it works

What I do, start to finish.

01 · MapMap
I click through your whole app and draw the map: every page, form and flow.
No setup. Point me at a URL.
# checkout with promo1. Open /pricing and choose Pro2. Sign in as the trial user3. Apply SPRING20, then reload4. Expect the total to keep −20%
02 · FlowsWrite flows
I write the flows in plain English you can edit.
#482 · Add promo codes to checkoutrunning…
outqube / PR checks
login · 2fa
·search · filters
·checkout · promo after reload
·settings · billing
Merge blocked. Checkout drops the promo after a reload. Steps, screenshots and logs are in run 1,284.
03 · PRTest every PR
I test every pull request before it merges.
BUG-214·filed by Outqube
Checkout ignores the promo after a page reload
HighstagingChrome 1311440×900
Steps to reproduce
  1. Sign in as a Pro trial user
  2. Add Pro plan to cart
  3. Apply promo SPRING20
  4. Reload the checkout page
ExpectedTotal stays €39.20
ActualTotal resets to €49.00
3 screenshots · console log · HAR
04 · BugFile the bug
I file the bug with steps, screenshots and logs.
01 · Idle

I start in the box, like every tool.

Point me at a URL. That's the whole setup.

02 · Map

I take your app apart, page by page.

Every route, form and flow: found, named and connected.

03 · Run

I test every layer on every change.

Every layer I pass lights up. That means I actually tried it.

04 · Bug

I pull out the one thing that's broken.

With steps, screenshots, console and network logs.

05 · Out

Then I get out of the box.

Into your PRs, your nightly runs, your chat.

Surfaces

Wherever your team works, I'm there.

One engine, four ways in. Testers, developers and coding agents all see the same runs and the same results.

Dashboard · for QA teams

Watch every run, step by step.

RunningCheckout with promo coderun 1,284
  1. Choose Pro plan
  2. Sign in as trial user · 2FA by SMS
  3. Apply promo SPRING20
  4. Reload checkout
  5. Total keeps the discount

Every step, with screenshots and logs.

Open the dashboard
Chrome extension · for testers

Show me a flow once, I replay it forever.

Side panel
Recording · 0 steps
skill · Sign in

Record it once as a skill. I replay it and adapt when the page changes.

Get the extension
Pull requests · for developers

Nothing merges untested.

#482 · Add promo codesrunning…
outqube / PR checks
login · 2fa
·search · filters
·checkout · promo after reload
·settings · billing
Failed at step 4: the total ignored the promo after a reload. Steps, screenshots and logs are in the run.

A check on every pull request. Make it required and a failed test blocks the merge.

How the check works
Claude, ChatGPT, Codex · via MCP

Ask me what broke and why.

Why did last night's run fail?
Ask Outqube…

Sign in with Outqube from Claude, ChatGPT or Codex.

Connect your chat
Pricing

Pay for the testing I do.

Free

Try it on one app

$0/mo
100 test runs a month
Get started

Standard

One product, tested on every PR

$49/mo$39/mo, billed yearly
500 test runs a month
Get started

Team

Many apps, running nonstop

$399/mo$319/mo, billed yearly
6,000 test runs a month
Get started

Enterprise

Built around how you test

From $1,500/moBilled yearly
From 20,000 test runs a month
Contact us

On every plan I run the full test loop, and you can bring your own AI model.

Compare all plans
FAQ

Questions buyers ask me.

Something else? Email hello@outqube.com.

No. Point me at a URL and I map the app and propose flows. You approve, edit or add your own in plain English.

Yes. Free includes 100 test runs a month for one app, with pull requests tested on one GitHub repo.

Yes, on every plan. Use your own AI from Claude, OpenAI, OpenRouter or GitHub Copilot, or run on your Claude subscription.

You give me test credentials for your app. I handle the sign-in flow, including SMS two-factor codes, which I receive on a number set up for that login.

Chromium, plus WebKit for iPhone and iPad emulation. Testing on real devices is not available yet.

Hosting region, retention and deletion: [to confirm]. If you need the details before you sign up, email hello@outqube.com.

Create a free account and point me at your staging URL. To use me from Claude, ChatGPT or Codex, add the connector at mcp.outqube.com and sign in with Outqube. For CI, use the CLI or the API with an API key.

Point me at your app.

Give me a URL. I'll map your app, propose the flows and start testing.