Projects · Mobile automation

Mobile automation at scale

Bringing structure to Android and iOS automation, integrated with device farms and focused on crash-free, stable experiences.

Android & iOS Device farms Critical journeys

Context & challenges

Flaky tests, device chaos and slow feedback loops.

  • Tests broke frequently with new OS versions or UI changes, leading teams to distrust mobile automation results.
  • Local device testing didn’t reflect the diversity of the real user base (devices, OS, locales, network).
  • Automation was often an afterthought — added after features were live.

Approach & strategy

Focus on journeys, not screens, and bake automation into the lifecycle.

  • Defined a set of end-to-end journeys to always protect (app launch, login, core user actions, payments).
  • Standardised test structure and naming across Android & iOS, using common patterns where possible.
  • Introduced in-sprint automation expectations so that new features shipped with basic coverage from day one.

Device farms & CI integration

Test where the users really are — not just on one or two lab devices.

  • Integrated cloud device farms into CI so key flows were validated on a matrix of devices and OS versions.
  • Prioritised a realistic device matrix based on analytics (top devices, OS versions, regions).
  • Collapsed noisy, flaky tests into a small, stable core set and created a backlog to fix or retire the rest.

Impact & learnings

A mobile automation setup that teams felt safe relying on.

  • Store releases were backed by clear, automated checks instead of purely manual, late-night test runs.
  • Crash-free sessions and key UX flows improved as issues were caught earlier and closer to development.
  • New squads could plug into an existing framework instead of reinventing their own for each app.