Testwitness
How it works Examples Pricing FAQ
Sign in Start free

The AI tester
for your app.

Describe what to check in plain words. An AI tester runs it in a real browser or a phone simulator and shows you what it saw, step by step.

No password. The link signs you in, and creates your account if you're new. Free while in beta.

Have a password? Sign in with it instead

By signing in you agree to the terms and the privacy notice.

see how it works
[ the test, as you wrote it ]

Checkout with a promo code

  1. Open the shop and add “Trail Jacket” to the cart.
  2. Go to the cart and enter the code SUMMER10.
  3. The total should drop by 10 %.
[ what the tester saw ]
Failed · cause: the app

The total stayed at 249 kr after the code said “Applied”.

  • 1 Added Trail Jacket to the cart
  • 2 Entered SUMMER10 — “Code applied” appeared
  • 3 Total still 249 kr, expected 224 kr screenshot
web · chromium · 41 sCopy bug report
Free while in beta Bring your own model key Runs on your Mac No selectors, no scripts
[ how it works ]

Write it. Run it. Read what it saw.

No test framework, no recorder, no selectors. The tester reads the screen the way a person does, and tells you what it found the way a person would.

Step 01
test cases · new
Sign up with a used email
1 Open the app and tap Create account.
2 Enter anna@example.com and any password.
3 The app should say the address is already in use.

Write the test like you'd brief a colleague

A title and a few numbered lines: what to do, what should be on screen. Attach a design image to a step when the pixels matter.

Step 02
run 3 tests
WhereYour Mac · iPhone simulator TesterClaudeGPTGemini Paid byYour Anthropic key
Run

Run it on your own Mac

The helper app pairs your Mac with the site and checks the tooling for you. Websites run in Chromium, apps in the iOS Simulator or an Android emulator.

Step 03
run & results · today 14:02
Sign up with a used emailPassed
Checkout with a promo codeFailed · the app
Map shows current positionInconclusive

Read what it saw, step by step

Every step gets a verdict and a screenshot. Failed means the app did something wrong; what the tester couldn't tell is marked inconclusive, with the reason. One click turns a failure into a bug report.

[ examples ]

Catches what a script can't.

A scripted test breaks when a button moves. A tester that reads the screen just finds the button, and notices what's wrong around it.

web · chromiumcheckout-with-promo-code
Failed · cause: the app

The total stayed at 249 kr after the code said “Applied”.

  • 1 Added Trail Jacket to the cart
  • 2 Entered SUMMER10 — “Code applied” appeared
  • 3 Total still 249 kr, expected 224 kr screenshot
41 sCopy bug report
ios · simulatorsign-up-with-used-email
Passed

The app refused the address and said so in plain words.

  • 1 Tapped Create account
  • 2 Entered anna@example.com and a password
  • 3 Saw “This email is already in use”
28 sPassed for 4.2.0
android · emulatormap-shows-current-position
Inconclusive · cause: the environment

The map tiles never loaded on the emulator, so I couldn't judge the position marker.

  • 1 Opened the map tab
  • 2 Waited 30 s for tiles — grey screen flagged
  • 3 Position marker not visible
63 sNot a bug yet
try it on your own app
[ your stack ]

Websites, iPhone apps, Android apps. Your model.

One tester for all three. The helper app on your Mac does the setup; the site keeps the tests and the results.

01

Websites

Runs in a headless Chromium on your Mac. Give it a URL and, when needed, a test account.

02

iPhone apps

A simulator build of your app in the iOS Simulator. Xcode on the Mac; the helper handles the rest.

03

Android apps

An APK on an Android emulator. The helper checks the tooling and shows you what's booted.

04

Your model

An Anthropic, OpenAI or Google Gemini key, stored encrypted. Each test shows what it cost.

[ why it holds up ]

Tests that don't rot.

The things that make scripted UI tests expensive to keep are the things the tester does for you.

01

No selectors to break

The tester reads the screen like a person. A moved button is still the button.

02

It keeps notes

Per project, the tester writes down what it learned — where the cookie dialog hides, which build is on the device — and reads them before the next run.

03

A pass sticks for a version

Passed tests skip reruns until your app's version name changes. Clear a pass whenever you want it rerun.

04

Design checks

Attach a design image to a step. If the live screen drifts from it, the test fails and shows you both.

05

Hints while it runs

Watch a run live. Type a hint — “the menu is behind the avatar” — and the tester takes it mid-test.

06

Bug reports in one click

A failure becomes a bug report with the steps, the screenshot and the cause, ready to paste into Jira or anywhere else.

[ pricing ]

Free, for now.

Every account starts on the free plan. Your model provider bills your key; the site itself costs nothing during the beta.

free plan
$0 per month · beta

Sign in with your email and you're on it. No card, no trial clock.

A paid plan comes later. When the free period ends, your projects, tests and results stay yours to read and edit; only starting new runs will need a plan. The site will say so before it happens.

what's in it
  • Up to 10 runs a day per account
  • Websites, iPhone apps and Android apps
  • As many projects and tests as you like
  • Results, screenshots and transcripts kept in your account
  • Your own Anthropic, OpenAI or Gemini key, encrypted at rest
[ faq ]

Questions.

Do I need to know how to code?

No. A test is a title and a few numbered lines in plain words. If you can brief a colleague on what to check, you can write one.

What does a run cost?

The site is free during the beta. The tester thinks with a model from a provider you choose — Anthropic, OpenAI or Google Gemini — using your own API key, and that provider bills you. Each test's result shows what it cost.

Where do tests run?

On a Mac of yours with the helper app installed (Apple silicon). Websites run in a headless Chromium there, iPhone apps in the iOS Simulator, Android apps in an emulator. The site queues the run and keeps the results.

What do I need to test an iPhone or Android app?

A simulator build (.app) for iOS or an APK for Android, and the simulator or emulator installed on the Mac. The helper's Doctor screen checks what's missing and tells you how to fix it.

Is my API key safe?

It's stored encrypted (AES-256-GCM) with a key that lives only in the API service, decrypted once per run, used only for your runs, and removable at any time under Providers & keys.

What does the tester send to the model?

Your test text, its notes, and the text and structure of the screens it reads. Screenshots are kept for you and are not sent to the model. See the privacy notice for the full picture.

What happens when the free period ends?

Your account keeps everything: projects, tests, notes and results stay readable and editable. Only starting new runs will need a paid plan, and the site will say so before it happens.

Write your first test in the time it takes to describe it.

Sign in with your email, pair a Mac, add a key. The first run is minutes away.

Start free Read the terms
[ my first test ]

The site loads

  1. Open the site.
  2. Sign in with the test account.
  3. The dashboard should show today's date.
Testwitness

An AI tester that runs your plain-words tests in a real browser or a phone simulator, on your own Mac, with your own model key.

product
  • How it works
  • Examples
  • Pricing
  • FAQ
download
  • AgentQA Helper for Mac
  • Apple silicon · macOS
legal
  • Terms of use
  • Privacy notice
  • Contact