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.
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.