Vos tests unitaires sont-ils FIRE ?

((/dotclear/public/logos/logo_bigvisible.png|BigVisible – See Everything|L|BigVisible – See Everything))Très bon billet de ++[Adam Sroka|http://www.linkedin.com/in/adamatxagiledotcom|en]++ : ++[« Are your unit tests on FIRE? »|http://www.bigvisible.com/asroka/are-your-unit-tests-on-fire/|en]++%%% %%% > De bons tests unitaires sont :%%% > %%% > __F__ast / __R__apides : ils passent en moins de quelques millisecondes sur la plupart des machines.%%% > %%% > __I__solated / __I__solés : ils suppriment toutes les dépendances en utilisant des bouchons qui vérifient la façon dont les dépendances sont appelées et retournent des résultats bidons.%%% > %%% > __R__epeatable / __R__épétables : ils n’ont pas de dépendance avec un état externe et peuvent être exécutés encore et encore avec les mêmes résultats (à moins que le code change).%%% > %%% > __E__xamples / __E__xemples : ils démontrent la façon dont le code est destiné à être utilisé et autorise donc la Programmation Par Intention (si vous les écrivez d’abord).%%% > %%% > Note: avec tout le respect dû à l’auteur de ++[FIRST|http://www.makinggoodsoftware.com/2009/08/25/how-to-write-a-good-test-case5-tips-to-write-better-test-cases/|en]++, mais je préfère ma version.%%% L’acronyme anglais F.I.R.E s’est transformé en… R.I.R.E 🙂

2 réflexions au sujet de « Vos tests unitaires sont-ils FIRE ? »

  1. Comme Fowler l’écrit beaucoup mieux que moi dans son article sur le sujet (http://martinfowler.com/articles/mo…), systématiser les bouchons n’est pas une bonne idée, car on a tendance à tester l’implémentation plutôt que le résultat, rendant par la même les tests fragiles car ils vont casser au moindre refactoring. Si les tests rendent le refactoring difficile, ils ne font pas leur boulot. Ils ne garantissent en plus en rien l’isolation.

  2. Il faut donc tester les classes du point de vue de leur interfaces non ? C’est à dire ce qu’ils font et non comment ils le font.
    Peut-être alors faut-il deux catégories de tests ? Fonctionnels et « méthodologiques » disons ?

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *