Skip to main content

Mobile Testing Learning Path: Start Here

In short: you learn mobile testing in 6 milestones. The mobile-web parts run on your machine with Playwright device emulation; the native parts (adb, simctl, Appium) use real config you run when you have an emulator, a device, or a device-cloud account.

How to use this page

Read this page once to see the plan. Then, for each milestone, follow the same four steps: learn → do → check → commit. Come back here whenever you're unsure what to do next.

Before you start​

  • Node.js 20+ (for the mobile-web milestones).
  • A phone with VoiceOver or TalkBack for manual checks.
  • For native automation (Milestone 5): either Android Studio (emulator + adb) / Xcode (simulator + simctl), or a free trial on a device cloud (BrowserStack, Sauce Labs, LambdaTest).
  • Helpful: the test automation cheat sheet (page objects, locators).

The pages in this learning path​

PageWhat it's forWhen to open it
This roadmapThe plan and self-checksAt the start of each milestone
Mobile testing cheat sheetLearn each idea; mobile-web examples runThe "learn" step
Milestones & Mini-ProjectsTasks, expected results, solutionsThe "do" and "check" steps
Quick ReferenceDevice matrix, adb/simctl, Appium, checklistsAny time
Best PracticesHabits for effective mobile testingAfter Milestone 2, then every release
Appium guideNative automation in depthMilestone 5

The milestones​

MilestoneYou learnYou doRough time
1Why mobile differs, app types, the device matrixBuild a device matrix1 week
2Mobile-web emulation, touch, orientationPlaywright mobile-web tests1 week
3Interruptions, permissions, networksManual mobile pass on a real phone1–2 weeks
4adb / simctl, deep links, conditionsDrive a device from the command line1 week
5Appium: capabilities, locators, gesturesAutomate a native flow2 weeks
6Device cloud, performance, store readiness, reportA cloud CI run + report1–2 weeks

Times assume about 5 hours a week.

For each milestone: learn (cheat-sheet sections) → do (the tasks) → check (solution / your device) → commit.

Milestone 1: The device matrix​

Learn: Why mobile is different · App types · The device matrix · Emulators vs real devices · What to test

Do: Build a device matrix

Check yourself:

  • What are the four app types, and how do you test each?
  • What three things must every device matrix include?
  • When is an emulator enough, and when do you need a real device?

Milestone 2: Mobile-web emulation​

Learn: Mobile web emulation · Touch vs mouse · Orientation & viewport · Quick Reference: Playwright emulation

Do: Playwright mobile-web tests

Then read: Best Practices, sections 1–2, 5.

Check yourself:

  • What does tap() do that click() doesn't?
  • Why is a hover-only menu a mobile bug?
  • How do you emulate a rotation?

Milestone 3: The manual mobile layer​

Learn: Interruptions · Permissions · Network conditions · Common mistakes

Do: Manual mobile pass

Then read: Best Practices, sections 3–4, 6.

Check yourself:

  • Name four interruptions an app must survive.
  • What are the four permission states to test?
  • Why test the offline→online sync path?

Milestone 4: Drive a device​

Learn: adb & simctl · Quick Reference: adb, simctl, Network & permissions

Do: Command-line device control

Check yourself:

  • How do you grant and revoke a permission from the command line?
  • How do you fire a deep link on Android and iOS?
  • How do you simulate low battery or airplane mode?

Milestone 5: Appium native automation​

Learn: Appium set-up · Capabilities · Locators & the page object · Gestures · the Appium guide

Do: Automate a native flow

Then read: Best Practices, section 7.

Check yourself:

  • Which locator strategy is best on mobile, and why?
  • How do capabilities relate to Playwright projects?
  • How do you background the app to test an interruption?

Milestone 6: Cloud, performance & report​

Learn: Performance · App-store readiness · Quick Reference: Store readiness

Do: Cloud run + report

Then read: Best Practices, sections 8–10.

Check yourself:

  • Why measure performance on a low-end device?
  • Name three things that get an app rejected from a store.
  • What goes in a mobile test report?

When you get stuck​

ProblemWhat to do
No Android SDK / XcodeDo the mobile-web milestones now; use a device-cloud free trial for native
Emulator won't startEnable virtualization; try a smaller system image; or use a real device over USB
adb devices shows nothingEnable USB debugging on the phone; accept the trust prompt; check the cable
Appium can't find an elementUse Appium Inspector to read the tree; ask devs for accessibility ids
A test passes on Chromium but hangs on WebKitEngine differences are real — test the mobile browsers your users have

What's next​

Good resources: the Appium docs, the OWASP MASTG (Mobile Application Security Testing Guide), and your device cloud's own documentation.