Utilisation du BDD avec Robot Framework dans Squash AUTOM
Cette page décrit comment utiliser le BDD et Robot Framework : déclarer des cas de test Gherkin, implémenter les tests et les exécuter.
Vue d'ensemble du processus
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
Versions utilisées
Ce HOWTO utilise
- Squash TM 4.0.0
- Robot Framework 5.0
- The Browser library 12.1.0
- Robocop 2.1.0
- Node.js 16.14.2
- Python 3.10.2
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, Robot Framework ou Python.
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.
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 ce HOWTO est disponible dans https://gitlab.com/henixdevelopment/open-source/code-samples/howto-bdd-robotframework-01.