Aller au contenu

Utilisation du BDD avec Cucumber dans Squash

Cette page décrit comment utiliser le BDD et Cucumber JVM : déclarer des cas de test Gherkin, implémenter les tests et les exécuter.

Le public cible de ce HowTo est :

  • Les personnes qui veulent avoir une vue d'ensemble de tout le processus, elles peuvent parcourir le document, en sautant les détails techniques.
  • Les personnes qui seront impliquées dans un tel processus.
    Pour la partie administration, elles doivent connaître les bases de l'administration de Squash TM. Des pointeurs vers les instructions précises sont fournis.
    Pour la partie automatisation des tests, elles doivent connaître les bases de Git, Java et Maven. Quelques conseils d'architecture et de codage sont fournis. Le code utilise Selenium pour interagir avec le navigateur.

Vue d'ensemble du processus

Mise en situation

Nous allons voir comment une équipe de développement en charge de réaliser un site de e-commerce va mettre en place les tests automatisés pour valider les premières fonctionnalités livrées par les développeurs : création de compte, login et remplissage du panier. D'un commun accord, ils ont décidé de formaliser les cas de test en Gherkin afin d'éviter les ambiguïtés et d'assurer la réutilisation des étapes de test. L'automaticienne utilisera les technologies qu'elle maîtrise pour gagner du temps.

Personas impliquées

Nous utiliserons les personas suivantes dans ce HowTo :

  • Pravash, le Product Owner du projet ;
  • Fabrice, le testeur fonctionnel ;
  • Antonine, l'automaticienne chargée d'implémenter les cas de test définis par Fabrice ;
  • Annita, l'administratrice de Squash TM.

Phases

Les phases que nous allons décrire sont les suivantes :

Annita
Administratrice Squash TM
Pravash
Product owner
Fabrice
Testeur fonctionnel
Antonine
Automaticienne
Configurer Squash TM
Rédiger les exigences
Rédiger les cas de test
Transmettre les cas de test
Récupérer les cas de test
Automatiser les cas de test
Fournir les cas de test automatisés
Indiquer que l'automatisation est effectuée
Exécuter les tests automatisés

(Vous pouvez cliquer sur une phase pour y accéder directement).

Quelques remarques initiales

Stratégie de test

Cet exemple décrit comment effectuer des tests d'interface utilisateur. Leur objectif est de vérifier que l'interface utilisateur se comporte correctement, et non de vérifier que les flux de travail des utilisateurs fonctionnent comme prévu (par exemple, qu'une commande est correctement générée et enregistrée dans la base de données des commandes).
Ces flux de travail doivent être testés au niveau du service, en appelant l'API du service Web (SOAP, REST, GraphQL…) du SUT. Les services Web ont tendance à être beaucoup plus stables que l'interface utilisateur, de sorte que le coût de maintenance est plus faible pour les tests de services Web que pour les tests d'interface utilisateur. Les tests de services Web sont également plus simples et plus rapides à écrire.
Actuellement, ce HowTo ne contient pas de tests de services Web.

Accès au code

Le code utilisé dans cet exemple est disponible dans https://gitlab.com/henixdevelopment/open-source/code-samples/howto-bdd-cucumber-01.

Versions utilisées

Ce HowTo utilise

Les numéros des versions des outils ci-dessus correspondent aux versions utilisées pour ce HowTo, mais l'utilisation de toutes autres versions de ces outils n'empêchera pas de suivre toutes les étapes, seuls certains détails techniques changeront si vous utilisez une autre version de Squash TM, Cucumber, Java ou Maven.

Installation de Prestashop comme exemple de SUT

Nous avons besoin d'un exemple de SUT pour illustrer le cycle de vie des tests BDD. À cette fin, nous utiliserons la démo de Prestashop. Si vous souhaitez reproduire les étapes décrites dans ce document, cette page décrit comment installer Prestashop.