The back button
It presses back at each step, then checks that it lands where it should.
Smoketest reads the ticket and the pull request, then works through the change on Android emulators. You get the result, the recording, and what it did not test on the ticket, and nobody writes a script first.
Failed · 3 of 4 checks passed · 2m 51s
After the phone turns to landscape, both fields are empty and Continue is disabled. Step 7 in the recording.
Not tested: foldables, because the ticket only covers phones.
RecordingStepsReasoning
You get the result and the recording on the ticket.
It presses back, turns the phone, and comes back later, which is where Android bugs live.
It presses back at each step, then checks that it lands where it should.
It turns the phone halfway through a task, then checks nothing was lost.
When Android closes your app to save memory, it checks yours comes back.
It opens your link from another app, then checks which screen appears.
Pick the widths your users have, and each ticket on that board uses them.
Upload an APK, or send each one from CI, and it tests the latest.
If a person moves a ticket while it is testing, it stops and never moves it back.
RecordingStepsReasoning
Your coverage grows with every sprint, and nobody writes it by hand.
Written from the ticket and its acceptance criteria. Lives for the sprint.
When a ticket reaches QASave it to your library and run it on every build from your CI.
On every buildRun the saved set on the build you are about to send to Google Play.
Before you submitWhen a ticket touches more than your Android app, the same ticket runs on the other surfaces too.
| Surface | Sandbox | What it checks | Proof you get | |
|---|---|---|---|---|
| Web apps | SandboxCloud browser at any width | What it checksFlows, forms, logins, downloads | Proof you getVideo, steps, transcript | → |
| Mobile apps | SandboxiOS simulator, Android emulator | What it checksScreens, gestures, deep links | Proof you getVideo, steps, device log | → |
| APIs | SandboxAPI runner against staging | What it checksStatus, contracts, auth, side effects | Proof you getRequest and response log | → |
| MCP servers | SandboxMCP client with a real model | What it checksSchemas, auth, real tool calls | Proof you getTool-call transcript | → |
| AI agents | SandboxYour agent's real interface | What it checksReplies, tool calls, side effects | Proof you getConversation transcript | → |
Building something else? One team asked us to test their voice agent, so we are adding it. Propose your surface
Whether a person or an agent does it, a good pass covers the same ground. Smoketest works out which of these a ticket needs, then runs them.
Follow the path the ticket describes, from a cold start.
Repeat it as each kind of user, including one who should not have access.
Open it from an app link, a notification, and the home screen.
Press back at each step, and turn the phone halfway through a task.
Lose the connection, leave the app, and come back to the same place.
It runs on Android emulators, and builds arrive by upload or from CI. If your release depends on a physical device, tell us on the call and we will say how far this gets you.
Upload an APK, or send each new one from CI. It tests the latest build for that board unless a ticket says otherwise.
Keep it. It guards the flows you have already scripted. Smoketest takes the first pass on each new ticket, so nobody has to write a test before it can be checked.
No. It writes the test from the ticket, or from a sentence you give it. It did not write the code, so it checks the change the way a teammate would.
Yes. It taps the notification or the link the way a user would, then checks where the app lands, including after a sign-in.
Yes. Save a sign-in for each test account, or give a test account its own inbox for email codes and magic links.
It starts at $399 a month for 1,000 runs. Each run is up to 10 minutes, and a longer test counts as two runs or more, one for every 10 minutes. If your team needs more, we design a Scale plan with you, so you stop buying extra runs.
Every result links to the recording, the steps, and the reasoning, and says what it did not test, so you can check its work the way you would check a teammate's.
Book a call and we will run one ticket on your latest build with you. You get the result and the recording the same day.