Un test irrégulier réussit et échoue sans changement de code pertinent. Des tentatives répétées peuvent masquer le signal et donner à une version cassée une apparence saine, alors apprenez d'abord ce qui change entre les exécutions.

Récupérez un échec utile

  • Enregistrez la graine de test, le nombre de travailleurs, le navigateur et les paramètres d'environnement pertinents.
  • Exécutez le plus petit test défaillant à plusieurs reprises, puis comparez les exécutions isolées et parallèles.
  • Inspectez les fichiers partagés, l'état global, les minuteries, les dépendances du réseau et les hypothèses concernant l'ordre des tests.

Supprimer la dépendance non déterministe

Utilisez des données de test uniques, une configuration et un nettoyage explicites, des horloges déterministes et attendez un état observable. Remplacez un service externe par une limite contrôlée lorsque le test est destiné à vérifier la logique de l'application.

Conservez une nouvelle tentative uniquement à titre de mesure de confinement temporaire avec un propriétaire et une date limite pour la supprimer. Suivez le taux d'échec afin qu'il soit possible de démontrer qu'un changement réduit la desquamation plutôt que de simplement la masquer.