Test Mobile : comment y arriver ?
63% du trafic web se fait maintenant sur smartphone. Une seconde de lag, et pouf, votre utilisateur file chez la concurrence. Bienvenue dans l'enfer du test mobile, où chaque milliseconde compte et où un seul bug peut coûter des millions.
Je vais vous expliquer pourquoi tester du mobile, c'est vraiment galère, quels outils utiliser sans se ruiner, et surtout comment éviter les pièges qui font que 50% des apps sont désinstallées dans les 30 jours.

Pourquoi le mobile, c'est vraiment galère
La fragmentation, ce cauchemar éveillé
Vous pensiez qu'il suffisait de tester sur iPhone et Samsung ? Erreur. Il y a plus de 24 000 modèles d'appareils Android différents en circulation. Oui, vous avez bien lu : 24 000. Chacun avec ses spécificités, ses bugs, ses résolutions d'écran bizarres.
D'un côté, vous avez iOS avec sa relative simplicité : Apple contrôle le hardware et le software. Mais même là, entre l'iPhone SE qui traîne encore et l'iPhone 15 Pro Max, les différences de performance sont énormes. Sans compter que 30% des utilisateurs iOS restent sur des versions anciennes pendant des mois.
De l'autre, Android, c'est le Far West. Samsung qui customise tout, Xiaomi avec MIUI, OnePlus avec OxygenOS... Chaque constructeur met sa sauce, et votre app qui fonctionne parfaitement sur un Pixel peut planter lamentablement sur un Huawei.
Le contexte réel, cette Inconnue
En laboratoire, votre app tourne sur WiFi fibre, avec 100% de batterie et aucune autre app qui consomme. Dans la vraie vie, vos utilisateurs sont dans le métro avec du réseau pourri, 15% de batterie, et 20 apps qui tournent en arrière-plan.
J'ai vu des apps parfaites en test qui devenaient inutilisables dès qu'on activait Instagram et Spotify en parallèle. Le multitâche mobile, c'est un art que peu maîtrisent. Une notification WhatsApp qui arrive pendant un paiement, et c'est le drame.
Cycles de release éclair
Apple et Google sortent des nouvelles versions d'OS tous les trimestres. iOS 17.4, Android 14 QPR2... Chaque mise à jour peut casser votre app. Et vos utilisateurs mettent à jour automatiquement, que vous soyez prêt ou non.
Les développeurs d'une app bancaire m'ont raconté qu'iOS 16 avait cassé leur système de reconnaissance faciale. Découvert le lundi matin quand les clients n'arrivaient plus à se connecter. Week-end de crise garanti.
Les 3 piliers de l'outillage mobile
Espresso et XCUITest : Les poids lourds natifs
Espresso pour Android, c'est le Rolls du test natif. Développé par Google, il comprend Android mieux que personne. Synchronisation automatique avec l'UI, performance excellente, intégration parfaite avec Android Studio.
Le revers de la médaille ? Il ne faut que du Java ou Kotlin, et c'est Android only. Vos testeurs iOS peuvent retourner boire leur café.
XCUITest d'Apple, même combat côté iOS. Swift ou Objective-C obligatoire, mais performance native et accès complet aux APIs iOS. Le problème, c'est que maintenir deux stacks de tests différentes, ça coûte cher en ressources.
Appium 2 : Le couteau suisse
Appium, c'est la solution cross-platform par excellence. Un seul code de test pour iOS et Android, support de multiples langages (Java, Python, JavaScript...), et une communauté énorme.
La version 2 a corrigé pas mal de problèmes de stabilité qui rendaient la version 1.x frustrante. Les nouveaux drivers sont plus rapides, et la gestion des éléments UI s'est considérablement améliorée.
Mobile Cloud : La cavalerie
Maintenir un lab mobile interne, c'est l'enfer. Devices qui cassent, batteries qui gonflent, mise à jour des OS... Sans compter que pour couvrir décemment le marché, il faut au minimum 50 devices différents.
BrowserStack (ou AWS Device Farm ou encore Perfecto), c'est votre salvation. Accès à des milliers de devices réels, dans le cloud, à la demande. Plus besoin de gérer le hardware, tout est maintenu et mis à jour.
Le piège ? Les coûts s'envolent vite si vous ne maîtrisez pas votre usage.
La stratégie qui marche
La pyramide de tests adaptée au mobile
- Base (60%) : Tests unitaires et d'intégration. Tout ce qui peut être testé sans UI doit l'être. API calls, logique métier, parsing JSON... Rapide, fiable, pas cher.
- Milieu (30%) : Tests d'interface natifs. Espresso/XCUITest sur vos parcours critiques. Login, achat, inscription... Les trucs qui peuvent tuer votre business.
- Sommet (10%) : Tests end-to-end cross-platform. Appium sur quelques scenarios clés, sur les devices les plus populaires.
Ciblage malin des devices
Ne testez pas sur 200 devices "au cas où". Analysez vos analytics :
- Top 5 des devices de vos utilisateurs actuels
- Top 3 par gamme (premium, milieu, entrée)
- Les outsiders qui représentent vos marchés cibles
Une app e-commerce française teste sur iPhone 15/14/13, Samsung Galaxy S23/A54, et Xiaomi Redmi Note 12. Cela peut couvrir 80% de la base utilisateur.
Mix Local + Cloud optimal
Local : 5-6 devices physiques pour le développement quotidien et les tests exploratoires. Des modèles qu'on connaît par cœur, toujours à jour. Cela permet aussi de tester manuellement l’expérience utilisateur.
Cloud : Execution massive des tests automatisés, tests sur devices exotiques, validation finale avant release.
Les pièges à éviter absolument
Tout automatiser
Vouloir tout automatiser et ne pas évaluer vos application avec de vrais personnes en condition réel( géolocalisions, appel, SMS..) est un vrai risque pour l’expérience utilisateur.
La solution ? Prévoir des sessions de test exploratoire et d’usabilité.
Émulateur-Only : la fausse bonne idée
"On teste sur émulateur, c'est plus pratique." Oui, mais l'émulateur ne simule pas :
- La vraie performance hardware
- Les interruptions système
- Les spécificités constructeur
- La consommation batterie réelle
Données Sales : le piège invisible
Vos tests plantent bizarrement le vendredi après 17h ? Vous avez sûrement des données de test qui ne sont pas propres. Utilisateur créé lundi, modifié mardi, supprimé mercredi, re-créé jeudi...
Isolation des données par test, cleanup automatique, jeux de données frais à chaque exécution. C'est contraignant à mettre en place, mais ça sauve des weekends.
Comment survivre dans ce chaos ?
Le test mobile, c'est un marathon, pas un sprint. Commencez simple : quelques tests critiques sur les devices principaux. Automatisez progressivement. Mesurez tout.
Et surtout, n'oubliez jamais que derrière chaque métrique, il y a un utilisateur réel qui veut juste que votre app fonctionne. Dans le métro. Avec 20% de batterie. Sur son Samsung Galaxy A23 de 2022.
La perfection n'existe pas en test mobile. L'excellence, si. Elle se construit test après test, bug après bug, release après release. Bienvenue dans l'aventure.
Pour allez plus loin, écoute mon épisode de podcast sur ce sujet !