Skip to content
Bugwise
Menu
Mobile Testing

Device Fragmentation

Thousands of phones, dozens of screen sizes, many OS versions. Learn what device fragmentation is, how to choose a smart device matrix, and which bugs only show up on certain devices.

30 min beginner Mobile

A banking app passes every test on the team’s three test phones: a new iPhone, a new Pixel and a new Galaxy. Two days after release, support tickets pile up: “The Confirm button is missing on my phone.” “The app crashes when I open my statements.” “I never get the payment notification.”

All three complaints come from devices the team never tested: an iPhone SE with its short screen, a cheap Android phone with 2 GB of RAM, and a Xiaomi phone whose battery saver freezes apps in the background. That’s device fragmentation, and it’s one of the main reasons mobile testing is harder than it looks.

What is fragmentation?

FragmentationFragmentationThe huge variety of device models, screen sizes and OS versions an app must support.Open in glossary → means your app runs on a huge variety of devices that differ in many ways at once:

DimensionExamplesWhy it matters
Screen size & shape4.7″ iPhone SE, 6.7″ phones, tablets, foldables, notches and punch-holesLayouts overflow, get cut off or look stretched
Pixel density160 to 640+ dpi on Android, @2x and @3x on iPhoneBlurry images, wrong sizes if the app uses pixels instead of dp/pt
OS versioniOS 17–26, Android 11–16 at the same timeDifferent permissions, APIs and behaviors
Manufacturer skinSamsung One UI, Xiaomi HyperOS, OPPO ColorOS, stock PixelDifferent fonts, settings, battery savers, sharing and permission screens
Hardware power2 GB to 16 GB RAM, budget vs flagship chipsSlow screens, memory crashes, the app killed in the background
Form factorPhones, tablets, foldables (folded and unfolded), ChromebooksLayout must adapt when the screen changes size at runtime
Other hardwareCameras, sensors, NFC, fingerprint vs face unlockFeatures that only fail on some devices
User settingsFont size, display size, dark mode, language, battery saverThe same phone behaves differently for different people

Android has tens of thousands of device models from hundreds of makers. Apple only sells a few dozen iPhone and iPad models, but even there you still have small and large screens, older and newer iOS versions, and iPad multitasking.

Why it matters

How teams choose a device matrix

A device matrix is the list of devices (and OS versions) you test on. Here’s how good teams build one:

  1. Start with your analytics. Look at which devices, OS versions and screen sizes your real users have (Firebase Analytics, App Store Connect, Google Play Console). For a brand-new app, use public market-share data for your target countries.
  2. Know your supported range. The product team decides the minimum OS version (for example “iOS 17+ and Android 11+”). Test the oldest one you still support: that’s where crashes hide.
  3. Cover the newest OS. New releases change permissions, notifications and navigation. Install betas early.
  4. Add the most popular devices. A handful of models often cover a big share of your users.
  5. Add the extremes: a small screen (iPhone SE, a 360 dp Android), a low-end device (2–3 GB RAM), and a tablet or foldable if you support them.
  6. Mix manufacturers. At least Samsung plus one other Android maker (Xiaomi, OPPO, Motorola, Pixel), because skins behave differently.
  7. Review it regularly. Every few months, update the matrix from fresh analytics.

A typical starter matrix looks like this:

SlotExampleCovers
Newest iPhoneThe latest iPhone on the latest iOSNew iOS behaviors
Oldest supported iPhoneiPhone XR on iOS 17Old iOS, older hardware
Small iPhoneiPhone SEShort 4.7″ screen
Popular SamsungGalaxy A-seriesBiggest share, One UI
Low-end Android2–3 GB RAM phone on an older AndroidPerformance, memory, old OS
Other makerXiaomi or OPPOAggressive battery savers, different skin
Stock AndroidPixel on the latest AndroidNewest Android features first
Large screenFoldable or tabletAdaptive layouts, resizing

Build your device matrix

Now it’s your turn. Pick devices from the (example) analytics below. Try to cover the risks without blowing the time budget.

🧩 Build your device matrix

You test a food-delivery app. Analytics show these models (example data). Pick the devices for your regression run and watch the feedback.

Screen sizes are approximate logical sizes (pt on iOS, dp on Android). The remaining 29% of users are spread over hundreds of other models.

Users

17%

Devices

2

Time

1.2 h

One regression pass takes about 35 min per device. Your team has 6 h per release.

OS range

iOS: 26 – 26 (supported 17–26)

Android: 16 – 16 (supported 11–16)

Coverage checks 2/8

  • Both platforms
  • Oldest supported OS (iOS 17, Android 11)Old OS versions are where crashes and missing APIs hide. Add the iPhone XR and the Galaxy A12.
  • Newest OS (iOS 26, Android 16)
  • A small screenSmall or short screens (iPhone SE, 360 dp Androids) are where buttons get cut off.
  • A low-end device (≤ 3 GB RAM)Cheap phones expose slow screens, memory crashes and the app being killed in the background.
  • A tablet or foldableLarge and changing screens break stretched images and fixed layouts.
  • More than one Android manufacturerSamsung, Xiaomi and Google phones behave differently (battery savers, fonts, permissions).
  • At least 45% of users on these exact modelsStart from your analytics: the most popular models give the most value per device.

Screen sizes, to scale

Galaxy S24
iPhone 16

Real devices, emulators and cloud device farms

You have three ways to get a device in front of you. Good teams mix all three. (For a deeper look at the first option, see Simulators and emulators.)

Emulators & simulatorsReal devicesCloud device farms
What it isSoftware on your computer: Android emulatorEmulatorSoftware that imitates a real device's hardware and OS on your computer, like the Android Emulator.Open in glossary →, Xcode iOS simulatorSimulatorSoftware that imitates a device's behavior on your computer, like Apple's iOS Simulator.Open in glossary →Physical phones on your deskReal (and virtual) devices in a data center, used over the internet
Good forFast checks, many OS versions and screen sizes, early developmentReal performance, camera, sensors, gestures, push, battery, OEM skinsMany models you don’t own, automated runs at scale
Weak atPerformance, real hardware, OEM skins (emulators run stock Android)Cost, maintenance, limited number of modelsLatency, cost per minute, some hardware (e.g. NFC) is hard to test remotely
CostFreeBuying and replacing phonesSubscription or per-minute pricing

Popular cloud options:

  • BrowserStack gives you real iOS and Android devices in the browser. App Live is for manual, interactive testing; App Automate runs automated test scripts.
  • Firebase Test Lab (Google) runs automated tests on physical and virtual devices: instrumentation tests and the automatic Robo crawler for Android, and XCTest for iOS. You get videos, screenshots and logs, but it isn’t meant for manual tapping.
  • AWS Device Farm offers real Android and iOS devices for both automated test runs and remote access sessions where you interact with a device manually.

Bugs that only happen on some devices

#BugWhat you seeTypical severity
1Content cut off on small screensThe main button is below the screen edge and the screen doesn’t scrollHigh
2Overlap with large fontsText runs under prices, icons or other text at 130–200% font sizeMedium
3Stretched or blurry imagesPhotos distorted on tablets and unfolded foldables, blurry on high-density screensLow–Medium
4Layout breaks on fold/unfold (see Orientation and screen sizes)The screen resets, loses input, or keeps the phone layout on the big screenMedium–High
5Low-memory crashesCrashWhen an app suddenly closes or stops working because of an unhandled error.Open in glossary →App crashes on 2–3 GB phones when loading images, maps or the cameraHigh
6Background work killed by OEM battery saversNo notifications, stale order status, uploads stop (Xiaomi, OPPO, Samsung “sleeping apps”)High
7Camera differencesWrong orientation, black preview or crash when scanning a card on some modelsHigh
8Notch / cutout overlapHeader or buttons hidden behind the camera cutout; see safe areaSafe areaThe part of the screen not covered by the notch, Dynamic Island, rounded corners or home indicator.Open in glossary →Medium
9OS-version-only bugsA feature works on Android 15 but crashes on Android 11 (missing API)High
10OEM font or setting differencesA maker’s system font is wider, so labels truncate only on that brandLow–Medium

Find the bug

This food-delivery product screen looks fine on the default iPhone 16. But it has five bugs that only appear on certain devices or settings. Switch device profiles, change the font size, tap around, and lock the phone for ten minutes to see what happens to the order status.

🐞 Bug hunt: Device profile lab

This demo has 5 hidden bugs. Explore it like a tester, then check your findings.

Found0/5
9:41
Pizza Place
Order #4821 · Preparingjust now

Margherita pizza, wood-fired with extra basil

€18.90

San Marzano tomatoes, fior di latte, fresh basil and olive oil.

Extras

Device profile

Font size (system setting)

Apple · 8 GB RAM · shown at 63% scale

  1. 1

    Hint: Switch to the iPhone SE.

  2. 2

    Hint: Set the font size to 200% on any device.

  3. 3

    Hint: Pick the unfolded Galaxy Z Fold or the iPad.

  4. 4

    Hint: On the Moto E13 (2 GB RAM), open the photos.

  5. 5

    Hint: Lock the phone for 10 minutes on the Xiaomi, then compare with the Pixel.

Tools and how-to

  • Android Studio › Device Manager: create virtual devices for different screen sizes, densities and Android versions, including foldable, tablet and Resizable profiles.
  • Change size and density on a real phone with adbadbAndroid Debug Bridge: a command-line tool for installing apps, reading logs and controlling Android devices.Open in glossary →: adb shell wm size 720x1280 and adb shell wm density 320. Undo with adb shell wm size reset and adb shell wm density reset.
  • Font and display size: Settings › Display. Combine the largest font with the largest display size for the worst case.
  • Low memory: test on a real low-end phone. In Developer options, Don’t keep activities helps you find state-loss bugs.
  • Battery savers: keep the maker’s default battery settings, lock the phone for a while, and watch for missing notifications.
  • Xcode Simulator: install simulators for the smallest (iPhone SE) and largest iPhones and an iPad. Add older iOS runtimes in Xcode › Settings › Components.
  • Larger Text: Settings › Accessibility › Display & Text Size › Larger Text, with Larger Accessibility Sizes turned on.
  • Display Zoom: Settings › Display & Brightness › Display Zoom makes the UI bigger, similar to a smaller screen.
  • Real devices: keep at least one old, supported iPhone around. The simulator won’t show real memory limits or performance.
  • BrowserStack App Live: upload your build (or install from TestFlight / Play), pick a real device and test manually in the browser.
  • Firebase Test Lab: upload an APK/AAB and run a Robo test across a list of devices to catch crashes and layout issues automatically; or run your team’s instrumentation or XCTest suites.
  • AWS Device Farm: run automated tests across a device pool, or start a remote access session to use a real device manually.
  • Always record the exact device model and OS version from the farm in your bug report.

Example test cases

TC-DEV-001Main button is reachable on the smallest supported screen

Preconditions

  • iPhone SE (3rd gen) or a 360×640 dp Android device

Steps

  1. Open a restaurant
  2. Open a product
  3. Scroll to the bottom of the screen

Expected result

"Add to order" is fully visible and tappable, either pinned to the bottom or reachable by scrolling.

TC-DEV-002Product page is readable at the largest font size

Preconditions

  • Font size set to the maximum (Android 200% / iOS largest accessibility size)

Steps

  1. Open a product with a long name
  2. Check name, price, extras and button

Expected result

No text is clipped or overlapping. The price is fully readable next to or below the name.

TC-DEV-003Layout adapts when a foldable is unfolded

Preconditions

  • Foldable device or foldable emulator

Steps

  1. Open a product on the folded cover screen
  2. Select size L and one extra
  3. Unfold the device

Expected result

The selection is kept, the layout uses the bigger screen sensibly, and images keep their proportions.

TC-DEV-004Photo gallery works on the lowest supported device

Preconditions

  • Android device with 2 GB RAM on the minimum supported Android version

Steps

  1. Open a product
  2. Tap "See all photos"
  3. Scroll through all photos

Expected result

The gallery opens and scrolls smoothly. No crash, no "keeps stopping" dialog.

TC-DEV-005Order updates arrive with the OEM battery saver on default settings

Preconditions

  • Xiaomi or OPPO device, default battery settings
  • Notifications allowed
  • Active order

Steps

  1. Place an order
  2. Lock the phone for 15 minutes
  3. Unlock and open the app

Expected result

Status notifications arrived while locked, and the order status is up to date when the app opens.

TC-DEV-006App launches and core flow works on the oldest supported OS

Preconditions

  • Device on the minimum supported OS (e.g. Android 11, iOS 17)

Steps

  1. Install the release candidate
  2. Log in
  3. Place an order with a test card

Expected result

No crashes; every step works as on the newest OS.

Tip: click a test case to expand it.

Checklist

Device fragmentation checklist

0 of 13 checked

Check your understanding

Quick quiz

0/5 answered · 0 correct

  1. 1.What is device fragmentation?

  2. 2.You can test on only six devices. Which set is the BEST choice?

  3. 3.Order notifications never arrive on a Xiaomi phone but work on a Pixel. What is a likely cause?

  4. 4.Which statement about Firebase Test Lab is TRUE?

  5. 5.Why should important bugs be confirmed on a real device?

Key takeaways

  • Fragmentation = many screen sizes, densities, OS versions, manufacturer skins, hardware levels and form factors at once.
  • You can’t test every device. Build a device matrix from analytics: popular models plus the extremes (small screen, low-end, oldest and newest OS, another maker, tablet or foldable).
  • Mix tools: emulators and simulators for speed, real devices for truth, and cloud device farms (BrowserStack, Firebase Test Lab, AWS Device Farm) for reach.
  • Classic device-only bugs: cut-off buttons on small screens, overlap with large fonts, stretched images on big screens, low-memory crashes, and background work killed by battery savers.
  • Every device bug report needs the model, OS version, settings and build. Without them, nobody can reproduce it.

Finished this page?Nice work, this page is complete!

Mark it as done to track your progress. It's saved in this browser, no account needed.

Its review cards are now in Bites ⚡
Esc

Type to search the whole site.