Test instable
Test instable (en anglais flaky test) : test qui, sur un code inchangé, réussit parfois et échoue parfois. Il n'est pas un défaut mineur : chaque instabilité coûte une enquête, et pousse l'équipe à relancer sans regarder, puis à ignorer les échecs, y compris les vrais.
Les trois causes principales sont l'attente asynchrone (un délai fixe au lieu d'attendre un signal), la concurrence, et la dépendance à l'ordre des tests (un état partagé non remis à zéro). L'exécution des tests dans un ordre aléatoire, avec une graine affichée, révèle les dépendances à l'ordre et permet de les rejouer.