How to test a mobile game

Direct answer

Shipped untested, a mobile game charges a parent's saved card for in-game currency when a child taps a confusingly placed purchase button, and collects personal information from players under 13 without notifying parents or getting their consent. 8 tests are mandatory here, each tied to a risk in the map below. After the release smoke check, start the risk tests with end-to-end functional tests: a new account set to under 13 must start with voice and text chat off before any child plays a matched session with strangers.

8 mandatory testsfirst: end-to-end functional tests

What counts as a mobile game

A mobile game here is a free-to-play or paid iOS and Android game with in-app purchases of currency, items or passes, live services such as matchmaking and events, and players who may be children. It covers purchase confirmation, server-side inventory, loot box odds, chat defaults, parental consent and backend capacity at launches and events. Console and PC releases of the same game and real-money gambling apps are out of scope.

Adjacent product types not covered here

  • kids app: A kids app is built for children with no matchmaking or live events, so ad SDK certification and parental gates lead instead of launch-day load.
  • social network: A social network ranks posts in a feed and sells no in-game currency, so self-harm content and public-by-default profiles replace accidental purchases and loot box odds.
  • messaging app: A messaging app carries chats between known contacts, so address book notices and reconnect storms replace chat with strangers matched into a squad.

Risk map

5 risks attached to mobile game with evidence. Sorted by severity.
RiskGradeNoteEvidence
Physical or psychological harm to a user
user-harm
harmpractitioner
single incident, no second source
Voice and text chat are on by default, so a child matched with strangers in a squad is exposed to harassment from the first session.
Money leaves or fails to arrive
money-loss
moneyprimaryA child taps a confusingly placed purchase button and the saved card is charged for in-game currency without a parent's consent.
Fine or enforcement by a regulator
regulatory-penalty
legalprimaryThe game collects personal information from players under 13 without notifying parents or getting their verifiable consent.
Outage during a demand peak
outage-under-load
outageprimaryLaunch-day or live-event player traffic far above forecast overloads the game backend, and players cannot log in or play.
App rejected or removed by a store
store-rejection
distributionprimaryA loot box that does not show the odds of each item before purchase, or a kids-rated game with an uncertified ad SDK, is rejected.

Mandatory tests (8)

  1. Step 1: release smoke tests

    Why:store-rejection

    Done when: On the release build, a new player completes the tutorial, buys one item with a sandbox account and finds it in the inventory after a restart, and the loot box screen shows item odds before the buy button.

    Tool class: mobile automation. Who usually runs it: QA engineer.

  2. Step 2: end-to-end functional tests

    Why:user-harmregulatory-penalty

    Done when: A new account set to under 13 starts with voice and text chat off, and only a verified parent can turn them on.

    Tool class: mobile automation. Who usually runs it: QA engineer.

  3. Step 3: exploratory testing

    Why:money-lossuser-harm

    Done when: A tester acting as a child tries to buy currency and chat with strangers, and each attempt stops at a parental gate.

    Tool class: test management. Who usually runs it: QA engineer.

  4. Step 4: data integrity and migration testing

    Why:money-loss

    Done when: For a sample of sandbox purchases, every charge in the store's purchase records matches a purchase the player confirmed in the game, and each purchased item appears in the player's inventory once.

    Tool class: data validation. Who usually runs it: developer.

  5. Step 5: payment and money-flow testing

    Why:money-loss

    Done when: No sandbox purchase can start from a loading screen, sleep wake or item preview, and every purchase asks for a confirmation that names the item and price.

    Tool class: mobile automation. Who usually runs it: QA engineer.

  6. Step 6: compliance checks

    Why:regulatory-penaltystore-rejection

    Done when: A reviewer confirms each loot box shows item odds before purchase, and a player under 13 cannot reach chat or purchases without a parent's consent.

    Tool class: test management. Who usually runs it: product manager.

  7. Step 7: performance and load testing

    Why:outage-under-load

    Done when: A load test at the launch or event forecast plus the margin the team set keeps login and match start within the team's target.

    Tool class: load generator. Who usually runs it: developer.

  8. Step 8: resilience and failure testing

    Why:outage-under-load

    Done when: When the service-discovery cluster or session store degrades, players see a queue screen and keep their inventory and progress after recovery.

    Tool class: chaos tool. Who usually runs it: developer.

Recommended and optional tests

Not needed and why

  • contract tests

    Not needed: one team owns client and server. Becomes recommended when a separate team or partner ships against the game API.

  • usability testing

    Not needed: purchase confirmation and chat defaults are checked by the payment, compliance and end-to-end items. Becomes recommended when tutorial drop-off is high.

  • security scanning

    Not needed: payments and accounts stay with the store. Becomes recommended when the game stores payment details or player accounts outside the store.

Order of work

First release

  1. release smoke tests: On the release build, complete the tutorial as a new player, buy one item with a sandbox account, find it in the inventory after a restart and check that the loot box screen shows item odds before the buy button.
  2. end-to-end functional tests: Create a new account set to under 13 and confirm voice and text chat start off and only a verified parent can turn them on.
  3. exploratory testing: Play as a child and try to buy currency and chat with strangers, logging whether each attempt stops at a parental gate.
  4. data integrity and migration testing: Compare a sample of sandbox purchases in the store's purchase records with the purchases players confirmed in the game, and confirm each purchased item appears in the inventory once.
  5. payment and money-flow testing: Try to start sandbox purchases from a loading screen, a sleep wake and an item preview, and confirm each purchase asks for a confirmation naming the item and price.
  6. compliance checks: Confirm each loot box shows item odds before purchase and that a player under 13 cannot reach chat or purchases without a parent's consent.
  7. performance and load testing: Load the backend at the launch or event forecast plus the team's margin and confirm login and match start stay within the team's target.
  8. resilience and failure testing: Degrade the service-discovery cluster and the session store and confirm players see a queue screen and keep inventory and progress after recovery.

Ongoing cadence

Tools

Listed alphabetically inside each test type, filtered to the tests above and to the platforms of mobile game (ios, android). Not recommendations.

17 tools shown

release smoke tests

  • Firebase Test LabRuns app tests on hosted devices. iosandroidfreemium
  • TestRailTest case and run management. webiosandroidapicommercial
  • XrayTest management inside Jira. webiosandroidapicommercial

end-to-end functional tests

  • AppiumCross-platform mobile UI automation over WebDriver. iosandroidopen-source
  • ApplitoolsVisual comparison of screens across builds. webiosandroidcommercial
  • BrowserStackCloud of real devices and browsers. webiosandroidcommercial
  • DetoxGray-box end-to-end testing for React Native apps. iosandroidopen-source
  • EspressoAndroid UI testing framework from Google. androidopen-source
  • LambdaTestCloud browser and device grid. webiosandroidcommercial
  • MaestroMobile UI flows written in YAML. iosandroidfreemium
  • Sauce LabsCloud test infrastructure for web and mobile. webiosandroidcommercial
  • XCTestApple's framework for unit and UI tests. iosopen-source

payment and money-flow testing

unit tests

  • JUnitTest framework for the JVM. apiandroidopen-source
  • XCTestApple's framework for unit and UI tests. iosopen-source

regression suite

  • TestRailTest case and run management. webiosandroidapicommercial
  • XrayTest management inside Jira. webiosandroidapicommercial

device and browser compatibility

  • AppiumCross-platform mobile UI automation over WebDriver. iosandroidopen-source
  • ApplitoolsVisual comparison of screens across builds. webiosandroidcommercial
  • BrowserStackCloud of real devices and browsers. webiosandroidcommercial
  • Firebase Test LabRuns app tests on hosted devices. iosandroidfreemium
  • LambdaTestCloud browser and device grid. webiosandroidcommercial
  • Sauce LabsCloud test infrastructure for web and mobile. webiosandroidcommercial

analytics and event tracking tests

  • AvoTracking plan and event validation. webiosandroidfreemium
  • Segment ProtocolsTracking plan validation for Segment events. webiosandroidcommercial

What to send to the person who will test

Send the checklist and the brief below. The printable checklist for mobile game has the same 8 items with checkboxes.

Download the checklistMarkdownCSVBrief (Markdown)

Acceptance criteria wording

A release of the mobile game is accepted when a new player completes the tutorial, buys an item in the sandbox and keeps it after a restart, and no purchase starts from a loading screen, sleep wake or item preview without a confirmation naming the item and price. A new account set to under 13 starts with voice and text chat off, and each loot box shows its odds before the buy button. A load test at the event forecast keeps login and match start within the team's target, and every store charge in a sample matches a purchase the player confirmed.

Brief

# Test brief: mobile game

Product type: mobile game. A free-to-play or paid game with in-app purchases and live services.
Risk map and evidence: https://howtotestaproduct.com/how-to-test/mobile-game/
Printable checklist: https://howtotestaproduct.com/checklists/mobile-game/

Run these 8 mandatory tests in this order. A test is done only when its done condition is true on the build you will release.

1. release smoke tests (risks: store-rejection). Tool class: mobile automation. Usually run by: QA engineer.
   Done when: On the release build, a new player completes the tutorial, buys one item with a sandbox account and finds it in the inventory after a restart, and the loot box screen shows item odds before the buy button.
2. end-to-end functional tests (risks: user-harm, regulatory-penalty). Tool class: mobile automation. Usually run by: QA engineer.
   Done when: A new account set to under 13 starts with voice and text chat off, and only a verified parent can turn them on.
3. exploratory testing (risks: money-loss, user-harm). Tool class: test management. Usually run by: QA engineer.
   Done when: A tester acting as a child tries to buy currency and chat with strangers, and each attempt stops at a parental gate.
4. data integrity and migration testing (risks: money-loss). Tool class: data validation. Usually run by: developer.
   Done when: For a sample of sandbox purchases, every charge in the store's purchase records matches a purchase the player confirmed in the game, and each purchased item appears in the player's inventory once.
5. payment and money-flow testing (risks: money-loss). Tool class: mobile automation. Usually run by: QA engineer.
   Done when: No sandbox purchase can start from a loading screen, sleep wake or item preview, and every purchase asks for a confirmation that names the item and price.
6. compliance checks (risks: regulatory-penalty, store-rejection). Tool class: test management. Usually run by: product manager.
   Done when: A reviewer confirms each loot box shows item odds before purchase, and a player under 13 cannot reach chat or purchases without a parent's consent.
7. performance and load testing (risks: outage-under-load). Tool class: load generator. Usually run by: developer.
   Done when: A load test at the launch or event forecast plus the margin the team set keeps login and match start within the team's target.
8. resilience and failure testing (risks: outage-under-load). Tool class: chaos tool. Usually run by: developer.
   Done when: When the service-discovery cluster or session store degrades, players see a queue screen and keep their inventory and progress after recovery.

Acceptance criteria wording:
A release of the mobile game is accepted when a new player completes the tutorial, buys an item in the sandbox and keeps it after a restart, and no purchase starts from a loading screen, sleep wake or item preview without a confirmation naming the item and price. A new account set to under 13 starts with voice and text chat off, and each loot box shows its odds before the buy button. A load test at the event forecast keeps login and match start within the team's target, and every store charge in a sample matches a purchase the player confirmed.

Report back for each test: pass or fail against its done condition, the build or version tested, and the proof (screenshot, log line or report file).

Licence: CC BY 4.0.

For founders: what to forward and what to ask back. For product managers: turning this page into tickets.

Questions about testing a mobile game

What testing does a mobile game need?

8 tests are mandatory, each tied to one of the 5 risks in the map, such as purchases a child triggers through a confusing button, data collected from child players without parental consent and backend overload at launch. They include exploratory sessions where a tester plays as a child and tries to buy and chat. Unit, regression, penetration, compatibility and analytics tests are recommended, each with the event that makes it mandatory.

What gets a mobile game rejected by an app store?

The map attaches store rejection at primary grade: a loot box that does not show each item's odds before purchase, or a kids-rated game with an uncertified ad SDK, is rejected. The release smoke check confirms loot box odds show before the buy button on every build, and compliance checks run when a loot box is added or its odds change. Analytics tests of ad SDK traffic from a child account become mandatory when an ad or attribution SDK is added to a build rated for children.

What is the minimum testing for a mobile game at MVP stage?

The minimum is the 8 mandatory tests, because their conditions hold from the first release: the game sells currency or items, is played by children, has chat and needs capacity for launch. Accessibility, localization and offline tests are optional. Contract, usability and security scanning are not needed until the conditions on the page change.

When is test automation worth it for a mobile game?

The release smoke check of tutorial, purchase, inventory and loot box odds runs on every build. Unit tests of drop rates and rewards become mandatory when those rules change. The regression suite of purchase-confirmation, child-account chat default and loot box odds cases becomes mandatory when live content ships between client releases.

Which tests in a vendor test plan for a mobile game are not needed?

Contract tests are not needed while one team owns client and server, until a partner ships against the game API. Security scanning is not needed while payments and accounts stay with the store, until the game stores payment details or accounts outside it. Usability testing is not needed while purchase confirmation and chat defaults are checked by the payment, compliance and end-to-end items, and becomes recommended when tutorial drop-off is high.

Evidence

  1. ev-0263court-or-fineprimary

    Fortnite Video Game Maker Epic Games to Pay More Than Half a Billion Dollars over FTC Allegations of Privacy Violations and Unwanted Charges, Federal Trade Commission

    Children and teens have been bullied, threatened, harassed, and exposed to dangerous and psychologically traumatizing issues such as suicide while on Fortnite.

    Supports user-harm for a kids app with chat or multiplayer: the FTC tied harm to children to voice and text chat being on by default, tied unwanted charges to confusing purchase buttons, including purchases triggered when waking the game from sleep, on a loading screen or while previewing an item, and found personal information collected from children under 13 without notifying parents or getting their consent.

    published 2022-12-19 · verified 2026-10-07

  2. ev-0290court-or-fineprimary

    In the Matter of Apple Inc., Federal Trade Commission

    Supports money-loss for a mobile game: the case concerns children's in-app purchases in games billed to parents without their consent.

    published 2014-01-15 · verified 2026-10-07

  3. ev-0024regulatorprimary

    Children's Online Privacy Protection Rule (COPPA), U.S. Federal Trade Commission

    COPPA requires verifiable parental consent before collecting personal information from children under 13 on sites and apps directed to children or with actual knowledge.

    published undated · verified 2026-10-07

  4. ev-0291post-mortemsecondary

    Bringing Pokémon GO to life on Google Cloud, Google Cloud

    Within minutes of launching in Australia and New Zealand, player traffic surged well past Niantic's expectations.

    Supports outage-under-load for a mobile game: the cloud provider's engineering write-up describes launch traffic for a location-based mobile game far above the publisher's forecast and the scaling work that followed.

    published 2016-09-30 · verified 2026-10-07

  5. ev-0292post-mortemprimary

    Roblox Return to Service, Roblox

    Enabling a relatively new streaming feature on Consul under unusually high read and write load led to excessive contention and poor performance.

    Supports outage-under-load for a mobile game: the company's post-mortem shows a game platform used on phones taken down when its service-discovery cluster failed under high load.

    published 2022-01-20 · verified 2026-10-07

  6. ev-0001store-guidelineprimary

    App Review Guidelines, Apple

    Apple reviews every iOS, iPadOS and macOS App Store submission against these guidelines, including crashes and bugs at review, privacy disclosures, in-app purchase rules and extra rules for medical, financial and kids apps, and apps with user-generated content must let users report offensive content and block abusive users (guideline 1.2), and apps offering loot boxes or similar mechanisms must disclose the odds of each item type before purchase (guideline 3.1.1).

    published undated · verified 2026-10-07

  7. ev-0003store-guidelineprimary

    Designing apps for children and families, Google Play

    Google Play Families policy sets extra requirements (ads, data collection, SDKs) for apps whose target audience includes children.

    published undated · verified 2026-10-07

Disclaimer

This page lists tests and risks for a product category, not for your product. Risks are attached only with the evidence shown in the Evidence section. Tools are listed alphabetically and are not recommendations. Nothing here is legal, regulatory or security advice; where a regulator or a store sets a requirement, their page is linked and takes precedence.