doc: add TD3 report

This commit is contained in:
Yorick Barbanneau 2024-10-07 10:37:45 +02:00
parent e5e6a01c57
commit 362459662c

83
td3_rapport.md Normal file
View file

@ -0,0 +1,83 @@
# TD3 - Tests
Rendre un document avec les réponses aux questions de ce TD
Installer nodeJS, NPM pour la suite
1. Cloner https://github.com/jleveau/M2-Workshops.git (petite application qui permet de créer un atelier & afficher les ateliers créés)
2. Installer et lancer le code (au besoin, lisez l'énoncé de https://github.com/xblanc33/cdp-td/blob/master/td4_code.md)
## 3. Ecrire en Gherkin des scénarios de tests couvrant:
### la création d'un atelier
#### Scénario A.1
> Lorsque qu'un utilisateur décide de créer un atelier,
> Quand il appuie sur le bouton *Ajouter un atelier*
> Alors une requete `GET` vers `workshop` renvoie un code HTTP `200`
> Et le formulaire d'ajour d'atelier est affiché
#### Scénario A.2
> Lorsque qu'un utilisateur se trouve sur la page d'ajout d'atelier,
> Quand il appuie sur le bouton *Annuler*
> Alors il reviens sur la page d'accueil
> Et aucune donnée est enregistrée
#### Scénario A.3
> Étand donné qu'un utilisateur valide le formulaire d'ajout d'atelier
> Quand il clique sur le bouton *Enregistrer*
> Et que le champs *Name* est vide
> Alors Un message d'erreur est affiché
> Et l'utilisateur reste sur la page en cours
#### Scénario A.4
> Étand donné qu'un utilisateur valide le formulaire d'ajout d'atelier
> Quand il clique sur le bouton *Enregistrer*
> Et que le champs *Description* est vide
> Alors Un message d'erreur est affiché
> Et l'utilisateur reste sur la page en cours
#### Scénario A.5
> Étand donné qu'un utilisateur valide le formmulaire d'ajout d'atelier
> Quand il clique sur le bouton *Enregistrer*
> Et que les champs *Name* et *Description* sont specifiés
> Alors L'utilisateur est redirigé sur la page d'accueil
> Et les données sont enregistrés
> Et L'atelier est ajouté en premier à la liste visible sur la page d'accueil
### L'affichage de la liste des ateliers
#### Scénario B.1
> Losque qu'un utilisateur arrive sur la page d'accueil
> Quand aucun atelier n'est défini
> Alors seul le bandeau titre et le bouton *Create new workshop* sont affichés
#### Scénario B.1
> Losque q'un utilisateur arrive sur la page d'accueil
> Quand un ou plusieurs ateliers sont enregistrés
> Alors il sont affichés en dessous du bouton
> Et dans l'ordre de création
## Implémenter les scénari que vous aurez décrits (3.) en Selenium (http://docs.seleniumhq.org/, http://en.wikipedia.org/wiki/List_of_web_testing_tools)
Pour la mise en place de mes test, j'ai choisi d'utiliser le langage *Python*,
*unittest* présent dans la bibliothèque standard et lrd binding Python pour
*Selenium*.
J'ai utilisé le *driver* Selenium pour le navigateur Firefox pour la mise en
place des tests.
Afin de faciliter le lancement de mes tests, et d'être sûr d'avoiur un
environement vierge à chaque exécution, les environnements sont lancés par un
[Taskfile](https://taskfile.dev).
(Optionnel) L'outil de gestion des ateliers proposé ci-dessus ne plaît pas au client, il va falloir en réaliser un autre.
1. Utiliser Figma (https://www.figma.com/) pour proposer une nouvelle maquette de l'outil de gestion des ateliers2. Adapter les scénari de tests écrits en Gherkin à cette nouvelle maquette