Blog technique sur mes expériences de développeur.
25 octobre 2020
Nous venons de voir que les bugs trackers sont extrêmement importants pour surveiller et améliorer la stabilité d’une application une fois celle-ci distribuée sur un ou plusieurs magasins d’applications. Si vous êtes amené à faire évoluer pas mal d’applications fortement utilisées, il vous arrivera forcément un jour des mauvaises surprises. La plus connues étant : l’application fonctionne parfaitement pendant vos tests, mais une fois en production c’est le drame, rien ne marche, les crashs sont multiples! Vous allez véhiculer une très mauvaise image de votre application et accumuler les mauvaises notes sur le magasin d’applications de la plate-forme touchée.
Ce genre de scénario catastrophe n’arrive pas qu’aux développeurs amateurs ou indépendants qui n’ont pas forcément les moyens, humains comme financiers, de tester correctement leurs applications. Il est donc important de le prendre très au sérieux. A titre d’exemple, l’application Android de la RATP, lors de sa dernière mise à jour majeure a subi ce genre de scénario. Les horaires des transports ne s’affichaient pas, des messages de tests s’affichaient au sein de l’application. Bref, rien n’allait. Il a fallu attendre plusieurs mises à jour de l’application pour obtenir une stabilité acceptable la rendant enfin utilisable. Bien que gratuite, les utilisateurs ayant fait la mise à jour se sont retrouvés plusieurs jours sans pouvoir consulter les horaires de leurs bus, trains, métros, etc. et s’en sont donnés à cœur joie pour distribuer des mauvaises notes !
Nous allons voir qu’il est possible, que l’on soit un développeur amateur, indépendant ou un grand compte, d’éviter de se retrouver dans une telle situation. Pour cela, nous allons étudier dans ce chapitre deux concepts :
Le bêta test est un concept très répandu en informatique qui consiste à faire tester une version d’un programme informatique (un site internet, une application mobile, un système d’exploitation, un logiciel, etc.) proche de la version finale par un panel de personnes. Le but est alors que ce panel d’utilisateurs éprouve, dans notre cas, l’application mobile, afin de faire remonter un maximum d’informations permettant de l’améliorer avant sa diffusion officielle sur un magasin d’applications (Windows Store, Google Play Store, App Store, etc.).
Idéalement, dans le cadre d’une application mobile, il convient que les testeurs soient le plus représentatifs possible des futurs utilisateurs. Par exemple, dans le cadre d’une application Android ou Windows Phone, plate-forme dont le panel de terminaux est très écliptique, il faudrait qu’il y ait des terminaux haut de gamme (Nexus, Samsung Galaxy S, Lumia 1520, Lumia 1020, etc.) comme des terminaux d’entrée de gamme (Wiko, Huaway, Samsung Ace, Lumia 435, etc.) et si le système d’exploitation auquel se destine votre application est disponible sur tablette, n’oubliez pas d’en avoir quelques unes dans votre panel !
La mise en place du bêta testing d’une application est aujourd’hui supporté nativement sur la grande majorité des magasin d’applications même si les appellations peuvent varier. Par exemple, sur le Google Play Store, il est possible de pousser une application sur en bêta ou alpha comme en témoigne la capture d’écran ci-dessous. Pour le coût, le libellé est plutôt explicite.
Sur le Windows Phone Store, si le libellé “bêta” n’est pas utilisé, il est possible de ne rendre visible la publication d’une application qu’à certaines personnes bien ciblées. Vous pouvez ainsi au choix, limiter l’accès à l’application à :
Finalement, sachez aussi qu’il existe des outils spécialisés dans la distribution d’applications auprès d’un panel de testeurs et ce pour les principales plateformes mobiles. Dans les prochaines lignes, je vous propose de revenir très rapidement sur trois d’entre elles.
Débutons nous étude rapide des outils permettant de facilement distribué une application auprès de testeurs par la plate-forme phare du système d’Apple : TestFlight.
Cette plate-forme, qui à l’origine permettait de distribuer des applications iOS et Android à un panel de bêta testeurs a été racheté par Apple en 2014. Depuis ce rachat, la distribution d’application Android n’est plus disponible, Apple préférant se concentrer sur sa propre plate-forme.
En savoir plus sur TestFlight.
Dans le précédent chapitre, je vous présentais Crashlytics comme un bug tracker et étant inclus dans la suite logicielle Firebase. Sachez que dans cette suite logicielle, il existe un mobile Firebase App Distribution permettant de distribuer vos applications mobiles à un panel de bêta testeur. Si TestFlight se limite à la distribution d’applications iOS, Firebase App Distribution lui, permet de distribuer des applications iOS et Android. Une nouvelle fois, on pourra lui reprocher l’absence de compatibilité avec l’univers Windows, que ça soit Windows Phone, Windows Store ou Windows 10.
En savoir plus sur Firebase App Distribution.
Pour terminer ce cours, il nous reste encore une notion importante à voir : le déploiement par étapes.
Le déploiement par étapes, consiste, au moment de la mise en production d’une mise à jour d’une application sur un magasin d’applications, à ne pas diffuser celle ci à l’ensemble de vos utilisateurs, mais en commençant par pourcentage relativement faible.
Quel est l’intérêt de limiter la diffusion d’une mise à jour d’une application mobile ?
On y vient !
Le but est tout simplement de limiter les dégâts si jamais tout ne se passe pas comme prévu. Ce déploiement par étapes doit bien évidemment s’accompagner d’un travail d’analyse de votre côté. Il convient de que vous ayez un œil sur les différents outils qui vous permettent de supervision votre application comme un bug tracker.
Illustrons mes propos à l’aide d’un scénario relativement simple. Vous venez de mettre à jour votre application et vous vous apprêtez à la mettre à disposition de vos utilisateurs. Vous avez actuellement de très bonnes notes sur le magasin d’application sur lequel votre application est distribué et vous ne souhaitez pas voir sa note baisser. Vous décidez alors de mettre à disposition la mise à jour de votre application à seulement 10% de vos utilisateurs. Après quelques jours d’utilisations, jetez un coup d’œil aux anomalies remontées par le bug tracker intégré à l’application. Deux suites peuvent alors être données :