m2_conduite_projet/td3_rapport.md

3.1 KiB

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.

(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