Esta é a continuação de uma série de artigos sobre testes instáveis.
O primeiro artigo ( original / tradução em Habré ) falou sobre 4 componentes nos quais testes instáveis podem ocorrer.
Neste artigo, daremos dicas sobre como evitar testes instáveis em cada um dos 4 componentes.
Componentes
Portanto, existem 4 componentes nos quais testes instáveis podem ocorrer:
Os próprios testes;
Uma estrutura para execução de testes;
Serviços e bibliotecas dos quais o sistema em teste e a estrutura de teste dependem;
O sistema operacional e o dispositivo com os quais a estrutura de teste automático interage.
Isso é mostrado na Figura 1.
Os motivos, opções para localizar o problema e opções para resolver a instabilidade são discutidos abaixo.
Os próprios testes
Os próprios testes podem ser instáveis.
Os motivos podem estar em dados de teste, scripts de autoteste, pré-condições de autoteste e estados iniciais de outras dependências.
Tabela 1 - Motivos, opções para localizar o problema e opções para resolver a instabilidade nos próprios testes.
Razões para testes instáveis |
Opções de localização de problemas |
Opções de solução |
Inicialização ou limpeza incorreta. |
. . , . , . |
. . , . |
. |
. |
- . |
. . |
. |
, . |
, , - . |
, . . |
, . , . , . |
( ). |
. |
- . |
2 — , ,
|
|
|
, . |
, . |
. |
, "" . |
. |
. |
( , ). |
, . |
. . |
,
( ) .
, .
.
3 — , ,
|
|
|
. |
. |
, . , . |
. |
. |
. |
. |
. |
. |
. |
. Valgrind. |
. wikipedia . |
. |
, . |
. |
. |
. |
, . |
, .
4 — , ,
|
|
|
. |
. |
. |
. |
. |
. |
, / , . |
. |
. |
, . , , .