Conceitos básicos
Para começarmos a estudar Testes de Software é importante entender sua terminologia, ou seja, um conjunto de termos que são usados nessa área. Usando esses termos da maneira correta vai nos ajudar a entender os conceitos que serão apresentados a medida que avançamos no curso.
Falha, defeito e erro
É comum ouvir termos diferentes para indicar que um sistema de software não está se comportando conforme o esperado. Apenas para citar alguns: erro, engano, defeito, bug e falha. Para descrever os eventos que levaram a uma falha de software com mais precisão, precisamos concordar com um determinado vocabulário. Por enquanto, isso se resume a três termos: falha, defeito e erro.
Falha
Uma falha é um componente do sistema (software) que não está se comportando conforme o esperado. As falhas geralmente são visíveis para o usuário final. Um exemplo de falha é um aplicativo móvel que para de funcionar ou um site de notícias que começa a exibir as notícias de ontem em sua primeira página. Em resumo, o sistema de software fez algo que não deveria fazer.
Defeitos
Falhas geralmente são causados por defeitos. Um defeito é a falha no componente do sistema que fez com que o sistema se comportasse incorretamente. Uma defeito reside na parte técnica e, em nosso mundo, geralmente se refere ao código-fonte, como uma comparação em uma instrução if
que usa um operador "menor que" (<
) em vez de um operador "maior que" (>
). Uma conexão interrompida em um banco de dados, uma falha numa transação ou algo do tipo é um exemplo de defeito de hardware.
Erro
Por fim, temos um erro. Um erro é a ação humana que fez com que o sistema não funcionasse conforme o esperado. Por exemplo, um desenvolvedor não criou testes para uma condição obscura porque entendeu mal o requisito.
Em outras palavras: um erro de um desenvolvedor pode levar a um defeito no código-fonte que acabará resultando em uma falha do sistema. No exemplo de código Min-Max anterior: a falha foi o programa retornando um grande número, o defeito foi uma condição if / else if
mal construída e o erro foi o desenvolvedor não lidar adequadamente com aquele caso.
Referências
Software Testing: From Theory to Practice.
Last updated
Was this helpful?