Text size and dark mode
It repeats a screen at the settings your users really have turned on.
Smoketest reads the ticket and the pull request, then works through the change on iOS simulators. You get the result, the recording, and what it did not test on the ticket, with no device lab to run.
Failed · 3 of 4 checks passed · 3m 26s
At the largest text size, Pay sits below the screen and checkout does not scroll. Step 8 in the recording.
Not tested: iPad, because the ticket only covers iPhone.
RecordingStepsReasoning
You get the result and the recording on the ticket.
Most iOS bugs hide in a state nobody opens at their desk, so it goes and looks.
It repeats a screen at the settings your users really have turned on.
It answers Allow and Don't Allow, then checks what the app does with each.
It opens the link from outside the app, then checks which screen appears.
It leaves the app halfway through a task, then checks that nothing was lost.
Pick the versions that matter, and each ticket runs on the ones it touches.
Upload a simulator build, 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 App Review.
Before you submitWhen a ticket touches more than your iOS 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 a universal link, a push notification, and the home screen.
Check dark mode, larger text, and the permissions they refused.
Lose the connection, leave the app, and come back to the same place.
It runs on iOS simulators, and builds arrive by upload or from CI. If your release depends on a physical device, such as for camera or Bluetooth work, tell us on the call and we will say how far this gets you.
Upload a simulator build, or send each new one from CI. It tests the latest build for that board unless a ticket says otherwise.
Yes. TestFlight puts a build in people's hands. Smoketest checks the ticket first, so your testers get a build that has already been through it.
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. 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.