Odeurs d'obscurité.
Un Test obscur est un test où le lecteur ne peut pas déterminer, à partir de la seule méthode de test, quel scénario est mis en place, quel comportement est exercé et quel résultat est attendu — parce que l'intention est enfouie sous trop de détails, trop peu de contexte, ou une logique cachée ailleurs.
Un test qui recourt à des `if`/`switch`/ternaires, à des boucles ou à des `try`/`catch` pour décider quoi exécuter ou vérifier, de sorte que son comportement — et le fait même qu'il vérifie quoi que ce soit — dépend de la branche exécutée à l'exécution.
La duplication de code de test survient lorsque le même code de mise en place, d’action ou d’assertion est copié-collé dans de nombreux tests, de sorte qu’un seul changement impose des modifications à de multiples endroits et que les tests pourrissent en copies fragiles et quasi identiques.
Un test code en dur des littéraux numériques inexpliqués dans ses entrées et ses assertions, masquant la signification des nombres et leur provenance.
Un test qui utilise bien plus de code qu'il n'en faut pour énoncer son scénario, enfouissant l'unique relation de cause à effet qu'il vérifie sous du code de configuration standard, des données non pertinentes et des assertions champ par champ.