Mobile Testing interview questions
Mobile Testing questions a Mobile developer can be asked, from first job to senior. Open one to see the strongest answer and why it works.
A bug “only happens on a phone.” What do you do first?
The strongest answer: Reproduce on a real device (or a close farm device) with the same OS, density, and permissions — simulators miss sensors, memory pressure, and store-signed behaviour
Why it works: Exactly. The simulator is a development tool, not the product. Device, OS, and signing matter.
- Reproduce on hardware when the bug is device-shaped.
- Match OS, density, and permission state.
- Do not treat “works in simulator” as done.
- Keep a small physical matrix even if you also have a farm.
Which parts of a mobile app can you test without a device or a simulator, and what does that ask of the code?
The strongest answer: Anything with no platform dependency — view models, mappers, validation, formatting — as long as the platform sits behind interfaces a test can substitute, so it runs as a plain unit test in seconds
Why it works: Exactly — testability off-device is a design property, and the interface is what buys it.
- Logic off the device, fast.
- Keep logic out of screen classes.
- Put the platform behind interfaces.
- Save the device for UI tests.
UI tests pass on a CI emulator API 35 and fail on a store-sideload Android 12 phone. What is the lesson?
The strongest answer: The matrix is part of the product — I run a slice of UI tests on the oldest OS and a recent device, not only on the image that is convenient for CI
Why it works: Exactly. Green on one image is not coverage. Claimed OS versions need a run.
- CI image ≠ oldest claimed OS.
- Keep a cheap extra API level in CI if you can.
- Do not “fix” failures by dropping support in silence.
- Quarantine flakes; do not delete the suite.
You have a cloud device farm. What do you still keep on the desk?
The strongest answer: At least one recent iPhone and one recent Android, plus the oldest OS you claim — farms miss cables, push provision, and “this build feels janky”
Why it works: Exactly. Farms are coverage. Hands are judgement and the weird radios.
- Farm for breadth.
- Hands for feel, push, and cables.
- Keep the oldest OS you advertise.
- Do not skip a whole OS family.
QA asks for “every device on the market.” How do you set the matrix?
The strongest answer: By risk: claimed min OS, top store devices in our markets, one low-RAM, one tablet, and the OEM skins that have bitten us — I publish the matrix and the holes
Why it works: Exactly. A matrix is a risk document. Name what you cover and what you do not.
- Cover claimed min OS.
- Cover real market share and known OEM traps.
- Include low-RAM.
- Write down the holes.
The UI suite is red about one run in five, always on a different test, and re-running usually passes.
How do you fix it?
The strongest answer: Wait for conditions the app exposes — idle, an element on screen, a finished request — instead of sleeping, pin animations, locale and clock, and let each test create its own data
Why it works: Right — most flakiness is timing plus shared state, and this removes both rather than hiding them.
- Wait for conditions, never for time.
- Turn off animations; pin locale and clock.
- Each test makes its own data.
- Never retry to hide flakiness.
Finance asks why you rent a device farm and still buy phones. What is the one-sentence case?
The strongest answer: The farm is coverage and regression; the desk phones are judgement, radios, and store-like signing — cutting either recreates the outage we already paid for
Why it works: Exactly. Two tools, two jobs. Say that in the budget narrative.
- Farm = breadth.
- Hands = feel, radios, signing.
- Budget both on purpose.
- Name the outage you are buying down.
QA proposes one Appium suite covering iOS and Android so the tests are written once. What is your call?
The strongest answer: Native frameworks for the fast, deep checks the app teams own, and a cross-platform suite only for the few journeys that must be identical on both. One tool for everything trades speed and debuggability for sharing
Why it works: Right — pick the tool per layer, and let the cost of a failing test being hard to debug count in the decision.
- Match the tool to the layer.
- Native for fast, deep checks.
- Cross-platform for shared journeys.
- Teams own their own tests.