mobile-qahardware

What the emulator won't show: 5 classes of bugs found only on real hardware

Emulators speed up CI and are convenient for smoke tests, but relying on them alone is self-deception. Some problems only surface on a real device with real load, battery and sensors. Here’s what regularly slips past emulators and lands in production.

🔥 Thermal throttling. After 5–10 minutes of active gameplay, a real SoC heats up and downclocks. FPS drops from 60 to 30, physics starts hiccupping, animation timings break. The emulator runs on a desktop CPU without throttling — the bug is invisible. Test long sessions (15+ min) on budget Android (Samsung A-series, cheap Xiaomi).

🔋 Low Power Mode / Battery Saver. On iOS, below 20% charge the system throttles background tasks and drops refresh rate from 60 → 30 Hz. On Android, Doze Mode stops WebSocket connections and timers. The game must handle this gracefully: pause, preserve state, not lose progress. Emulator is always “full battery”.

📶 Network transitions. Wi-Fi → LTE → 3G transition on a real commute. Latency swings from 20 ms to 2000 ms, packet loss happens. You won’t reproduce this on an emulator without separate tools (Network Link Conditioner on iOS, tc qdisc on Android). Verify: asset loading, IAP receipts, analytics, ads — do they get stuck when the network rotates?

📞 Phone calls and system popups. Game minimized due to incoming call, system update suggestion, AirDrop invite. Coming back — is the state preserved? Cursor on the right popup? Sound returned? Rarely tested on emulators because these triggers are manual there. A real device with an active SIM catches them naturally.

🎧 Bluetooth audio and aux. Plugging in headphones mid-match — ideally music continues on the correct channel. Bug: on iOS with AirPods, sound sometimes keeps going to the speaker; on Android, disconnecting a BT device can kill audio entirely. Emulator doesn’t model audio routing.

What to embed in the QA process

✅ At least one real low-end Android (under $200) and one mid-range iPhone in the device farm.

✅ Long-session test (15+ min of active play) before each release — on a real device.

✅ “Phone call during gameplay” scenario in the mobile smoke checklist.

✅ Testing below 20% battery — a separate case.

More: Apple — Optimizing for Advanced Displays and Android Vitals.