Neutralizando Falhas

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.

Campo minado

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.

Anúncios

Um comentário sobre “Neutralizando Falhas

  1. Pingback: Neutralizando Falhas | Qualidade de Software

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s