Glossaire · Fondamentaux du test
Matrice de traçabilité des exigences
En anglais : Requirements traceability matrix
Également appelé : RTM, matrice de traçabilité, traceability matrix, traçabilité des exigences
Définition
Tableau qui relie chaque exigence aux cas de test qui la vérifient et à leurs résultats, pour rendre visibles les trous de couverture et l'impact des changements.
Une matrice de traçabilité des exigences (RTM, requirements traceability matrix) relie les exigences aux tests qui les couvrent, et souvent ensuite aux résultats d’exécution et aux anomalies. Elle répond rapidement à deux questions : chaque exigence est-elle testée, et si cette exigence change, quels tests faut-il mettre à jour ? Elle est obligatoire dans les domaines réglementés comme les dispositifs médicaux, l’aéronautique et la finance, et utile partout où la couverture doit être démontrée.
Exemple
| Exigence | Description | Cas de test | Statut | Anomalies |
|---|---|---|---|---|
| AUTH-01 | L’utilisateur peut se connecter avec des identifiants valides | TC-101, TC-102 | Réussi | aucune |
| AUTH-02 | Le compte se verrouille après 5 tentatives échouées | TC-103, TC-104, TC-105 | Échoué | BUG-311 |
| AUTH-03 | Le lien de réinitialisation du mot de passe expire après 30 minutes | (aucun) | Non couvert | n/a |
Comment la lire : AUTH-03 n’a aucun test, c’est un trou de couverture. AUTH-02 est couvert mais en échec : c’est un risque pour la release, lié à un bug précis.
Ascendante, descendante et bidirectionnelle
- Traçabilité descendante (forward) : de l’exigence vers les tests. Elle prouve que chaque exigence est vérifiée.
- Traçabilité ascendante (backward) : du test vers l’exigence. Elle montre les tests qui ne vérifient rien de ce qui a été demandé, qui peuvent être obsolètes ou révéler une exigence manquante.
- Bidirectionnelle : les deux sens, ce qu’attendent la plupart des auditeurs.
RTM et couverture de code
Une RTM mesure la couverture des exigences : chaque besoin exprimé a-t-il un test ? La couverture de code mesure quelles lignes ou branches ont été exécutées pendant les tests. Vous pouvez avoir 100 % de couverture des exigences avec une faible couverture de code, et inversement. Elles répondent à des questions différentes et fonctionnent mieux ensemble.
La garder maintenable
Un tableur tenu à la main devient vite obsolète. La plupart des équipes génèrent plutôt la traçabilité à partir de leurs outils : des cas de test étiquetés avec l’ID de la story dans l’outil de gestion des tests, ou des tests automatisés annotés avec la clé de l’exigence (par exemple un tag comme @AUTH-02 dans les titres de tests Playwright ou un @Tag JUnit), puis un rapport fait la jointure. La matrice ne vaut que par la discipline avec laquelle chaque nouveau test est étiqueté.