Mobile Game Testing
Back to top

Mobile game testing for iOS and Android: end-to-end guide

Dmytro Lunov

Written by

Dmytro Lunov Verified author

Head of Delivery and Program Director at Game-Ace

Dmytro leads Game-Ace delivery teams on game development, art production, game design, MVP prototyping, and Unity and Unreal Engine projects.

Published July 21, 2023 Updated September 9, 2026

Mobile game testing verifies that an iOS or Android game runs correctly, performs well, monetizes cleanly, and passes store review across a representative slice of real devices. The scope covers functional, compatibility, regression, performance, soak, battery, thermal, network, and monetization checks. Device fragmentation is what makes mobile game testing hard: no other platform ships thousands of SoC, GPU, OS, and screen combinations.

What mobile game testing actually covers

A production-ready mobile QA pass is a stack of test types run against a device matrix, not a single "play the game" cycle. Functional tests confirm the gameplay loop, menus, saves, and analytics events behave as designed. Compatibility runs the same build against different OS versions, screen aspect ratios, GPU vendors, and RAM tiers. Regression re-runs a stable suite after every merge to catch what a new feature broke. Performance profiles frame time, CPU and GPU load, memory, and draw calls under realistic scenes. Soak tests hold a session open for hours to expose leaks and background-service issues. Battery and thermal tests measure drain per hour and throttling curves on mid-range hardware.

Network testing covers offline, 3G, LTE, 5G, and packet-loss scenarios, plus reconnect and rollback logic for any multiplayer or backend-dependent feature. Monetization testing walks IAP sandbox, restore purchases, subscription renewal, ad-mediation waterfalls, and reward attribution. Store compliance testing checks the build against Apple App Store Review Guidelines and Google Play policy: privacy manifest, tracking prompts, permissions, target API level, and age-rating disclosures.

Mobile game testing on a real project usually runs in two loops: a fast automated smoke suite on every commit, and a longer manual pass on a curated device shelf before each release candidate.

Building a device matrix that reflects real players

The device matrix is the most consequential decision in mobile game testing. A studio cannot buy every phone in circulation, so the matrix is built as tiers that mirror the target audience.

  • Reference tier: 1-2 flagship iPhones (current and one previous generation) and 2-3 flagship Android devices from Samsung, Google Pixel, and Xiaomi.
  • Mid tier: the modal price point of the target market (usually 6-month-old devices at €250-€400).
  • Low tier: devices near the game's minimum spec, where thermal throttling and RAM pressure show up first.
  • OS coverage: current iOS plus the previous two majors; on Android, the last four API levels weighted by Play Console install data.
  • Regional variants: carrier-locked or region-specific SKUs when a market matters (Xiaomi in India, Samsung Galaxy A in EMEA, iPhone SE in Japan).

A pragmatic split: keep 15-25 physical devices in an on-site shelf for tactile QA and edge cases, and layer cloud device farms for breadth. Firebase Test Lab provides Google-hosted real and virtual Android and iOS devices, useful for pre-launch scans and matrix expansion. AWS Device Farm adds a large physical shelf with Appium and XCUITest integration. Samsung Remote Test Lab offers free remote sessions on physical Galaxy hardware, valuable for Samsung-specific rendering and Exynos vs Snapdragon differences.

iOS mobile game testing specifics

iOS mobile game testing runs on a tighter device tree but a stricter review process. Distribution for QA happens through TestFlight, which supports up to 10,000 external testers, per-build feedback, and staged rollouts. Xcode Instruments is the primary profiler: Time Profiler for CPU, Allocations and Leaks for memory, Energy Log for battery, and the Metal System Trace for GPU frame breakdown.

Two Apple requirements should have their own test tickets. First, App Tracking Transparency: any SDK that fingerprints the device or shares an IDFA off-device needs the ATT prompt, and QA has to verify the prompt fires exactly once at the right moment. Second, the privacy manifest (PrivacyInfo.xcprivacy) declares the required-reason API usage and third-party SDK privacy signatures; a missing or inaccurate manifest triggers rejection under the current Apple App Store Review Guidelines.

IAP is tested through StoreKit sandbox accounts. QA validates purchase, restore, cancellation, refund, family sharing, and subscription upgrade or downgrade flows.

Android mobile game testing specifics

Android mobile game testing has to absorb more variance and lean harder on tooling. Every release uploaded to the Play Console triggers the Play Pre-launch Report, which runs the build across a small farm of physical devices and returns crash, ANR, security, and accessibility findings before the build reaches internal testing.

For GPU work, Android GPU Inspector is the current Google-recommended profiler for Vulkan and OpenGL ES. It exposes per-frame GPU counters, shader hot paths, and render-pass breakdown on supported Adreno, Mali, and Xclipse GPUs. Firebase Crashlytics captures crash and non-fatal issues in the wild, keyed by device model, OS version, and custom breadcrumbs so QA can reproduce production incidents on the internal shelf.

Play Console requires the build to target a recent API level. QA verifies permission prompts against the runtime permission model, background service restrictions, and foreground service types. Google Play billing tests use license testers configured in the Play Console to walk one-time purchases, subscriptions, promo codes, and consumable restore paths.

Automation stack and CI for mobile game testing

Automated mobile game testing runs on three layers.

  • Unit and gameplay logic: engine-side tests inside Unity Test Framework or Unreal Automation, run headless on CI.
  • UI and end-to-end: Appium for cross-platform flows, Espresso for Android-native menus and shells, XCUITest for iOS-native menus and StoreKit prompts.
  • Build and device orchestration: GameCI or a custom Fastlane pipeline that builds Android and iOS binaries, signs them, uploads to Firebase Test Lab or App Center, and posts results back to the pull request.

For gameplay itself, deterministic replays are more effective than screen-recognition bots. QA scripts a fixed input sequence and asserts on frame time budgets, gold-image screenshots at checkpoints, and analytics event order. A modest automation shelf running 20-40 gameplay scenarios per commit catches regressions long before manual QA touches the build.

IAP and monetization testing

IAP testing is the highest-risk area on any monetized mobile title, because a broken purchase path fails silently and costs real revenue. QA validates the full lifecycle on both stores: product fetch, purchase, receipt validation on the server, entitlement grant, restore, refund, subscription renewal, upgrade or downgrade, promo codes, and family sharing on iOS.

Ad-mediation is tested with a live mediation dashboard in test mode (AdMob, LevelPlay, AppLovin MAX). QA checks fill rate per network, no-fill fallbacks, reward callbacks, and frequency caps. For hybrid monetization, the interaction between an IAP purchase and "remove ads" state gets its own regression suite; it is a common source of production bugs.

Store submission testing and pre-launch checks

Store submission testing is a rehearsal of the review process. On iOS, QA runs the App Store Connect metadata pass and confirms the build passes App Transport Security and the current privacy manifest requirement. A dry-run submission to TestFlight external review surfaces most rejection reasons before the real production submission.

On Android, the Play Pre-launch Report plus a Play Console policy review checklist catches target-API, permissions, data-safety form, and content-rating mismatches. Both stores require region-appropriate age ratings; QA maintains a matrix of IARC, ESRB, PEGI, and USK questionnaires that maps to gameplay features actually shipped in the build.

Performance profiling on mobile

Performance profiling for mobile games is measured in three axes: sustained frame time, thermal state, and battery drain per hour of gameplay. A 60 FPS scene that ships to a mid-range Android device at 45°C thermal state and 12 percent battery per hour will get 1-star reviews within a week of launch.

The working loop is: profile a representative scene on a reference low-tier device, identify the top-three CPU or GPU cost, cut, re-profile. Xcode Instruments and Android GPU Inspector are the day-to-day tools. QA maintains a small set of "performance scenes" that stress worst-case content and re-runs them on every release candidate.

In-house QA, outsourced QA, and crowd testing

The three procurement models for mobile game testing are complementary, not competitive. An in-house lab controls the reference shelf, owns the automation stack, and runs release-candidate passes. An outsourced QA partner adds specialist coverage and burst capacity around milestones. Crowd testing platforms bring wide device and geographic coverage for pre-launch smoke, localization, and real-world network conditions that a lab cannot simulate.

Option Device coverage Cost model Turnaround QA control
In-house device lab 15-25 curated physical devices Capex plus staff Minutes Full control of scripts, data, and NDA
Firebase Test Lab Wide Android and iOS real and virtual Per-minute, free tier Minutes for scans Google-managed, limited custom instrumentation
AWS Device Farm Large physical iOS and Android shelf Per-minute Minutes to hours Appium and XCUITest scripts, custom sessions
Crowd testing Thousands of real devices, real users Per tester or per bug Hours to days Lower control, higher variance, harder NDA

In practice, most mid-scale mobile studios combine an in-house shelf for reference and automation, Firebase Test Lab for Play Pre-launch Report and Android breadth, AWS Device Farm for scripted iOS coverage under NDA, and crowd testing for the two-week window before soft launch.

A mobile project Game-Ace has shipped

Welcome to Demon Runner, a mobile-first endless runner by Game-Ace

Demon Runner mobile-first endless runner by Game-Ace

Demon Runner is a mobile-first Unity endless runner built end to end by Game-Ace. It launched with stable performance across Android and iOS, with UI and visuals optimized for small-screen, touch-first play, and QA covering the two-action combat loop, loot chest logic, and health tracking across devices.

Plan your mobile QA pass with Game-Ace

If you are scoping mobile game testing for an iOS or Android title, talk to Game-Ace.

When to talk to Game-Ace about mobile game testing

Mobile game testing is where most launch-week problems are prevented, not discovered. Game-Ace's custom game development studio has run mobile QA since 2005, with 120+ in-house specialists covering iOS and Android across engagement models: Team Extension for embedded QA engineers, Co-development for shared release pipelines, and full-cycle production including QA. Bring the build, the target markets, and the release date; the QA plan gets scoped from there.

Frequently searched questions about mobile game testing

For a mid-scale mobile title, a full pre-release QA pass usually lands between €12,000 and €45,000, depending on device-matrix size, feature scope, and whether automation already exists. A dedicated embedded QA engineer through team extension runs roughly €4,500-€7,500 per month. Larger multiplayer or IAP-heavy titles that need soak testing, compliance passes, and localization QA can move past €80,000 for a launch window.

A release-candidate QA pass on a mid-scale mobile game typically runs 2-4 weeks, with a shorter smoke pass of 3-5 days for every subsequent patch build. Timelines depend on device-matrix breadth and how much of the regression suite is automated.

For most commercial mobile games, an on-site shelf of 15-25 physical devices covers reference tier, mid tier, and low tier across iOS and Android. Cloud device farms extend that reach without more capex. The right number is the smallest matrix that mirrors the actual install base from Play Console and App Store Connect analytics.

iOS has a narrower device tree but a stricter review process: TestFlight for beta distribution, Xcode Instruments for profiling, and mandatory ATT plus privacy manifest checks under the Apple App Store Review Guidelines. Android has broader hardware variance and heavier reliance on the Play Pre-launch Report, Android GPU Inspector, and Firebase Crashlytics for real-world coverage. QA plans usually run parallel suites with shared gameplay assertions.

IAP testing runs against sandbox accounts on each store, walking the full purchase lifecycle. A working setup usually includes:
  • StoreKit sandbox testers on App Store Connect with region and currency variants.
  • Google Play license testers configured in the Play Console for one-time products, subscriptions, and consumables.
  • Server-side receipt validation for both stores.
  • Regression cases for restore, refund, cancel, upgrade, downgrade, and family sharing on iOS.
  • Ad-mediation test mode across AdMob, LevelPlay, or AppLovin MAX.

In most mobile projects, automation covers 60-75 percent of regression coverage: engine-side unit tests, Appium or XCUITest end-to-end flows, and deterministic gameplay replays. Manual QA takes over for exploratory testing, visual polish, IAP flows on live sandbox accounts, and store-compliance rehearsals. Trying to automate 100 percent is expensive and brittle; trying to run everything manually does not scale past a few builds per week.

Crowd testing pays off in the two-week window before soft launch and during localization checks, where wide device and geographic coverage matters more than deep scripting. It is less effective for scripted regression, IAP validation on private sandbox accounts, or anything under strict NDA. Most studios use crowd testing as a supplement to an in-house or outsourced QA team, not a replacement.

The recurring rejection reasons on iOS are a missing or inaccurate privacy manifest, ATT prompts that fire late or track before consent, IAP crashes on restore, and metadata that promises features not present in the build. On Google Play, the common causes are target-API mismatch, permission usage not declared on the data-safety form, and Play Pre-launch Report crashes on common Samsung or Xiaomi devices. A store-submission rehearsal before the real submission catches most of these.
Average rating 4.8 / 5. Votes: 226
Related posts
How to make a game app preview How to make a game app: a practical guide from idea to launch Best gaming platforms preview Best gaming platform: how to pick the right one Mobile gaming trends preview Mobile gaming trends shaping the industry now Unity mobile game development workflow on a laptop Unity mobile game development guide Unreal Engine for Android Game Development Choosing Unreal Engine for Android game development: what to expect
Futuristic game robot running through a purple portal
Get in touch
menu
Get in touch
Game-Ace logo loader