Post

1 Star2 Stars3 Stars4 Stars5 Stars
Loading ... Loading ...

By Fabrício Ferrari de Campos
Esses dias estava executando um teste, quando de repente me deparo com uma falha estranha, algo que sempre funciona, que é até uma funcionalidade básica do sistema, para de funcionar.
Porém, a falha ocorria de forma intermitente, e havia muitos fatores que poderiam está influenciando a ocorrência da falha.
E neste momento, que devemos ter calma e paciência para investigar melhor o ocorrido. E não sair já cadastrando a falha no bug tracking. Precisamos antes “neutralizar” a falha.

Como assim neutralizar a falha?
Para tentar explicar o uso do verbo neutralizar, no contexto de Teste de Software, vou utilizar uma analogia, seguida por uma situação de teste:
Analogia
Você acaba de adquirir a TV Digital de uma empresa de telecomunicações verde, e após um tempo de uso a sua mãe começa a reclamar, falando que às vezes a TV está sem sinal. Você acha estranho, pois quando você assisti a TV a imagem está perfeita.
Mas numa certa noite chuvosa, você chega em casa mais cedo para assistir o jogo do seu time e percebe que a TV está sem sinal. E lembrando das vezes que a sua mãe tinha reclamado, percebe que naqueles dias também tinha chovido.
Situação de teste
De vez em quando, ao realizar um cadastro você percebe que o carregamento da página demora mais do que o comum. Você acha estranho e tenta achar o motivo para tal falha. Analisando cada passo feito, e alternando os dados dos campos você acaba descobrindo que o atraso ocorre sempre quando você preenche o campo e-mail, com o endereço do usuário é igual ao domínio.
Tanto na analogia como na situação de teste, havia duas falhas e poderíamos (mas não deveríamos) informar a falha da seguinte maneira:

Analogia: De vez em quando a TV está sem sinal.
Situação de teste: O carregamento da página, após ter realizado o cadastro, demora mais de X segundos de forma intermitente.

Mas após uma melhor análise das falhas, conseguimos descobrir o cenário exato em que a falha ocorre, e assim elas deixam de ser intermitente e passam a ser fáceis de ser reproduzidas.
Então neutralizar é igual isolar a falha?
Sim, afinal ambas as ações tem o mesmo objetivo: identificar o cenário exato da falha, eliminando todos fatores que não influenciam a ocorrência da falha.
Sempre é possível neutralizar as falhas?
Não, e isso ocorre geralmente por três motivos:

Falta de conhecimento sobre a aplicação que está sob teste;
Os fatores influenciadores da falha estão no nível estrutural do sistema, portanto não são possíveis de ser descobertos nos testes funcionais;
Não há tempo para a investigação.

Qual importância da neutralização?
A neutralização da falha é uma das tarefas mais importantes do testador, e exige um espírito investigativo. Afinal nem sempre a falha é fácil de ser descoberta e isolada.
E ela ajuda, e em muito, o trabalho de “extermínio de bugs” dos nossos amigos desenvolvedores. Devemos sempre nos preocupar em passar da melhor e mais detalhada forma o cenário da falha (é melhor informação a mais do a menos :)).
Quando temos um cenário bem detalhado, o desenvolvedor às vezes consegue descobrir onde está o bug, só com a leitura do cenário.
E para encerrar esse post, deixo abaixo uma frase do Sherlock Holmes que tem haver com o tema do post:
“Você vê, mas não observa.”
Fique por dentro das novidades, assine o feed do QualidadeBR.

Source: http://qualidadebr.wordpress.com/2009/06/06/neutralizando-falhas/

Category: Teste & Qualidade de Software

Você também pode querer ler

Comments are off for this post.