Origine[]
Ce modèle a été imaginé par James T. Reason dans les années 90 [1] dans les domaines de l’aéronautique et le médical pour se figurer la raison pour laquelle malgré toutes les tests et les vérifications des tests on avait encore des avions qui s’écrasaient…
La réponse imaginée repose sur une représentation où chaque test peut être perçu comme une tranche d’emmental, elle vient vérifier une grande majorité des cas mais comme il y a des trous, on va vouloir
- réduire la taille des trous (en améliorant ce test)
- ou rajouter des tranches (en rajoutant des types/étapes de vérifications)
Utilisations[]
La 1ere approche correspond au classique « Tester tôt » (« Shift left »)[2] mais sa limite sera sa rentabilité : à cause du principe de Pareto (80% sera réalisé avec 20% d’efforts), il sera empiriquement plus avantageux de reporter l’effort sur une autre tranche que de rester toujours sur le même type de test ; ainsi, on trouvera la revue de US, de conception, de code, les Tests Unitaires, etc.
Une autre lecture de ce modèle se situe au niveau des critères d’acceptances d’un besoin. Ce modèle permet de définir sur quelle.s tranche.s les critères pourront s’appuyer, en privilégiant
- le moment (au plus tôt dans le cycle de vie)
- mais aussi
- le coût du test
- la criticité du besoin (valeur ajoutée client,
fréquence d’usage, impact, … en un mot, le risque) Ce modèle permet ainsi de prendre du recul sur la fameuse « pyramide des tests » attribuée à Lisa Crispin[3] en introduisant le contexte dans lequel le test se trouvera (vous vous rappelez le principe du test #6 – « les tests dépendent du contexte » ? 😉 [4] ) et d’affiner ses critères d’acceptation d’une façon efficace en décidant à quel moment on pourra commencer les tests (une fois encore, au plus tôt), mais aussi quelles autres tranches faut-il impliquer en plus de cette 1ere vérification. Plus la criticité est élevée, plus on voudra ajouter des tranches dans les critères et cette approche vient alors dessiner naturellement la pyramide des tests.
Références[]
- ↑ James Reason - "Human Error" - Cambridge University Press - 2009 (1er ed. 1990) - ISBN 978-0-521-31419-0
- ↑ https://latavernedutesteur.fr/2018/01/12/principe-3-tester-tot/
- ↑ https://martinfowler.com/bliki/TestPyramid.html
- ↑ https://latavernedutesteur.fr/2018/01/12/principe-6-les-tests-dependent-du-contexte/