Académique Documents
Professionnel Documents
Culture Documents
La
méthodologie
autour des
tests
C'est quoi un test ?
"Tester c'est douter !*"
Pourquoi tester ?
1 Satisfaction client
3 Build&Run* simplifiés
4 Qualité du produit
Utilité Rentabilité
Maintenabilité
Ergonomie
Design
Je teste quand ?
recette à l'aveugle
recette scriptée
Phase de test
Sachants Ignorants
Je retiens quoi de tout
ça ?
Temps gagné : un problème géré à la source n'entraînera pas une grosse charge de
travail
Types de tests
Partie I
Unitaires
1.1
test
Unitaires
1.1
Exemples
Un test d'intégration doit permettre de vérifier le bon fonctionnement détaillé d'une brique
de l'application (fonction, procédure..)
Code fonction
test
Intégration
1.2
Exemples
- Top-down
- Bottom-up
- Sandwich
- Big-bang
Fonctionnel
1.3
Les tests fonctionnels sont destinés à s’assurer que, dans le contexte d’utilisation réelle, le
comportement fonctionnel obtenu est bien conforme avec celui attendu.
En informatique, le test d'acceptation (ou recette) est une phase de développement des projets,
visant à assurer formellement que le produit est conforme aux spécifications
(réponse donnée à un instant « t » aux attentes formulées).
Partie 2
Définition
2.1
Méthode de développement qui consiste à écrire un test unitaire avant d'écrire le code
correspondant.
2.2
Arrange :
On créé l'objet dans un environnement fixe -> Valeurs en durs, mocks..
Act :
On exécute une fonction sur cet objet
Assert :
On compare le retour de la fonction avec le retour attendu
Avantages
2.3
- Objectif simple
- Pas de modification en cascade
- Rapidité de développement
- Compréhension du code et du métier accrue
- Stabilité de l'application
- Refactorisation permanente
TDD
Inconvénients
2.3
2.4
Objectif : Créer une métrique qui permette de quantifié la couverture du code par les tests
Couverture de test
2.4
Unitaire : Est-ce que toutes les fonctions sont appelés dans le code ?
Fonctionnelle : Est-ce que toutes les fonctionnalités sont testées ?
Intégration : Est ce que tous les changements que provoquent les fonctions sont testés ?
Couverture de test
2.4
TP
Contexte : L'entreprise Dacotte vend des vêtements de chantiers depuis plusieurs années. Avec la pandémie, ils voudraient développer leur site internet pour passer au b2c (actuellement leur site n'est qu'un
site vitrine).Pour cela, ils font faire passer des tests aux entreprises ayant répondues à leur appel d'offre. Ayant entendu parler de tests pour sécuriser leur application et créer un logiciel de qualité, ils
souhaiteraient voir dans leur entretiens :
- des morceaux de leur logiciel créé de façon traditionnelle (développement puis tests). Cela peut être n'importe quel brique de l'application (passage de commande, mise au panier et validation d'article...)
- un morceau de leur logiciel créé en TDD (pour pouvoir comparer)
- des tests unitaires (entre 15 et 20, pas que sur les setters et getters..)
- des tests d'intégration (une dizaine)
- des tests fonctionnels (une petite dizaine)
Partie 3
Je teste quand ?
recette à l'aveugle
recette scriptée
Phase de test
Sachants Ignorants
Un cycle de vie ?
La recette fonctionnelle
3.1
3.2
4 étapes Clefs :
- Conditions pour arriver à l’anomalie
3.3
Exercice
Contexte : L'entreprise Dacotte ajoute sur son site e-commerce la possibilité de régler en carte bleue. Vous êtes
responsable de ce projet.
Vous avez avec vous plusieurs développeurs, et êtes en relation avec d'autres services (comptabilité, magasins, référent e-
commerce...).
Suite aux développements effectués selon les spécifications du métier (Annexe 1), on vous annonce la fin de votre
mission car il y a un manque de budget. On vous demande avant de partir de rédiger un court document sur la recette de
votre projet.
Vous devrez définir :
- Acteurs de la recette
- Périmètre testé par acteur
- Flux de remontés d'anomalie/d'information
- Calendrier prévisionnel de la recette
- COPROJ / COPIL ? ..
- ...
Vous disposez dans l'annexe 2 des acteurs identifiés par votre hiérarchie et de certaines informations transmises.