Skip to main content
Mobile App Testing·Lesson 4 of 5

Compatibility Testing

Your app might work perfectly on your test device but crash on a user's phone. Compatibility testing ensures your app works across the fragmented mobile landscape.

Device Compatibility

Screen Sizes and Resolutions

Mobile screens vary wildly:

CategoryExamplesResolution
Small phoneiPhone SE, Galaxy A14375 × 667, 720 × 1600
Standard phoneiPhone 15, Pixel 8393 × 852, 412 × 915
Large phoneiPhone 15 Pro Max, S24 Ultra430 × 932, 412 × 915
FoldableGalaxy Z Fold, Pixel FoldMultiple states
TabletiPad, Galaxy Tab820 × 1180, 800 × 1280

What to check:

  • Layout doesn't break on small screens
  • Content doesn't look sparse on large screens
  • Text is readable without zooming
  • Images scale correctly
  • No horizontal scrolling on portrait mode
  • Landscape orientation works (if supported)

Foldable Devices

Foldables introduce unique testing scenarios:

  • App adapts when folded/unfolded
  • Content repositions correctly during fold transition
  • Multi-window mode works properly
  • Hinge area doesn't hide interactive elements

OS Version Compatibility

Android Fragmentation

Android version distribution (approximate 2026):

VersionAPI LevelMarket Share
Android 153520%
Android 143430%
Android 133320%
Android 1231-3215%
Android 11 and below≤ 3015%

Testing rule: Support your minimum API level and test on at least 3 major versions.

iOS Adoption

iOS users update faster than Android:

VersionMarket Share
iOS 1860%
iOS 1730%
iOS 168%
Older2%

Testing rule: Test on the current version and one version back. Most apps can drop iOS 15 support.

Version-Specific Issues

Common things that break across versions:

  • Permissions: Android 13+ requires per-notification permission
  • Privacy: iOS 14+ App Tracking Transparency
  • UI changes: Android 12 Material You, iOS 16 Lock Screen widgets
  • API deprecations: Methods removed in newer versions
  • Background limits: Stricter with each OS update

Network Compatibility

Test Scenarios

ConditionHow to TestExpected Behavior
WiFi (fast)Normal WiFiEverything loads quickly
4G/LTEThrottle to ~30 MbpsShould still feel fast
3GThrottle to ~2 MbpsLoading states visible, content loads
Edge/2GThrottle to ~200 KbpsDegraded but functional, no timeouts
OfflineAirplane modeCached content shown, clear offline message
Network switchWiFi → cellularNo data loss, requests retry

How to Throttle Network

Android Emulator:

  • Extended controls → Cellular → Set network type and speed

iOS Simulator:

  • Use Network Link Conditioner (Xcode → Settings → Developer)

Chrome DevTools (for hybrid/PWA):

  • Network tab → Throttling dropdown

Charles Proxy / mitmproxy:

  • Intercept traffic and add latency

Offline Behavior

Every mobile app should handle offline gracefully:

  • Show cached data when available
  • Display a clear "No internet connection" message
  • Queue user actions (likes, comments) for sync when back online
  • Don't show empty screens with no explanation
  • Retry failed requests automatically when connection returns

Orientation Testing

ScenarioWhat to Check
Portrait → LandscapeLayout adapts, no content cut off
Landscape → PortraitLayout reverts correctly
Orientation lockApp respects user's system setting
During video playbackVideo goes fullscreen in landscape
During form entryKeyboard doesn't cover input fields

Localization Compatibility

If your app supports multiple languages:

TestWhy
Long translations (German, Finnish)Text may overflow containers
Right-to-left languages (Arabic, Hebrew)Layout must mirror
CJK characters (Chinese, Japanese, Korean)Font rendering, text wrapping
Date formatsMM/DD vs DD/MM vs YYYY-MM-DD
Currency symbols$, €, ¥, ₹ — different widths
Number formats1,000.00 vs 1.000,00

Creating a Compatibility Matrix

Document which combinations you'll test:

Device          | OS      | Browser/App | Priority
----------------|---------|-------------|----------
iPhone 15       | iOS 18  | Safari      | High
iPhone 13       | iOS 17  | Safari      | High
Pixel 8         | Android 14 | Chrome   | High
Galaxy S24      | Android 14 | Samsung  | High
Galaxy A54      | Android 13 | Chrome   | Medium
iPad Air        | iOS 18  | Safari      | Medium
iPhone SE       | iOS 17  | Safari      | Medium
Pixel 6         | Android 12 | Chrome   | Low

Focus testing effort on high-priority combinations. Use cloud device farms to cover medium and low priority.