Bien qu'extrêmement tentante, l'automatisation des tests ne se solde pas toujours par un succès... Pour poursuivre mon précédent article, je vous propose donc aujourd'hui de lister quelques éléments qui pourraient faire échouer votre démarche d'automatisation. Vous voulez éviter les pièges : Suivez le guide !
Vous pensiez mettre en place une règle de "un pour un" entre votre plan de test manuel et votre futur référentiel automatisé ? Ce n'est vraiment pas la meilleure idée. Vos tests ont été pensés pour des humains qui analyseront leurs résultats au fil de l'exécution, et prendront les initiatives nécessaires pour poursuivre leur test. Un automate ne prendra pas d'initiative ! Pour lui chaque grain de sable doit avoir été prévu,
Pour ma part, face à un plan de test existant, je préfère revenir à la couverture de test cible. Quelles exigences cherchions-nous à couvrir lorsque nous avons rédigé ce plan de test ? Quels scénarios automatisables me permettront une couverture similaire ?
Lors de la conception de mes scénarios automatiques, je privilégie les principes suivants :
Avant tout lancement d'une démarche d'automatisation, il est primordial d'évaluer l'automatisabilité de vos applications. Même dans le cas d'une application web, qui constitue l'un des domaines les plus propices à l'automatisation, il n'est pas dit que la tâche soit aisée.
Les points à vérifier :
Comment vos testeurs déroulent-ils leurs tests actuellement ? Ils n'ont probablement pas constitué et communiqué un book de données. Ceci ne pourra pas s'appliquer pour votre automate. Pour lui, la stratégie de création, d'utilisation et de contrôle de la donnée doit être complètement limpide et prédictible.
En phase de stratégie, il faudra lister l'ensemble des objets de données impactant votre automate.
Pour chacun, on identifiera :
Votre environnement de recette n'est pas le plus performant ? Vos testeurs ont l'habitude des temps d'attente et de devoir parfois relancer leurs actions pour obtenir les résultats attendus. Ce point, qui dérange déjà un grand nombre de testeurs, a un impact fort sur l'automatisation de vos tests.
La robustesse est le talon d'Achille des automates IHM. Les conséquences majeures d'un environnement lent et/ou instable sont les suivantes :
Comme tous les testeurs (et peut être même un peu plus), un automate préférera s'attaquer à un environnement stable et performant.
Vous avez trop de régressions ? Vous voulez donc rapidement disposer de votre automate. Vous pensiez mettre en place un projet d'automatisation dédié avec une task force qui réalisera les tests de manière complètement autonome. Vous parviendrez ainsi a obtenir rapidement un premier lot de scénarios automatisés.
Parfait ! Mais si votre cellule d'automatisation n'est pas en lien étroit avec le release management et le product management, ce premier lot sera rapidement obsolète :
Pour éviter cela, considérez l'automatisation comme une démarche intégrée au processus de delivery.
Fort d'une base solide, vous aurez davantage de latitude au moment de choisir un outil d'automatisation.
Notre prochain article s'attardera sur les modes de scripting au sein des automates.