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 — , ,
|
|
|
. |
. |
. |
. |
. |
. |
, / , . |
. |
. |
, . , , .