Aller au contenu
Réussir mon BTS SIO

Tape une notion, une commande ou le nom d'une épreuve.

Par exemple

Chapitre 1421 minIntermédiaire

Plan de test, cahier de recette et rapport de test

Par Josselyn C., prof de BTS SIO. Mis à jour le .

À la fin de ce chapitre, tu sauras

  • rédiger un plan de test avec ses critères d'entrée et de sortie ;
  • transformer des critères d'acceptation en cas de test ;
  • rédiger un cas de test qu'une autre personne peut exécuter ;
  • conclure une campagne dans un rapport de test chiffré ;
  • préparer les livrables de test attendus à l'E5 et à l'E6.

4 exercices corrigés1 schéma

Le plan de test décrit comment une version sera testée : périmètre, types de tests, environnements, données, critères pour commencer et pour terminer. Le cahier de recette liste les cas de test qui vérifient chaque exigence, avec leurs étapes et leur résultat attendu. Le rapport de test rend compte de la campagne : ce qui a été testé, ce qui passe, ce qui échoue, et la recommandation de mise en production ou non. Ces trois documents sont des livrables attendus à l'E5 (« un rapport de test est produit ») et souvent à l'E6. Ce chapitre les rédige pour une évolution de Prêt'Matos.

Les documents du test

DocumentQuestion à laquelle il répondQui le rédigeQuand
Plan de test (ou stratégie de test)Comment allons-nous tester cette version ?L'équipe, avec la MOA pour la recetteAu début du projet ou de la version
Cahier de recetteQuels cas précis allons-nous dérouler, avec quel résultat attendu ?L'équipe et la MOA, à partir des exigencesPendant la conception, avant le développement si possible
Fiche d'anomalieQuel écart a été constaté, comment le reproduire, quelle gravité ?Celui qui constate l'écartPendant la campagne
Rapport de testQu'a-t-on testé, qu'est-ce qui passe, peut-on livrer ?Le responsable des tests, ou toiÀ la fin de la campagne
Procès-verbal de recetteLa MOA accepte-t-elle la livraison, avec ou sans réserves ?La MOA, qui le signeÀ la fin de la recette
1. Exigencescritères d'acceptationdes user stories2. Plan de testpérimètre, environnements,données, critères de sortie3. Cahier de recetteun ou plusieurs casde test par exigence4. Exécutionchaque cas : OK, KOou bloqué5. Anomaliesune fiche par KO,gravité, correction6. Rapport et PVrapport de test, puis PVsigné par la MOAcorrection livrée : rejouer le cas, puis la non-régression
Une campagne de recette : des exigences au procès-verbal, en passant par le cahier, l'exécution et les anomalies

Le cours Gestion de projet décrit la place de la recette dans le projet, le cycle des anomalies et le procès-verbal (recette et clôture). Ce chapitre se concentre sur la rédaction des documents de test.

L'évolution à recetter

Nadia a validé une nouvelle user story pour la version 1.5 de Prêt'Matos :

En tant que salarié, je veux prolonger mon prêt en cours afin de garder le matériel quand ma mission dure plus longtemps que prévu.

Critères d'acceptation :

  • la prolongation dure de 1 à 7 jours ;
  • la durée totale du prêt, prolongation comprise, ne dépasse pas 15 jours ;
  • on ne peut pas prolonger un prêt déjà en retard ;
  • on ne peut pas prolonger si le matériel est réservé par quelqu'un d'autre sur la période ajoutée ;
  • seul l'emprunteur peut prolonger son prêt ;
  • après la prolongation, la nouvelle date de retour s'affiche et le rappel part la veille de cette nouvelle date.

Le plan de test

Un plan de test n'a pas besoin d'être long. Pour une version d'une application interne, une ou deux pages suffisent, organisées en rubriques fixes.

RubriqueContenu pour Prêt'Matos 1.5
ObjetValider la prolongation de prêt (story n° 12) et vérifier l'absence de régression avant la mise en production du 5 avril
Périmètre testéLa prolongation (API, écran « mes prêts », rappel), plus la liste de non-régression NR-01 à NR-06
Hors périmètreLes statistiques (non développées) ; les performances (aucun changement de volume)
Niveaux et types de testsTests unitaires de la règle de prolongation ; tests d'intégration de la route POST /api/prets/:id/prolongation (dont droits d'accès) ; un test de bout en bout du parcours ; recette manuelle par Nadia et deux salariés
EnvironnementServeur de recette, version 1.5.0-rc.1, base MySQL de recette réinitialisée avec le jeu de données de recette
Données de testJeu fictif versionné : comptes julie.recette (salariée) et nadia.recette (logistique) ; un prêt en cours de 5 jours, un prêt de 10 jours, un prêt en retard, un matériel réservé juste après un prêt
OutilsVitest, Supertest, Playwright dans la CI ; cahier de recette partagé ; anomalies dans les tickets GitHub
Critères d'entréeTous les tests automatisés verts dans la CI ; version déployée en recette ; jeu de données chargé
Critères de sortieTous les cas exécutés ; aucune anomalie bloquante ou majeure ouverte ; les anomalies mineures listées avec un délai de correction
RôlesYanis prépare l'environnement et corrige ; Nadia et deux salariés déroulent les cas ; Lina rédige le rapport
CalendrierRecette du 29 au 31 mars ; rapport le 1er avril ; décision de mise en production le 2 avril
RisquesIndisponibilité des salariés testeurs (prévoir un remplaçant) ; anomalie de sécurité découverte tard (les cas de droits sont passés en premier)

Les critères d'entrée évitent de commencer une recette sur une version qui ne démarre pas ; les critères de sortie disent à l'avance ce qui permettra de dire « c'est fini ». Sans eux, la recette s'arrête quand on n'a plus le temps, et la décision de livrer se prend à l'intuition.

Des critères d'acceptation aux cas de test

Chaque critère d'acceptation donne au moins un cas de test, souvent deux ou trois : le cas qui passe, et les valeurs limites qui doivent être refusées ou acceptées (chapitre 3). Le format Étant donné / Quand / Alors aide à les écrire sans ambiguïté :

gherkin
# language: fr
Fonctionnalité: Prolonger un prêt

  Scénario: La prolongation porte le prêt à 15 jours tout juste
    Étant donné que Julie a emprunté PC-07 du 10 au 19 mars, soit 10 jours
    Et que PC-07 n'est réservé par personne après le 19 mars
    Quand Julie prolonge son prêt de 5 jours le 15 mars
    Alors la prolongation est acceptée
    Et la nouvelle date de retour affichée est le 24 mars

  Scénario: La prolongation dépasserait 15 jours
    Étant donné que Julie a emprunté PC-07 du 10 au 19 mars, soit 10 jours
    Quand Julie prolonge son prêt de 6 jours le 15 mars
    Alors la prolongation est refusée
    Et le message « Un prêt dure au plus 15 jours. » s'affiche

Rédiger un bon cas de test

Un cas de test doit pouvoir être exécuté par quelqu'un d'autre que son auteur, sans lui poser de question, et donner le même verdict. Il contient :

ChampContenuÀ éviter
IdentifiantUn numéro unique (R-PROL-03)Pas de numéro : impossible de citer le cas dans une anomalie
Exigence vérifiéeLe critère d'acceptation ou l'exigence du cahier des chargesUn cas qui ne vérifie aucune exigence, ou une exigence sans cas
PréconditionsL'état de départ : compte connecté, données présentes« Avoir un prêt » (lequel ? de quelle durée ?)
ÉtapesLes actions, numérotées, avec les valeurs saisies« Tester la prolongation »
Résultat attenduCe qui doit se produire, vérifiable sans interprétation« Ça marche », « le message est correct »
Résultat obtenu, statutRempli à l'exécution : OK, KO (avec le numéro d'anomalie), bloqué, non exécutéUn KO sans fiche d'anomalie
PreuveUne capture, un extrait de journal, la date et l'exécutantPas de trace : impossible de prouver la campagne

Le lien entre chaque exigence et ses cas de test s'appelle la traçabilité. À la fin de la rédaction, aucune exigence ne doit rester sans cas, et aucun cas sans exigence.

Le cahier de recette de la prolongation

N°ExigencePréconditionsÉtapesRésultat attenduObtenuStatut
R-PROL-01Durée 1 à 7 joursJulie connectée ; prêt de PC-07 du 10 au 14 mars (5 jours) ; on est le 12 marsProlonger de 1 jourAcceptée ; retour le 15 marsConformeOK
R-PROL-02Durée 1 à 7 joursIdemProlonger de 7 joursAcceptée ; retour le 21 marsConformeOK
R-PROL-03Durée 1 à 7 joursIdemProlonger de 8 joursRefusée ; message « Une prolongation dure de 1 à 7 jours. »Refusée, message affichéOK
R-PROL-04Total de 15 jours au plusJulie connectée ; prêt de PC-07 du 10 au 19 mars (10 jours) ; on est le 15 marsProlonger de 5 joursAcceptée ; retour le 24 marsConformeOK
R-PROL-05Total de 15 jours au plusIdemProlonger de 6 joursRefusée ; message « Un prêt dure au plus 15 jours. »Acceptée, retour le 25 marsKO (A-21)
R-PROL-06Pas de prolongation en retardPrêt de VP-02 du 1er au 5 mars, non rendu ; on est le 8 marsProlonger de 2 joursRefusée ; message indiquant le retardConformeOK
R-PROL-07Matériel réservé ensuitePrêt de PC-07 jusqu'au 14 mars ; PC-07 réservé par Sofiane à partir du 16 marsProlonger de 3 joursRefusée ; message citant la réservation du 16 marsConformeOK
R-PROL-08Seul l'emprunteurKarim connecté ; prêt de PC-07 au nom de JulieAppeler la prolongation du prêt de Julie (par l'adresse de l'API)Refusée (404) ; prêt de Julie inchangéConformeOK
R-PROL-09Nouvelle date et rappelProlongation R-PROL-02 effectuéeConsulter « mes prêts » ; attendre l'envoi des rappels du 20 marsRetour affiché le 21 mars ; un rappel reçu le 20 mars, aucun le 13 marsDate affichée ; rappel non vérifié (envoi des courriels désactivé en recette)Bloqué

Remarque les cas R-PROL-02 et R-PROL-03 (7 et 8 jours), puis R-PROL-04 et R-PROL-05 (15 et 16 jours au total) : les valeurs limites de chaque règle. Le cas R-PROL-08 est un test de sécurité ; il se fait en appelant l'API directement, parce que l'écran ne montre jamais le bouton à quelqu'un d'autre que l'emprunteur. Une recette ne vérifie pas seulement que ce qui doit marcher marche, mais aussi que ce qui doit être refusé l'est.

Exécuter la campagne et suivre les anomalies

Pendant la campagne, chaque cas reçoit un statut :

StatutSens
OKLe résultat obtenu est conforme à l'attendu
KOLe résultat diffère ; une fiche d'anomalie est ouverte et son numéro noté dans le cahier
BloquéLe cas ne peut pas être exécuté (environnement, donnée manquante, autre anomalie) ; la cause est notée
Non exécutéPas encore passé, ou volontairement écarté (avec la raison)

La fiche d'anomalie A-21 de R-PROL-05 contiendrait : l'identifiant, le cas de test, la version (1.5.0-rc.1), la description (« une prolongation qui porte le prêt à 16 jours est acceptée »), les étapes pour reproduire, le résultat attendu et le résultat obtenu, une capture, la gravité, l'auteur et la date. Sa gravité décide de la suite : bloquante, majeure ou mineure (les anomalies). Ici, une règle métier n'est pas appliquée : c'est une anomalie majeure.

Quand l'anomalie est corrigée, deux choses se passent : on rejoue le cas qui avait échoué (R-PROL-05), puis on rejoue la non-régression, car la correction a pu casser autre chose (chapitre 11). Côté développeur, la correction arrive avec un test automatisé qui reproduit A-21 : la même anomalie ne pourra pas revenir.

Le rapport de test

Le rapport de test (on dit aussi bilan de campagne) se lit en deux minutes par quelqu'un qui doit décider. Il commence par la conclusion et les chiffres, puis donne le détail.

Rapport de test — Prêt'Matos 1.5.0-rc.1 — Prolongation de prêt

Contexte. Recette de la story n° 12 « prolonger un prêt » et non-régression de la version 1.5, du 29 au 31 mars, sur l'environnement de recette. Testeurs : Nadia Faure (logistique), Julie Lefèvre et Karim Morel (salariés). Rédaction : Lina.

Conclusion. Mise en production non recommandée en l'état : une anomalie majeure (A-21) est ouverte. Après sa correction et un nouveau passage des cas R-PROL-05 et de la non-régression, la mise en production peut être envisagée le 5 avril comme prévu.

Synthèse des tests manuels.

EnsembleCasOKKOBloqués
Prolongation (R-PROL-01 à 09)9711
Non-régression (NR-01 à NR-06)6600
Total151311

Tests automatisés. 82 tests unitaires et d'intégration, tous verts dans la CI sur la version testée ; couverture des lignes de 91 %. 3 tests de bout en bout verts.

Anomalies. A-21, majeure, ouverte : une prolongation qui porte le prêt à 16 jours est acceptée (R-PROL-05).

Points non vérifiés. R-PROL-09 bloqué : l'envoi des courriels est désactivé sur l'environnement de recette. La date de rappel est couverte par un test automatisé ; une vérification réelle est proposée en production sur un prêt de test, le jour de la mise en service.

Couverture des exigences. Les 6 critères d'acceptation ont au moins un cas exécuté ; 4 sont validés, 1 est en anomalie (total de 15 jours) et 1 n'est vérifié qu'en partie (la nouvelle date s'affiche, mais le rappel n'a pas pu être contrôlé : R-PROL-09 bloqué).

Les chiffres du rapport doivent être cohérents : 13 OK + 1 KO + 1 bloqué = 15 cas. Un rapport qui ne cite que les succès n'est pas un rapport, c'est une publicité : la commission comme le client attendent de voir ce qui ne marche pas et ce que tu proposes.

La recette avec les utilisateurs

Le test d'acceptation par les utilisateurs vérifie ce qu'aucun test automatisé ne vérifie : l'application convient-elle à ceux qui s'en servent ? Quelques règles pour une séance utile :

  • choisir des utilisateurs clés qui représentent les rôles (un salarié, une personne de la logistique), et pas seulement le Product Owner ;
  • leur donner des scénarios métier (« vous partez en mission trois jours de plus que prévu »), pas les étapes techniques du cahier : on observe s'ils trouvent seuls ;
  • observer sans aider et noter les hésitations : un utilisateur qui cherche le bouton pendant une minute est une information ;
  • distinguer, dans les retours, les anomalies (l'application ne fait pas ce qui était convenu) des demandes d'évolution (elle fait ce qui était convenu, mais l'utilisateur voudrait autre chose). Les premières se corrigent, les secondes vont au backlog ;
  • conclure par une décision écrite : le procès-verbal de recette, signé par la MOA.

Ce qu'on attend de toi à l'E5 et à l'E6

À l'E5 (bloc 1, commun aux deux options), la compétence « mettre à disposition des utilisateurs un service informatique » demande de réaliser les tests d'intégration et d'acceptation d'un service. La commission vérifie que des tests pertinents sont rédigés et effectués, que les outils de test sont utilisés correctement et qu'un rapport de test est produit (les compétences du bloc 1). Pour une réalisation de ton portfolio, garde donc : le cahier de recette avec les résultats, les fiches d'anomalies, le rapport de test, et les traces de l'exécution (captures, journal de la CI).

À l'E6 SLAM, la fiche descriptive de chaque réalisation cite tes outils de test, et l'expression des besoins remise par la commission peut demander, comme documentation à présenter, un rapport de test (le modèle de l'expression des besoins). Pendant l'heure de réalisation, il ne s'agit pas d'écrire dix pages : un rapport court et honnête suffit, préparé à l'avance sous forme de modèle.

text
RAPPORT DE TEST — [réalisation] — [évolution demandée]
Date, version (commit), environnement : poste local, base de test

1. Ce qui a été testé
   - tests automatisés ajoutés : [noms des tests] → résultat de `npm test` (capture)
   - tests manuels : cas nominal, cas refusés (tableau : cas, attendu, obtenu, statut)

2. Résultat
   - X tests automatisés, tous verts / Y en échec (lesquels, pourquoi)
   - non-régression : suite complète relancée, verte

3. Ce qui n'a pas été testé, et pourquoi

4. Anomalies ou limites connues, et ce que je ferais ensuite

Pendant la recette de l'E6, montre le terminal avec la suite verte, puis le rapport : c'est la preuve des compétences « réaliser les tests nécessaires à la validation » et « élaborer et réaliser les tests des éléments mis à jour » (la recette de l'E6).

Exercices

Exercice 1 sur 4 Des critères aux cas de test Réussi À revoir

Story : « En tant que membre de la logistique, je veux enregistrer le retour d'un matériel afin de le rendre de nouveau disponible. » Critères : seul un membre de la logistique peut enregistrer un retour ; on ne peut enregistrer le retour que d'un matériel sorti ; après le retour, le matériel apparaît comme disponible dans le catalogue ; un retour après la date prévue est signalé « rendu en retard » dans l'historique.

Rédige quatre cas de test (identifiant, préconditions, étapes, résultat attendu), dont au moins un test de droits.

Voir la réponseMasquer la réponse de l'exercice 1
N°PréconditionsÉtapesRésultat attendu
R-RET-01Nadia (logistique) connectée ; PC-07 sorti, retour prévu le 14 mars ; on est le 14 marsEnregistrer le retour de PC-07Retour enregistré ; PC-07 « disponible » dans le catalogue ; historique : « rendu à temps »
R-RET-02Julie (salariée) connectée ; PC-07 sortiAppeler l'enregistrement du retour de PC-07 (bouton absent : par l'adresse de l'API)Refus (403) ; PC-07 toujours « sorti »
R-RET-03Nadia connectée ; VP-02 réservé mais pas encore sortiEnregistrer le retour de VP-02Refus ; message indiquant que le matériel n'est pas sorti ; état inchangé
R-RET-04Nadia connectée ; PC-07 sorti, retour prévu le 14 mars ; on est le 16 marsEnregistrer le retour de PC-07Retour enregistré ; historique : « rendu en retard (2 jours) »

On peut ajouter la limite du retour le jour même de la date prévue (R-RET-01, à temps) face au lendemain (en retard d'un jour) : la frontière exacte du retard.

Tu avais trouvé ?

Exercice 2 sur 4 Améliorer un cas de test Réussi À revoir

Réécris ce cas de test pour qu'un autre testeur puisse l'exécuter sans poser de question.

N°ÉtapesRésultat attendu
7Tester la réservation trop longueÇa doit être refusé
Voir la réponseMasquer la réponse de l'exercice 2
N°ExigencePréconditionsÉtapesRésultat attendu
R-RES-07Un prêt dure au plus 15 joursJulie (salariée) connectée ; VP-02 libre en mars ; on est le 8 mars1. Ouvrir « Réserver ». 2. Choisir VP-02. 3. Saisir du 15/03 au 30/03. 4. Cliquer sur « Réserver »Réservation refusée ; message « Un prêt dure au plus 15 jours. » ; aucune réservation ajoutée dans « mes réservations »

Les corrections : un identifiant parlant, l'exigence vérifiée, des préconditions précises (qui, quelles données, quelle date), des étapes avec les valeurs exactes (16 jours, la première valeur refusée), et un résultat attendu vérifiable, y compris l'absence d'effet. On ajouterait le cas jumeau à 15 jours, qui doit être accepté.

Tu avais trouvé ?

Exercice 3 sur 4 Conclure une campagne Réussi À revoir

Une campagne compte 24 cas : 19 OK, 3 KO, 1 bloqué, 1 non exécuté. Les anomalies sont : A-30, bloquante (un salarié peut enregistrer des sorties) ; A-31, mineure (faute d'orthographe dans un libellé) ; A-32, majeure (le rappel part deux jours avant au lieu de la veille). Les critères de sortie du plan de test sont : « tous les cas exécutés, aucune anomalie bloquante ou majeure ouverte ».

  1. Les critères de sortie sont-ils atteints ? Justifie avec trois raisons.
  2. Rédige la conclusion du rapport de test en trois phrases.
Voir la réponseMasquer la réponse de l'exercice 3
  1. Non, pour trois raisons : un cas n'est pas exécuté et un autre est bloqué (le critère « tous les cas exécutés » n'est pas rempli) ; une anomalie bloquante est ouverte (A-30) ; une anomalie majeure est ouverte (A-32). Le total est cohérent : 19 + 3 + 1 + 1 = 24.
  2. Exemple : « La mise en production n'est pas recommandée : l'anomalie bloquante A-30 permet à un salarié d'enregistrer des sorties de matériel, ce qui est un défaut de sécurité, et l'anomalie majeure A-32 fausse la date des rappels. Après correction de ces deux anomalies, nous proposons de rejouer les cas concernés, le cas bloqué, le cas non exécuté et la liste de non-régression. L'anomalie mineure A-31 peut être corrigée dans la version suivante, avec une réserve au procès-verbal. »

Tu avais trouvé ?

Exercice 4 sur 4 Le rapport de test de l'E6 Réussi À revoir

À l'E6, l'expression des besoins demande d'ajouter à Prêt'Matos l'export CSV de l'historique des prêts d'une période, réservé à la logistique, et de présenter un rapport de test. Tu as écrit trois tests d'intégration : export par la logistique (200, fichier CSV avec une ligne d'en-tête et deux lignes de prêts), export par un salarié (403), période mal formée (400). Toute la suite (47 tests) passe. Tu n'as pas eu le temps de tester un nom contenant un point-virgule. Rédige le rapport en suivant le modèle du chapitre.

Voir la réponseMasquer la réponse de l'exercice 4
text
RAPPORT DE TEST — Prêt'Matos — Export CSV de l'historique des prêts
Date : jour de l'épreuve. Version : commit a1b2c3d. Environnement : poste local, base de test.

1. Ce qui a été testé
   Tests automatisés ajoutés (Vitest + Supertest), dans src/export.test.js :
   - « exporte l'historique de la période pour la logistique » : 200, en-tête CSV + 2 lignes
   - « refuse l'export à un salarié » : 403
   - « refuse une période mal formée » : 400
   Test manuel : fichier ouvert dans le tableur, colonnes séparées, accents corrects.

2. Résultat
   47 tests automatisés, tous verts (capture de npm test), dont les 3 nouveaux.
   Non-régression : suite complète relancée après l'évolution, verte.

3. Non testé
   Un nom ou un libellé contenant un point-virgule ou un guillemet.

4. Limites et suite
   Risque : un point-virgule dans un libellé décalerait les colonnes. Correction prévue :
   mettre ces champs entre guillemets en doublant les guillemets internes, avec un test dédié.

Le rapport est court, chiffré, et honnête sur ce qui manque : citer toi-même le cas non testé et sa correction montre la maîtrise de la démarche, alors que la commission le découvrirait sinon comme un oubli.

Tu avais trouvé ?

Chapitre terminé !

Fais les 4 exercices avant de passer à la suite : c'est en t'entraînant que tout se fixe.

chapitres
–
de série
–
du cours
–
Chapitre suivant : Les tests à l'examen : E7 et E6 SLAM, exercices corrigésRevoir le sommaire du cours