Les tests instables sont l'un des principaux problèmes des tests automatisés (partie 2)

C'est la suite d'une série d'articles sur les tests instables.





Le premier article ( original / traduction en Habré ) parlait de 4 composants dans lesquels des tests instables peuvent se produire.





Dans cet article, nous donnerons des conseils sur la façon d'éviter les tests instables dans chacun des 4 composants.





Composants

Il y a donc 4 composants dans lesquels des tests instables peuvent se produire:





  • Les tests eux-mêmes;





  • Un cadre pour exécuter des tests;





  • Services et bibliothèques dont dépendent le système testé et le cadre de test;





  • Le système d'exploitation et le périphérique avec lesquels la structure d'autotest interagit.





Ceci est illustré à la figure 1.





Les raisons, les options pour localiser le problème et les options pour résoudre l'instabilité sont discutées ci-dessous.





Les tests eux-mêmes

Les tests eux-mêmes peuvent être instables.





Les raisons peuvent être dans les données de test, les scripts d'autotest, les conditions préalables de l'autotest et les états initiaux d'autres dépendances.





Tableau 1 - Raisons, options pour localiser le problème et options pour résoudre l'instabilité dans les tests eux-mêmes.





Raisons des tests instables





Options de localisation des problèmes





Options de solution





Initialisation ou effacement incorrecte.





. . , . , .





. . , .





.





.





- .





. .





.





, .





, , - .





, . .





, . , . , .





( ).





.





- .









2 — , ,

















, .





, .





.





, "" .





.





.





( , ).





, .





. .





,

( ) .





, .





.





3 — , ,

















.





.





, . , .





.





.





.





.





.





.





.





. Valgrind.





. wikipedia .





.





, .





.





.





.





, .





, .





4 — , ,

















.





.





.





.





.





.





, / , .





.





.





, . , , .









  • ? (/ )





  • Google ()





  • Selenium ! ()





  • ()





  • — (/ )








All Articles