Un test bancal est défini comme un test qui renvoie parfois des réussites et parfois des échecs, sans qu'aucune modification n'ait été apportée au code ou au test lui-même.
Plusieurs facteurs peuvent expliquer la manque de fiabilité des résultats d'un test, parmi lesquels des incohérences dans les environnements, l'absence d'actualisation des données entre les exécutions du test, des problèmes d'horaires ou de fuseau horaire, et des dépendances concernant l'ordre d'exécution des tests.
Les tests bancals posent problème car ils ralentissent votre pipeline CI/CD et érodent la confiance dans les processus de test. Comme vous ne pouvez pas vous fier aux résultats de tests bancals, vous ne pouvez pas savoir si la réussite à un test traduit bien l'absence de bogues dans votre code, ni si vous devez investir du temps pour essayer de reproduire et de corriger un problème en cas d'échec aux tests.
Pour repérer les tests bancals, vous devez comparer les résultats de plusieurs exécutions de ces tests. Manuellement, cette analyse prendrait beaucoup de temps, mais heureusement, de nombreux serveurs de CI détectent automatiquement les tests bancals.
L'identification des tests bancals est la première étape vers leur éradication. Une fois que vous connaissez l'étendue du problème, vous pouvez déterminer le degré de priorité de sa résolution. Nous vous recommandons de couper les alertes des tests bancals pendant ce temps, afin d'exclure leurs résultats de vos rapports de test automatisés.