2019 - NOURI - ALL4TEST- Le BDD pour decouvrir et specifier les besoins metiers_FINAL
1. Tawfik NOURI
Comment utiliser le BDD
pour découvrir et spécifier les besoins métiers ?
17/10/19 3ème édition Soirée du Test Logiciel Sophia #STLS2019 1
BDD
ATDD
SBE
2. Merci aux Sponsors !
17/10/19 3ème édition Soirée du Test Logiciel Sophia #STLS2019 2
3. 3
Qui suis-je ?
Tawfik NOURI
Expert Automatisation des Tests
Coach, Formateur
ATDD/BDD, Framwork ATDD/BDD (Specflow, Cucumber)
Automatisation des Tests (Web, Mobile)
Outils Tests Agiles (HipTest, Xray …)
https://www.linkedin.com/in/nouri-tawfik/
4. 4
ALL4TEST en quelques mots
ALL4TEST est une ESN, pure player en QA et test logiciel depuis 2006.
ALL4TEST intervient en Consulting, POC outils, Accompagnement BDD/Agile, AT,
Externalisation de test (TRA).
Nous structurons également une cellule de R&D sur l’IA appliquée au test, le RPA
afin d’anticiper sur le futur du test logiciel
Nos Agences : Paris – Sophia Antipolis – Tunis
50 consultants / 30 % de croissance annuelle / recrute régulièrement des
passionné(e)s du test.
www.all4test.fr
contact@all4test.com
10. 10
Les tests d'acceptation, qu’est-ce que c’est ?
Tests d’acceptation :
Vue externe du système
SystèmeUtilisateur
Fournisseur
de services
Serveur
Les Interfaces externes
Les effets visibles de l'extérieur:
Les Entrées
Les sorties
Les changements d'état
11. 11
Définitions
Critères d'acceptation:
Les idées générales
Tests d'acceptation:
Les tests spécifiques qui réussissent ou échouent
La triade (Amigos):
Le Testeur
Le Développeur
Le Business analyst
Testeur
Qualité
19. 19
Mars Climate Orbiter | Crash Report
Crash Report
Le crash a bien été causé par une erreur de conversion entre les
pieds et les mètres
Équipe Engins Spatiaux
(Colorado)
Équipe Navigation
(California)
Système Anglo-Saxon Système international
21. 21
La livraison de valeur | Le processus de développement traditionnel
Exigences Analyse Design DéploiementTestCode
22. 22
Les boucles inutiles ?
Incompréhension
Exigences non claires, …
Feedback très lent
Feedback lent Feedback rapide
RéelVoulu
23. 23
Le BDD
✔️ Le BDD est une pratique de collaboration
en utilisant des conversations à propos des
exemples et de règles métier pour renforcer
la compréhension partagée afin de
construire la bonne application.
ExemplesConversations
Compréhension
partagée
24. 24
BDD: Les pratiques et les livrables
Compréhension
partagée
Documentation
vivante
Spécification
exécutable
Les trois livrables:
Discovery AutomationFormulation
Les trois pratiques:
29. 29
Scénario BDD Template
Given
(Setup)
Given (Setup):
La voiture à l'arrêt
When
(Trigger)
When (Trigger):
Appuyer sur l'accélérateur
Then
(Assert)
Then (Assert):
La vitesse de 60 km/h est atteinte avant 10 secondes
30. 30
Scénario BDD Template
Scenario: Vitesse de 60 km/h avant 10 secondes
Given La voiture à l'arrêt
When Appuyer sur l'accélérateur
Then La vitesse de 60 km/h est atteinte avant 10 secondes
35. 35
Discovery: Concrètement ?
User Story : Retirer de l'argent au distributeur
Règle métier : Limite quotidienne de retrait
Si limite=500€
Et déjà retrait = 250€ le 17 Oct.
Montant=250€ le 17 Oct.
OK
Si limite=500€
Et déjà retrait = 250€ le 17 Oct.
Montant=251€ le 17 Oct.
REFUSÉ
Si limite=500€
Et déjà retrait = 250€ le 17 Oct. 23h59
Montant=251€ le 18 Oct. 00h01
??
39. 39
Example Mapping
Exemple 1
Fonctionnalité / User Story Question 1
Règle 1
Exemple 2
Exemple 3
Exemple 1
Règle 2
Exemple 2
Exemple 3
Exemple 1
Règle 3
Exemple 2
Exemple 3
Question 2
Question 3
40. 40
Démonstration Example Mapping:
50€ OK
User Story : Retirer au distributeur
Si le client a une
marge ?
Par tranche de 50€
51€ ERR
100€ OK
500€ à 15h
1€ à 16h
Refusé
Limite quotidienne de retrait
500€ à 10h le 17 Oct.
1€ à 10h le 18 Oct.
OK
500€ à 23h59 le 17 Oct.
1€ à 00h01 le 18 Oct.
Refusé
…
Doit avoir assez de fonds
…
Si la carte 1710 est bloquée
Et le client essaie de retirer
?
Nouvelle US: Fraude
43. 43
Une règle métier simple
Si la catégorie du client est bonne et que le total de la commande est inférieur ou égal à 10,00 €:
Alors PAS de remise
Sinon, Une remise de 1%.
Si la catégorie du client est excellente:
Une remise de 1% pour toute commande.
Si le total de la commande est supérieur à 50,00 €:
Une remise de 5%.
Étant donné un client dont la catégorie est bonne
Et un total de commande de 50.01 €
Quelle devrait être la remise ?
45. 45
Une règle métier simple
Total de la commande Catégorie du client Remise en %
50,01€ Bonne 1%
Given
When
Then
10,00€ Bonne 0%
10,01€ Bonne 1%
01,00€ Excellente 1%
50,00€ Excellente 1%
50,01€ Excellente 5%
51. 51
Table
Un scénario automatisé et communicant
Total de la commande Catégorie du client Remise en %
50,01€ Bonne 1%
10,00€ Bonne 0%
10,01€ Bonne 1%
01,00€ Excellente 1%
50,00€ Excellente 1%
50,01€ Excellente 5%
52. 52
Gherkin : un langage textuel et simple
Feature: Calcul de la remise
Scenario Outline: Calcul de la remise pour un totale de commande
Given le total de la commande est <Total>
And la catégorie du client est <Catégorie>
When la remise est calculée
Then le pourcentage de la remise est <Pourcentage>
Examples:
| Total | Catégorie | Pourcentage |
| 10.00 | "BONNE" | 0 |
| 10.01 | "BONNE" | 1 |
| 50.01 | "BONNE" | 1 |
| 0.01 | "EXCELLENTE" | 1 |
| 50.00 | "EXCELLENTE" | 1 |
| 50.01 | "EXCELLENTE" | 5 |
Un scénario automatisé et communicant
53. 53
Les terminologie des affaires
Catégorie de client
Bonne
Excellente
DSL: Domain Specific Language
Super Excellente
54. 54
Given / When / Then
Les Valeurs de Then vient de:
Given
(Setup)
When
(Trigger)
Then
(Assert)
Règles
métier
Given
When
Règles métier
56. 56
Table de Tests
Feature: Calcul de la remise
Scenario Outline: Calcul de la remise pour un totale de commande
Given le total de la commande est <Total>
And la catégorie du client est "<Catégorie>"
When la remise est calculée
Then le pourcentage de la remise est <Pourcentage>
Examples:
| Total | Catégorie | Pourcentage |
| 10.00 | BONNE | 0 |
| 10.01 | BONNE | 1 |
| 50.01 | BONNE | 1 |
| 0.01 | EXCELLENTE | 1 |
| 50.00 | EXCELLENTE | 1 |
| 50.01 | EXCELLENTE | 5 |
57. 57
La pyramide des tests
Small
(Fast)
Medium
Large
(Slow)
ATDD/BDD (6)
GUI /Script (1)
66. 66
Restons en contact
Besoin de support, de consultants sur le sujet ?
contact@all4test.com
Tel : 0671594711
Suivre des dossiers sur le test
https://www.all4test.fr/dossiers-thematiques/