en

L’automatisation des tests et les tests dirigés par les mots-clés

09.01.2019

L’automatisation des tests est un aspect crucial du développement d’une application sous un modèle d’intégration continue. Les scripts de tests, qui sont développés tout au long de la création d’une application, sont exécutés régulièrement pour détecter rapidement les anomalies et identifier les régressions causées par de nouveaux ajouts au code.

Puisque l’application évolue au fur et à mesure que des fonctionnalités sont ajoutées, les scripts de tests doivent pouvoir être révisés rapidement. Après tout, l’objectif des tests automatisés est de gagner du temps et de sauver de l’argent, donc il est important que les scripts de tests soient flexibles.

C’est ici que les tests dirigés par les mots-clés (le « keyword-driven testing ») entrent en jeu.

Les tests dirigés par les mots-clés, c’est quoi ?

Vous êtes chargé de développer des scripts de tests automatisés. pour tester une application web. Vous commencez par écrire des scénarios de tests que vous convertirez ensuite en code, dans un langage de script comme Python ou Groovy. Votre scénario comporte des étapes simples et brèves, sous forme de phrases. Chaque phrase décrit une action que le script devrait exécuter, sans toutefois aller dans les détails techniques.

En gros, votre scénario ressemble à des instructions que vous donneriez à un usager humain pour qu’il puisse effectuer votre test manuellement.

On a donc deux processus distincts, un étant d’écrire les scénarios de tests, et l’autre étant de développer les scripts qui suivront ces scénarios. Ce qui rend les tests dirigés par les mots-clés si avantageux, c’est qu’ils unifient ces deux processus.

Mais en quoi est-ce que c’est si génial ?

Avec les tests dirigés par les mots-clés, le temps et les efforts investis dans le développement des scripts de tests est grandement réduit. Chaque mot-clé représente une phrase abstraite et simple qu’on peut réutiliser dans plusieurs scénarios de tests. Par exemple, le mot-clé crée pour cliquer sur un bouton peut être utilisé dans tous les scénarios qui impliquent un bouton et ce, sans écrire la moindre ligne de code.

Puisque chaque mot-clé représente une étape de notre scénario, l’entretien et la révision des scripts de tests est très simple. Lorsqu’une nouvelle étape est ajoutée à notre scénario, il suffit d’insérer un nouveau mot-clé dans les étapes du script. Lorsqu’une étape est enlevée du scénario, on retire le mot-clé qui correspond à cette étape du script.

Les résultats sont clairs et précis. Dans le cas où une anomalie survient dans l’application, le script échoue et indique précisément quel mot-clé pose problème. Puisque ce mot-clé correspond à une étape d’un scénario, il est très facile pour les développeurs de l’application de voir ce qui s’est passé et de reproduire l’anomalie, pour ensuite la régler.

Qu’est-ce que je gagne en bout de ligne ?

Les tests dirigés par les mots-clés possèdent de nombreux avantages, dont:

  1. Facilité d’utilisation. Une fois qu’une plateforme ou un outil est en place, les testeurs manuels seront en mesure de créer des tests automatisés et ce, même si leurs connaissances techniques sont limités.
  2. Facilité au niveau de la lecture. Les mots-clés font en sorte que les scripts de tests sont faciles à lire et à comprendre. Un chef de projet ou un analyste au niveau des données, par example, sera en mesure de comprendre très rapidement ce qu’un script de test cherche à tester.
  3. Implémentation plus rapide des tests. Puisque les tests peuvent être scriptés très rapidement, ils peuvent être implémentés plus tôt dans le cycle de développement. Ceci permet à l’équipe de tester des fonctionnalités très tôt dans le cycle de développement et d’identifier des erreurs plus tôt dans le processus.
  4. Réutilisation des scripts. Pour sauver du temps, certains scripts peuvent être réutilisés en changeant une variable ou en apportant quelques petits changements.

En gros : moins de temps et d’efforts investis pour développer et entretenir des scripts de tests, ce qui permet de créer un plus grand nombre de scripts et d’étendre l’automatisation des tests pour couvrir plus de cas.

Un autre avantage est la librairie de mots-clés, qui peut être modifié selon les besoins. Quoique la libraire de mots-clés de base est généralement suffisante, certains projets ont des besoins très spécifiques qui nécessitent la création de nouveaux mots-clés. Un membre de l’équipe peut donc créer des nouveaux mots-clés que le reste de l’équipe pourra ensuite utiliser.

Le pouvoir des mots-clés

Les tests dirigés par les mots-clés représentent une solution intéressante pour créer des scripts de tests automatisés solides, mais flexible. Dans beaucoup d’équipes Agile, les développeurs et les spécialistes AQ contribuent maintenant à la base de code d’un projet. Les barrières entre ces disciplines s’effondrent peu à peu: les développeurs ont plus de responsabilités en lien avec la qualité logicielle tandis que les spécialistes AQ accomplissent des tâches qui demandaient auparavant des connaissances en programmation.

En général, les développeurs et les spécialistes AQ sont encouragés à collaborer et à partager leurs connaissances pour assurer une meilleure qualité logicielle.

Si la qualité logicielle est importante pour vous, la meilleure façon de vous assurer que votre équipe sera en mesure de livrer une qualité logicielle dont vous pouvez être fiers est de tester votre application régulièrement et en profondeur tout au long du cycle de développement. Plus vous testez, plus vous serez en mesure d’identifier et de régler des erreurs bien avant que l’application soit déployée sur un serveur en production.

Les mots-clés peuvent vous aider à atteindre vos objectifs en vous donnant accès à une libraire de mots-clés complète et puissante, simplifiant grandement le processus de création de scripts de tests. Si votre équipe hésite à adopter les essais automatisés et les mots-clés, discutez avec les membres de votre équipe de leurs roles dans le cadre d’un cycle de développement qui utilise les tests dirigés par les mots-clés.

Ils verront à quel point les mots-clés sont puissants et comment le role d’un testeur demande plus de créativité et une approche stratégique.

Avez-vous utilisé les mots-clés dans le cadre d’un projet en développement? Laissez-nous un commentaire dans la section ci-bas!