RizTech Academy logo
RizTech Academy
Mobile Automation with AppiumLesson 5 of 530 min

The reality of mobile automation: flakiness, device farms, when it is worth it

This lesson is the honest one. Mobile automation is powerful, but it is the most expensive, most flaky, and most over-sold corner of test automation, and a QA who understands when it is worth it is far more valuable than one who automates everything on a phone because they can. Everything the automation-strategy module said about cost, flakiness and trust applies double here. This closes the mobile module with the judgement that matters most: how much to automate on mobile, and how.

Mobile automation is genuinely hard

Be clear-eyed about the costs, because they are larger than web:

  • Setup is heavy. Appium, drivers, SDKs, emulators or a device lab — far more than a browser. Keeping it working across OS and tool updates is ongoing effort.
  • It is slow. Emulators and devices are slower than a browser; a mobile suite takes longer per test than a web one, so you can afford fewer tests.
  • It is flakier. Devices vary, emulators hiccup, gestures misfire, timing is less predictable. Mobile is the most flakiness-prone automation there is — and flakiness, as the whole automation part insisted, destroys trust. A mobile suite that cries wolf is quickly abandoned.
  • Fragmentation multiplies it. The device-fragmentation problem from the manual module hits automation too: you cannot run on every device, and a test can pass on one and fail on another.

None of this means "don't automate mobile" — it means automate it deliberately, with the cost firmly in mind.

Where the value is: real devices and device farms

You cannot hold every device, so serious mobile testing uses a device farm — a cloud service (BrowserStack App Automate, Sauce Labs, AWS Device Farm, or a self-hosted lab) that runs your Appium tests against many real devices and OS versions. This is how you cover fragmentation without a drawer full of phones:

  • Run the suite against a chosen matrix of devices/OS versions (driven by your users' actual distribution, exactly as the manual device-fragmentation lesson said — analytics decide the matrix).
  • Test on real devices, not just emulators, for the true behaviour (real GPUs, real cameras, real network).
  • Integrate it into CI so the mobile suite runs on the farm on a schedule or per release.

Device farms cost money, which reinforces the point: mobile automation is an investment, justified for the apps and flows where mobile failure is expensive.

What to automate on mobile — and what not

Apply the automation-strategy rules, weighted for mobile's higher cost:

  • Automate the few critical journeys — for the AgentPay agent app: log in, record a transaction, see it confirmed. The money path. If these break on mobile, the app is useless, so guard them.
  • Automate the mobile-specific risks that repeat — offline/reconnect behaviour, a permission flow, an upgrade with data migration — the manual mobile concerns that are tedious to re-test by hand and serious if broken.
  • Do NOT try to automate everything through the mobile UI. Because mobile UI tests are the slowest and flakiest, keep them to a thin layer of critical journeys — even thinner than the web UI layer. The pyramid tilts even harder here.
  • Push logic below the app. The AgentPay agent app talks to the same API you already test exhaustively. Most business rules, validation and money logic should be covered by API tests (fast, stable), leaving the mobile UI suite to prove only that the app correctly uses that API for the key journeys. This is the test-at-the-right-layer lesson, and it is the single most important mobile strategy: do not re-test at the flaky mobile UI what you can test at the stable API.
  • Keep exploratory and device-specific checks manual. Look-and-feel, a specific device's quirk, a new feature still changing — a skilled human on a real phone beats a brittle automated script.

The honest bottom line

Mobile automation is worth it for a small, well-chosen set of critical journeys and repetitive mobile- specific risks, run on real devices via a farm, over a thick base of fast API tests — and it is not worth trying to reproduce your entire manual mobile test suite in Appium. A team that automates the money path and a few key flows on mobile, keeps that suite reliable, and covers the rest with API tests and manual exploratory testing, gets the value. A team that tries to automate everything on mobile gets a slow, flaky suite nobody trusts — the worst outcome, because it cost the most to build. Choose deliberately; the judgement is the skill.

Check your work

Mobile automation is hard: heavy setup, slow, the flakiest automation (devices vary, gestures misfire, timing is unpredictable — and flakiness kills trust), and fragmentation multiplies it. Automate it deliberately, cost in mind.

Device farms (BrowserStack/Sauce/AWS/self-hosted) run Appium on many real devices — how you cover fragmentation without owning phones; pick the device/OS matrix from user analytics; integrate with CI. They cost money — mobile automation is an investment.

What to automate: the few critical journeys (the money path), and repeating mobile-specific risks (offline, permissions, upgrade/migration). Keep the mobile UI layer even thinner than web's. Push logic to API tests — do not re-test at the flaky mobile UI what the stable API already covers (the single most important mobile strategy). Keep exploratory/device-quirk checks manual.

Bottom line: worth it for a small, well-chosen set of critical journeys + mobile-specific risks on real devices over a thick API base; not worth reproducing the whole manual suite in Appium. Deliberate choice is the skill.

Practice

  1. List the four reasons mobile automation is harder than web, and how each affects your strategy.
  2. Explain what a device farm is and how you would choose which devices/OS versions to run on.
  3. For the AgentPay agent app, choose the handful of journeys you would automate on mobile and justify each.
  4. Explain how pushing logic to API tests keeps the mobile UI suite small — with a concrete AgentPay example.
  5. Describe a team that over-automates on mobile and the specific problems they end up with.
  6. Draw the mobile testing strategy: what is automated on mobile UI, what at the API, and what stays manual.

Official documentation

Next: the CI-and-trust module — running the whole suite on every change.

Stuck on this lesson?

Being stuck is part of it — but being stuck alone for three days is not. Our internship programme pairs this curriculum with code review and one-to-one help from working developers, and it is free.

About the internship