ISTQB CT-MAT study materials
ISTQB CT-MAT study resources

ISTQB CT-MAT: Testing Mobile Applications

ISTQB CT-MAT · Work through your exam, one topic at a time.

All guide sections

Testing Mobile Applications

This domain covers test types and levels: which quality characteristics need mobile-specific tests, and where in the lifecycle those tests sit.

Functional areas unique to mobile

Install, upgrade and uninstall including data migration; permissions and denial paths; push and local notifications; deep links; in-app purchase; background/foreground transitions and state restore; offline mode and sync conflicts; orientation changes and multi-touch gestures.

Interruptions and reliability

Incoming call, SMS, alarm, another app's notification, low-battery warning, headphone unplug, network loss. A preempted app must resume with state intact or fail gracefully. This is a test type in its own right and belongs on real devices.

Non-functional test types

  • Usability in context: one-handed use, bright sunlight, walking, touch-target size.
  • Performance/efficiency: cold start time, memory, battery drain, data usage, frame rate.
  • Security: data at rest and in transit, credentials in keystore/keychain, permission scope, root/jailbreak detection, no secrets in logs.
  • Compatibility: device, OS version, network, browser.

Levels and environments

Unit and integration testing by developers; system testing on emulators plus representative real devices; acceptance testing; field testing and beta distribution via store tracks (TestFlight, internal/closed testing); crowdtesting for breadth.

Worked example

A VoIP app passes a Wi-Fi regression run. Testers then inject a GSM call during an active VoIP call: audio routing stays on the earpiece afterwards. Reasoning: interruption is a reliability test needing a real device with telephony, and the defect is restoration of audio-route state, not call setup.

Traps that cost marks

Only the happy path on the best device; treating "no crash" as offline support instead of checking cached data and conflict resolution; skipping upgrade tests from the previous store version.