in

Outils de Beta Test pour les applications mobiles – Par Amine Bouzid, Consultant et chef de projet en technologies mobile

Le Beta test est une phase cruciale dans le cycle de développement des applications mobiles,  l’article présente une étude comparative des outils de Beta Test pour les applications Android et iOS.

image002

La qualité d’un produit logiciel est intimement liée à son utilisabilité, sa fiabilité et sa sécurité. Cependant, à l’issue de la phase de développement, les erreurs logicielles et les dysfonctionnements sont presque toujours présents dans un produit. En effet, le nombre éventuel d’erreurs augmente exponentiellement avec la complexité du produit, et malheureusement, notre capacité en tant qu’être humain à gérer cette complexité reste très réduite, cela nécessite ainsi la mise en place d’une démarche de test rigoureuse.  Dans ce cadre, nous distinguons généralement deux grandes familles de tests :

  • ALPHA TEST : regroupe les tests unitaires, les tests d’intégration et les tests systèmes.
  • BETA TEST : On se réfère souvent aux versions beta des applications par pre-release d’une version. Cette étape consiste à faire tester l’application par un grand échantillon d’utilisateurs, de préférence représentatif de l’audience cible. Elle présente ainsi le premier face à face de l’application avec le «monde réel» et permet de produire pour l’éditeur un feed-back important pour la correction et l’amélioration de son produit.

Contexte et spécificités des applications mobiles

Le développement d’une application mobile n’échappe pas à cette règle, et l’intérêt d’effectuer des campagnes de tests pour ce type d’application, avant leur publication sur les stores, demeure primordial. Ce développement est concerné par tous les points cités auparavant, mais se distingue en plus par ses propres caractéristiques :

  • Le marché mobile connaît un développement très rapide.
  • Une segmentation importante, que ce soit sur le volet matériel (les différentes tailles d’écrans de sensors) ou logiciel (les différentes versions d’OS pour un même constructeur !).
  • La connectivité limitée des mobiles via le réseau cellulaire.

Ces spécificités ajoutent des obligations pour l’éditeur des applications mobiles à savoir :

  • Trouver le juste milieu entre le Time To Market TTM et le temps de test approfondi.
  • Tester sur un maximum de devices (terminaux mobile) représentant  l’audience cible.
  • Optimiser le transfert de données entre client et serveur, prévoir une version hors ligne de l’application, le cas échéant des messages d’erreurs claires et précis pour améliorer l’expérience utilisateur.

Face à ces spécificités, le test d’une application mobile peut s’avérer complexe et fastidieux. Pour surmonter cette difficulté, l’utilisation d’outils spécialisés dans ce domaine est incontournable. Dans ce qui suit, nous allons présenter les outils indispensables pour mener à bien une phase de Beta Test d’une application mobile.

Fonctionnalités d’un outil BETA TEST pour mobile

Avant de commencer cette quête, Il faut bien évidemment définir ce qu’est un bon outil de beta test pour mobile et qu’elles sont les fonctionnalités qu’il doit impérativement comporter.

Comme première réflexion à ces questions, nous avons établi une liste de fonctionnalités par ordre de priorité. D’après notre retour d’expérience, un bon outil de beta test pour mobile doit assurer :

  1. La facilité d’acheminement de l’application aux beta testeurs, ce qui n’est toujours pas une tâche triviale surtout pour les applications sous iOS. Bien évidemment, la version beta ne peut pas être sur les stores publiques et doit être distribuée à une communauté restreinte. Le rôle des outils Beta Test et de rendre cette étape de récupération et d’installation des versions beta plus facile et plus fluide pour les beta-testeurs.
  2. La récupération des rapports de bugs ou des anomalies depuis les sessions de test des utilisateurs. Généralement, plus l’outil remonte des informations des sessions utilisateur, plus il est considéré comme efficace. Comme exemple de ces information l’OS, la marque du device, le type de réseau utilisé, la disponibilité de la RAM sur l’appareil, la charge du Processeur au moment où l’application tourne, des captures écrans, etc.
  3. Un environnement privé pour l’éditeur de l’application, avec la gestion des droits des utilisateurs qui peuvent y accéder.
  4. La facilité d’intégration du SDK de l’outil de test avec le produit.
  5. Un support pour l’Intégration Continue.

Par ailleurs, ces fonctionnalités doivent être assurées de préférence sans impacter l’expérience utilisateur (lenteur, redirection, intrusion, etc.). Un utilisateur en phase de Beta Test doit pouvoir simuler une utilisation 100% normale de l’application. 

Les outils de BETA TEST pour mobile

Établir une liste de ces outils par ordre de préférence n’est pas chose facile surtout pour un marché aussi segmenté que le marché mobile. Ici, nous nous concentrerons sur les deux OS les plus répandus actuellement, à savoir Android et iOS.  Nous établirons dans ce cadre une liste de recommandations basées sur le retour d’expérience de NEOXIA sur ce sujet.

Mais avant de présenter ces outils, jetons tout d’abord un coup d’œil sur les grandes firmes mobiles qui sont considérées comme les grands utilisateurs (consommateurs) de ces outils. Le tableau suivant présente une liste des dernières acquisitions effectuées par ces firmes.

  Nom

  Outil de test acheté

  Année acquisition

  Twitter

  Crashlytics

  2013

  Apple

  TestFlight

  2014

  Microsoft

  HockeyApp

  2014

  Google

  Appurify

  2014

Liste des acquisitions d’outils de beta test pour applications mobiles

Il faut noter aussi que Facebook ainsi qu’Amazon développent leur propre outils de beta test pour mobile respectivement Airlock (not open) et Amazon’s A/B Testing Service
En dehors de ces grandes firmes mobiles, il est bien clair que chaque éditeur/développeur d’application mobile devrait se munir d’un bon outil de beta test. Les questions qui se posent alors sont : comment choisir entre les différents outils disponibles sur le marché ? Que faut-il chercher au juste ?

A. TestFairy (gratuit/$)

TestFairy est un outil de beta test qui a l’avantage d’être facilement intégrable sur l’application Android. Il suffit d’uploader le build de l’application Android .apk sur le compte TestFairy et inviter les beta testeurs soit par mail ou à travers la communauté de testeur TestFairy. Aucun ajout sur le code de l’application n’est nécessaire, les serveurs de TestFairy s’occupent des injections du code nécessaire pour remonter les logs et les captures d’écran.

TestFairy propose aussi une fonctionnalité très pratique qui permet de forcer la mise à jour des anciennes versions de l’application, cela évite la confusion créée par différentes versions beta sur les appareils des testeurs.

TestFairy a ajouté récemment le support pour les applications iOS. Il est maintenant possible de distribuer ces applications de test iOS via cet outil. Cependant, nous n’avons pas encore eu l’occasion de tester cette fonctionnalité qui est elle-même actuellement en mode beta test !

Nous citons d’autres points forts de cet outil :

  • Gestion des groupes de testeurs.
  • Possibilité d’ajouter 500 testeurs pour le compte gratuit.
  • Possibilité d’ajouter 10 applications différentes pour le compte gratuit.
  • Rapport sur la durée de session de chaque testeur.
  • Rapport sur la localisation des testeurs.
  • Possibilité d’ajouter des checkpoints
  • Enregistrement de capture d’écran et de vidéo qui aide à reproduire les bugs facilement.
  • Rapport de couverture des différents OS, devices et résolutions.

Les schémas ci-après illustrent des exemples d’usage et de rapports de cet outil.

image003

Statistiques des résolutions devices et OS.

 

image004

Capture vidéo, informations générales et performances.

 

image005

Consommation : batterie, connexion réseau et micro.

TestFlight (gratuit) 

TestFlight était sans doute le leader sur le marché du beta test et de la distribution des applications sur iOS et Android. Cependant, après l’acquisition de Burstly par Apple, TestFlight a abandonné le support pour Android, contraignant ainsi plusieurs développeurs qui ciblent les deux OS mobiles les plus répandus à devoir chercher un autre outil pour la distribution et le beta test sur Android, ou à chercher un outil multiplateforme pour ne pas avoir à gérer deux outils, deux communautés de test, etc.

Mais pour rendre à César ce qui est à César, TestFlight, à travers son SDK, représentait un outil incontournable pour les développeurs d’application iOS avec des fonctionnalités comme :

  • Le rapport de crash en temps réel.
  • Les checkpoints pour vérifier la couverture des tests.
  • Les questions In-App pour poser des questions aux utilisateurs au moment opportun.
  • La récupération du feedback des testeurs.
  • Les mises à jour automatiques des versions beta.

L’intégration du SDK est plus ou moins facile : Il faut ajouter un fichier .h et un Framework .a puis une ligne de code au lancement de l’application pour démarrer la capture de la session de test.

L’ajout de testeurs s’effectue via une invitation par mail, ensuite l’utilisateur ajoute un device de test, le développeur ajoute les UDIDs au provisioning et upload la version beta de l’application. Pour information, un UDID (Unique Device Identifier), comme son nom l’indique, est un identifiant unique d’un terminal mobile.

image006

L’ancienne interface de TestFlight: – Fenêtre de feedback pour les testeurs. – Compte rendu des sessions + logs

Depuis le 26/02/2015, le service de TestFlight est arrêté, il est complètement intégré sur iTunesConnect. Les changements qu’Apple a apportés à TestFlight sont les suivants :

  • Les devices de tests sont gérés par email et plus par UDIDs
  • La limite du nombre de terminaux associés à un compte est passée de 100 à 1000
  • Chaque nouvelle version bêta de l’application est soumise à une vérification par l’équipe Apple (qui peut aller jusqu’à 30 jours !) avant de pouvoir la partager avec les testeurs externes.

image007

 Possibilité d’ajout de 1000 testeurs externes à l’organisation. 

image008

Soumission du build bêta à la validation, avant de parvenir aux testeurs.

B.  AppSee (gratuit/$) 

AppSee est un outil très puissant pour le monitoring des applications beta, que ce soit pour la reproduction et la correction des crashs ou pour avoir des idées d’optimisation. AppSee présente également un bon support. AppSee offre dans ce cadre des fonctionnalités de monitoring très intéressantes :

  • Enregistrement vidéo des sessions : cela permet d’étudier en détail le comportement des utilisateurs de l’application, et facilite la reproduction des bugs. Cette fonctionnalité donne aussi la possibilité d’exclure des parties de l’application qui contiennent des informations sensibles (login/password). Les champs de mot de passe sont exclus par défaut.
  • HeatMap de click : AppSee enregistre tous les types de touche, les combine et crée une carte de la densité des click sur tout l’écran. Cela permet au développeur de savoir les parties de l’écran les plus attractives pour l’utilisateur, et les boutons/fonctionnalités non utilisées ou non intuitives.
  • Analyse de l’utilisation de l’application en temps réel : cette fonctionnalité constitue un outil très puissant pour l’optimisation de l’application car elle se base sur les statistiques d’utilisabilité de l’application. Comme exemple : les écrans où les utilisateurs passent le plus de temps, les statistiques sur les écrans où les utilisateurs quittent l’application, l’ordre de navigation au sein de l’application, etc.
  • Ajout d’événements automatiques : en plus de la vidéo de la session, le SDK AppSee ajoute une timeline descriptive des actions effectuées par le testeur.
  • Statistique d’usage de l’application : la tendance des utilisateurs, le nombre d’utilisateurs récurrents, le temps moyen des sessions, le temps entre deux sessions, etc.

Il est vrai que ces fonctionnalités sont liées à l’analytique plus qu’au test qui nécessite bien sûr une gestion du processus de distribution, mais ces fonctionnalités d’AppSee aident considérablement à comprendre l’attitude des testeurs et même des vrais utilisateurs de l’application, dans le but d’améliorer l’expérience utilisateur.

Cependant, deux points sont à reprocher à AppSee :

  1. La capture vidéo consomme parfois enormément de charge du processeur ce qui ralentit l’application, même s’ils affirment sur leur site le contraire « The recording process is completely transparent to the end user, and has no NOTICEABLE effect on your app’s performance.».Heureusement le ratio d’enregistrement de la vidéo est paramétrable, il faut cependant faire plusieurs essais pour trouver le bon ratio afin de récupérer le maximum d’information sans pénaliser les performances de l’application.
  2. AppSee ne gère pas la distribution des applications et la gestion des comptes testeurs.

Les figures suivantes présentent des exemples de rapport d’AppSee.

image009

Liste des écrans les plus visités + généralités sur l’application 

image010

Rapport de la résponsitivité de l’application aux gestes

image011

HeatMap d’un écran et pourcentage de navigation vers les autres écrans

image012

Liste des sessions et timeline des actions

Récapitulatif

Ce qu’il faut retenir :

Le Beta test :

  • Est une phase critique du cycle de développement des applications mobiles.
  • Ne se limite pas à la découverte des bugs.
  • Se base sur la collaboration étroite entre l’équipe de développement et les testeurs.

Les outils de Beta test :

  • Facilitent la vie aux développeurs en permettant la distribution des différentes versions beta de l’application sur les testeurs.
  • Simplifient la récupération des rapports des sessions des tests et les feedbacks des testeurs.

Le tableau suivant présente une synthèse des principaux outils Beta Test pour les applications mobile avec notre propre évaluation de la qualité et de la pertinence des fonctionnalités offertes par ces outils.

Nom

AppSee

TestFairy

TestFlight

HockeyApp

  Pricing

Essai/custom price

gratuit

gratuit

payant

  Plateformes

Android, iOS

Android, iOS

iOS

iOS, OSX, Android, WP

  Distribution

+++

++

+

  Gestion utilisateurs / groupes

++

+++

++

  Facile à implémenter

+

+++

+/-

  Support pour l’IC

++

  Rapports avancés

+++

++

++

  Rapports Vidéo

+++

++

  Rapports de Crash

++

+++

+++

++

  Rapport de couvertures

+++

+++

+/-

Corinne
Corinne

Depuis plus de 25 ans dans le métier de la communication et du marketing, Corinne a démarré sa carrière à la télévision avant de rejoindre une agence événementielle. Curieuse dans l’âme, elle poursuit sa carrière dans l’IT et intègre une société de conseil en éditique puis entre chez un éditeur de logiciels leader sur son marché, SEFAS. Elle est ensuite nommée Directrice Communication chez MGI Digital Graphic, constructeur de matériel d’impression numérique et de finition international coté en bourse. Revenue en 2008 chez SEFAS au poste de Directrice Marketing et Communication groupe, elle gère une équipe répartie sur 3 géographies (France, Etats-Unis et Angleterre), crée le groupe utilisateurs de l’entreprise et lance un projet de certification ISO 9001, ISO 14001 et ISO 26000 couronné de succès. Pendant 7 ans membre du conseil d’administration de l’association professionnelle Xplor France et 2 ans sa Présidente, Corinne a créé dès 2010 TiKibuzz, son agence de marketing et de communication. Elle devient Directrice de la Communication en charge des Relations Presse, du Lobbying et du marketing digital chez DOCAPOST, groupe La Poste, durant 3 ans avant de rejoindre la start-up FINTECH Limonetik, en 2013. C'est cette même année qu'elle crée votre média professionnel, DOCaufutur, l'avenir du document.

Written by Corinne

Depuis plus de 25 ans dans le métier de la communication et du marketing, Corinne a démarré sa carrière à la télévision avant de rejoindre une agence événementielle. Curieuse dans l’âme, elle poursuit sa carrière dans l’IT et intègre une société de conseil en éditique puis entre chez un éditeur de logiciels leader sur son marché, SEFAS. Elle est ensuite nommée Directrice Communication chez MGI Digital Graphic, constructeur de matériel d’impression numérique et de finition international coté en bourse. Revenue en 2008 chez SEFAS au poste de Directrice Marketing et Communication groupe, elle gère une équipe répartie sur 3 géographies (France, Etats-Unis et Angleterre), crée le groupe utilisateurs de l’entreprise et lance un projet de certification ISO 9001, ISO 14001 et ISO 26000 couronné de succès.
Pendant 7 ans membre du conseil d’administration de l’association professionnelle Xplor France et 2 ans sa Présidente, Corinne a créé dès 2010 TiKibuzz, son agence de marketing et de communication.
Elle devient Directrice de la Communication en charge des Relations Presse, du Lobbying et du marketing digital chez DOCAPOST, groupe La Poste, durant 3 ans avant de rejoindre la start-up FINTECH Limonetik, en 2013. C'est cette même année qu'elle crée votre média professionnel, DOCaufutur, l'avenir du document.