Android app testing

Android test automationwith no test code.

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.

Book a callTalk to our founder. Test a real ticket the same day.
Acme › ACM-588In Progress
Keep the address when the phone rotates
An address typed into checkout is still there after the phone turns to landscape.
Activity
SKSara K assigned this to Smoketest
Smoketest  Read the ticket, 2 comments, and PR #1402. The change touches the address form.
Ticket2 commentsPR #1402Playbook, 3 rules
Test plan2m 51s
1Open the address formPortraitPassed
2Type a full addressPortraitPassed
3Turn the phone with the form openLandscapePassed
4The address is still thereLandscapeFailed

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

Smoketest moved this to In Progress and assigned Kevin
The form came back empty

You get the result and the recording on the ticket.

It does the things Android users do.

It presses back, turns the phone, and comes back later, which is where Android bugs live.

Home
Cart
Payment

The back button

It presses back at each step, then checks that it lands where it should.

Harbor Rd
Harbor Rd

Rotation

It turns the phone halfway through a task, then checks nothing was lost.

  1. In useCart, 3 items
  2. Closed by AndroidTo save memory
  3. Opened againCart, 3 items

Closed in the background

When Android closes your app to save memory, it checks yours comes back.

Open withacme.app/invoices/2041
AAcme
BBrowser

App links

It opens your link from another app, then checks which screen appears.

600 dp
412 dp
360 dp

Screen widths

Pick the widths your users have, and each ticket on that board uses them.

Buildapp-debug.apk
SendFrom your CI
TestLatest build

Builds by upload or CI

Upload an APK, or send each one from CI, and it tests the latest.

Every ticket comes back Passed, Failed, or No Result.

If a person moves a ticket while it is testing, it stops and never moves it back.

Acme › ACM-588In Progress
Keep the address when the phone rotates
An address typed into checkout is still there after the phone turns to landscape.
Smoketest3 min ago
Failed 3 of 4 checks passed on PR #1402, 2m 51s
  • Opened the address form
  • Typed a full address
  • Turned the phone with the form open
  • The address is still thereBoth fields are empty after the turn. Step 7 in the recording.
  • Not tested: foldablesThe ticket only covers phones.

RecordingStepsReasoning

Smoketest moved this issue to In Progress and assigned Kevin

Keep a passed ticket as a regression test.

Your coverage grows with every sprint, and nobody writes it by hand.

  1. Ticket test

    Written from the ticket and its acceptance criteria. Lives for the sprint.

    When a ticket reaches QA
  2. Regression

    Save it to your library and run it on every build from your CI.

    On every build
  3. Release check

    Run the saved set on the build you are about to send to Google Play.

    Before you submit

One team member for everything you ship.

When a ticket touches more than your Android app, the same ticket runs on the other surfaces too.

SurfaceSandboxWhat it checksProof you get
Web appsSandboxCloud browser at any widthWhat it checksFlows, forms, logins, downloadsProof you getVideo, steps, transcript→
Mobile appsSandboxiOS simulator, Android emulatorWhat it checksScreens, gestures, deep linksProof you getVideo, steps, device log→
APIsSandboxAPI runner against stagingWhat it checksStatus, contracts, auth, side effectsProof you getRequest and response log→
MCP serversSandboxMCP client with a real modelWhat it checksSchemas, auth, real tool callsProof you getTool-call transcript→
AI agentsSandboxYour agent's real interfaceWhat it checksReplies, tool calls, side effectsProof you getConversation transcript→

Building something else? One team asked us to test their voice agent, so we are adding it. Propose your surface

Testing an Android app comes down to five checks.

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.

  1. 1

    The main flow

    Follow the path the ticket describes, from a cold start.

  2. 2

    Sign-in and roles

    Repeat it as each kind of user, including one who should not have access.

  3. 3

    Ways into the app

    Open it from an app link, a notification, and the home screen.

  4. 4

    Back and rotation

    Press back at each step, and turn the phone halfway through a task.

  5. 5

    Interruptions

    Lose the connection, leave the app, and come back to the same place.

Questions about testing Android apps

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.

Your next Android ticket comes back tested.

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.

Ready for QA
Done
ACM-588
Keep the address when the phone rotates
Passed, recording