Comment tester sur mobile sans mobile ?

Comment tester sur mobile sans mobile ?

Les téléphones mobiles sont partout et presque tous les services ont leur propre application. Au pire, le site Web doit être réactif et doit pouvoir être utilisé sur un petit écran avec un mauvais réseau, et pas seulement sur votre bureau avec un réseau fibré. En tant que testeur d’un site Web ou d’une application Android/iPhone/WinPhone, vous devez le tester en tant qu’utilisateur réel, c’est-à-dire sur un ou plusieurs smartphones ou au moins sur le plus utilisé par vos utilisateurs/clients. C’est à dire avec des tests manuels et automatiques. Que faire si vous n’avez pas un milliard d’€uros/$ollars/£ounds pour acheter tous les smartphones devant être testés ? Serais-ce bien raisonnable de compter sur les devs tools Chrome, sachant que les développeurs ont déjà rapidement « testé » dans cet environnement ?

Outils de développement des navigateurs

Les navigateurs peuvent être utiles pour aider à tester les applications Web. Chromium/Chrome dev tools sont les outils les plus avancés pour cela.

Outils de développement Chrome

Quelques résolutions d’écran de smartphones sont disponibles afin que vous puissiez les utiliser rapidement (Galaxy S5, iPhone 6, etc.), vous pouvez également configurer un peu plus ou directement choisir la résolution d’écran que vous souhaitez tester.

Vous pouvez également modifier le réseau en utilisant la fonction throttling. Quelques-uns sont préréglés mais vous pouvez aussi en personnaliser vous-même. C’est toujours une bonne idée de tester votre produit avec un mauvais réseau.

Optimisation du réseau Chrome

Firefox a également un outil pour évaluer que le design s’adapte bien à la taille d’écran (responsive design), mais pas encore un outil de limitation de réseau en version stable.

Breaking news : il est maintenant disponible en version nightly à partir de Firefox 52

Outil Firefox de restriction du réseau

Pour Safari, vous pouvez utiliser le « Network Link Conditioner » qui est disponible sur le portail développeur d’Apple.

Outils dédiés

Ce n’est pas suffisant d’utiliser les « outils de développement », peut-être un jour les navigateurs fourniront des « outils de testeur » mais ce n’est pas encore le cas. Voyons maintenant les émulateurs, les simulateurs et les services cloud qui permettent d’utiliser des émulateurs à distance et des périphériques réels.

Emulateurs versus Simulateurs

Parfois nous parlons de simulateurs, parfois d’émulateurs. Est-ce la même chose ou non ? En fait, les termes sont souvent utilisés pour parler de la même chose, c’est-à-dire d’exécuter une application ou un navigateur de périphérique mobile sur votre propre environnement de bureau (dans le navigateur ou avec une application dédiée).

Mais si on veut être plus précis, l’émulateur simule non seulement le logiciel mais aussi le matériel du périphérique d’origine. Il est plus proche de la réalité que le simulateur.

En effet, le simulateur simule simplement l’environnement du dispositif d’origine sans essayer de simuler le matériel, ce qui peut avoir un impact sur le résultat observé.

Toutes les plates-formes offrent des émulateurs/simulateurs. Nous avons le simulateur d’Apple iOS qui exécute des applications iOS sur Mac, Windows Phone Emulator pour Microsoft et BlackBerry Simulators pour RIM. De plus, le SDK Android de Google inclut un émulateur mobile. Mais ces solutions sont incomplètes et il n’existe aucun moyen pour l’instant d’installer Chrome dans un émulateur Android.

Keynote

Les outils keynote permettent des tests manuels et automatisés d’applications mobiles et de sites Web sur des centaines de smartphones et tablettes. Keynote fournit de vrais terminaux accessibles pour les tests à l’aide d’un service commercial. J’ai voulu essayer avec un compte d’essai, mais mes deux emails ont été rejetés, probablement parce que ce n’était pas un véritable email d’entreprise. C’est étonnant et je ne suis pas allé chercher plus loin!

Keynote deviceeverywhere

Testdroid

Le service Testdroid de Bitbar est une ferme de véritables périphériques mobiles (Android et iOS) dans le cloud pour les tests d’applications mobiles automatisés ou non. 381 appareils de navigation sont disponibles et vous permettent de tester sur des périphériques réels, et non pas des émulateurs ou des simulateurs. Très peu de smartphones sont disponibles gratuitement (j’ai essayé avec un compte gratuit pour projet open-source) mais j’ai eu droit à plusieurs plantages. Pour accéder à un réseau privé, une connexion VPN peut être utilisée. Je ne l’ai pas testé.

TestDroid

TestObject

TestObject dispose d’une grande liste de vrais périphériques disponibles pour les tests. Vous pouvez facilement sélectionner celui que vous voulez avec les filtres intelligents dans cette page. Étant donné que TestObject a été acquis tout récemment par Saucelabs, nous pouvons espérer que cela aidera Saucelabs à être encore plus intéressant.

Saucelabs

J’utilise Saucelabs depuis longtemps pour certains tests manuels sur les navigateurs que je n’ai pas, ou que je ne veux simplement pas installer pour un test rapide. Voir la liste des Plateformes. Saucelabs offre un large choix de combinaisons disponibles.

Saucelabs

Beaucoup de systèmes d’exploitation comme iOS (8.1->10), Android (4.0->5.1), Windows (XP->10), MacOS (10.8->10.11) et Linux, Chrome, Firefox, Safari, IE et Edge. Ce sont plus de 800 combinaisons disponibles d’un clic pour les tests manuels, mais il peut aussi être utilisé avec des framework Selenium et Appium.

Pour un accès au réseau privé, un tunnel VPN appelé Sauce Connect peut être facilement utilisé.

Saucelabs win10

Tous ces navigateurs proposés sont émulés. Saucelabs fournit également une courte liste de Real devices, mais je n’ai pas pu les utiliser car ils ne sont pas disponibles pour les comptes gratuits.

Saucelabs vous permet également d’avoir vos checks/tests automatisés utiliser leurs navigateurs émulés et ainsi faire exécuter plusieurs tests en parallèle, selon le compte Sauce auquel vous avez souscrit. Pour un compte gratuit pour projet open-source 5 exécutions de test concurrentes sont offertes.

BrowserStack

BrowserStack est assez semblable à Saucelabs concernant l’accès aux émulateurs. Pour l’accès local, vous n’avez pas besoin d’un VPN exécuté manuellement, il vous suffit juste d’avoir un plugin disponible dans Chrome store.

Vous pouvez avoir accès aux outils de développement très facilement, comme si vous les utilisiez dans votre propre navigateur. C’est très pratique et efficace, contrairement à Saucelabs qui permet seulement d’ouvrir les outils de développement dans le navigateur distant émulé.

Iphone6s navigerstack

L’accès réel aux périphériques est censé être librement offert pour les projets open-source si vous ajoutez l’icône et le lien BrowserStack dans votre site Web de projet open-source et dans votre github. Je n’ai pas pu le tester encore.

Une des fonctionnalités intéressantes que BrowserStack fournit est la possibilité de tester rapidement le responsive design dans une liste prédéfinie de périphériques iOS, Android, OS X & Windows.

Navigateur responsable

Vous pouvez également avoir rapidement des captures d’écran prises avec une sélection de smartphones et de tablettes.

Screenshot Browserstacks

Perfectomobile

Perfectomobile permet aussi l’accès à de vrais périphériques pour des tests manuels et automatisés (sur iOS, BlackBerry, Android, Windows Phone). Ils fournissent un outil intéressant appelé The optimizer qui vous remonte une sélection d’appareils que vous devez tester en priorité en fonction de la localisation de vos clients, de l’OS principalement utilisé et le type de périphérique (smartphone ou tablette). Je n’ai pas pu l’essayer.

Genymotion

Genymotion est un émulateur rapide et facile d’Android. Il ne vous permettra donc de tester qu’avec Android. Voir la version cloudifiée ou celle sur AWS EC2. C’est le candidat idéal pour les testeurs qui n’ont besoin que d’Android. Et puis ce n’est pas pour nous déplaire, c’est un pur produit Lyonnais, testé par Thomas.

Xamarin

Xamarin est un IDE qui permet de construire des applications C# sur Android, iOS, Windows et Mac. Mais la société fournit également un service de cloud Testing. Il possède un enregistreur de test pour créer rapidement des scripts UITest en capturant des interactions. Xamarin ne fournit que des périphériques réels et pas d’émulateurs. Il permet d’exécuter des tests automatisés et ne donne pas accès à des dispositifs pour des tests manuels.

Conclusion

Les services dans le Cloud qui vous permettent d’accéder à des périphériques réels ou à des émulateurs pour tester sont nombreux. Vous devez les tester avant de faire votre propre choix, mais n’oubliez pas que le meilleur choix est peut-être pour vous est d’avoir vos propres périphériques mobiles.

2 réflexions sur « Comment tester sur mobile sans mobile ? »

  1. Good read, je ne connaissais pas la différence entre émulateur et simulateur.
    Un service similaire, Kobiton (https://kobiton.com/). Jamais testé, j’en ai entendu parler en découvrant Katalon, le framework d’automatisation des tests mobiles.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.