Que vous ne connaissiez rien à la programmation Android, IOS ou pas, vous avez certainement déjà entendu parler de tests unitaires. Non ? Les tests unitaires sont des tests automatisés pour garantir le bon fonctionnement de votre application, mais pas seulement. Ils vont nous servir à beaucoup de choses et on va essayer de vous montrer ici leur importance.
C'est également pour nous une bonne manière de choisir un développeur de qualité. Celui-ci va certes passer plus de temps à coder mais il aura pris le temps de trouver tous les scénarios possibles du code qu'il écrit.
Une fois les scénarios de développement bien écrits et validés, on va pouvoir commencer à coder. Que ce soit sur Android, IOS ou autre plateforme on procédera de la même façon.
Et oui on n’échappe pas à l'anglais, littéralement développement dirigé par les tests. Contrairement à ce que l'on peut penser ou ce que le monde informatique à fait pendant de nombreuses années, la tendance aujourd'hui est à écrire les tests en premiers. On va en effet chercher sans avoir commencé à développer comment faire échouer notre application.
Uncle bob est un des grands noms du monde du développement informatique moderne, ses articles sont bien sur en anglais et parfois très long mais c'est souvent très intéressant.
Il y a plusieurs niveaux de tests :
Comme vous devez le penser, cela peut prendre beaucoup de temps d'écrire tous ces tests. C'est pourquoi il est indispensable de définir une stratégie de test ensemble avant de commencer. Si votre application est un prototype ou dans le but de perdurer pendant plusieurs années il faudra bien avoir choisi ce que l'on défini comme fonction critique ou non.
Ces tests vous serviront à garantir le bon fonctionnement de votre application à chaque mise à jour.
En effet, on lancera ces tests avant chaque nouveau build (ou compilation de votre application avant publication dans l'app store par exemple). Cela permettra d'être sur que tout fonctionne correctement.
Autres intérêt de réaliser des tests automatisés, pouvoir laisser un autre développeur reprendre le code sans casser le fonctionnement total d'une application. Le code informatique c'est le paradigme de l'effet papillon, on crée quelques briques de codes qui discutent ensemble, puis 10, puis 1000. Plus une application est grosse ou compliqué, plus le facteur de risque en changeant un comportement que l'on casse quelque chose ailleurs est grand.
Beaucoup de développeurs refuseront même de toucher à un code qui n'est pas cadré.
C'est généralement la première réaction, cependant dans le cadre ou votre produit n'est pas un prototype vous allez économiser de l'argent. L'écriture de ces tests peut prendre autant de temps que le développement de la fonctionnalité mais cela vous fera économiser également tous ces tests manuels. (Donc en réalité vous allez en économiser)
Imaginez que vous vouliez garantir que votre formulaire fonctionne à chaque mise à jour ? Il suffit de relancer la suite de tests, si cela ne passe pas c'est que il y a eu une erreur sur votre application mobile.
Pour un prototype relativement simple, on s'en sortira en maintenant une stratégie de test basique. Cependant si votre application est critique, veut pouvoir grossir proprement, nous ne pourront que vous conseiller d'opter pour une stratégie de test optimal.
Pensez à demander la stratégie de tests de votre prestataire lorsque vous demandez un devis. Plus le devis est bas plus vous aurez de chance que celle-ci n'existe pas.