28/03/2011

Diferenças entre erro, falha e defeito

Os termos erro, falha e defeito significam a mesma coisa? Não. Apesar de existirem diversas definições na literatura, estes e outros termos são utilizados sem cuidado e sem distinção. E isto de fato não representa um problema para equipes que se entendem perfeitamente (que são raras exceções). Porém uma utilização correta das definições pode melhorar bastante a comunicação do grupo quando algo de estranho aparece. Mas qual delas adotar?

Então vamos a mais uma:

Um erro ou defeito (fault, error, defect) está relacionado a um problema latente nos artefatos gerados durante o processo de desenvolvimento. Ok, vamos com calma. Eles normalmente se encontram nos produtos de trabalho antes mesmo do executável, tais como: documentação de requisitos (ex. requisitos ambíguos ou incorretos), código fonte (ex. erros de precedência lógica), modelos de dados (ex. omissão de tipagem), e por aí vai. Resumidamente, o defeito não depende de um programa executável para existir. Sendo assim, pode ser mapeado antes mesmo da codificação e dos testes!

Já uma falha (failure) está normalmente relacionada a um comportamento resultante de um defeito. Ou seja, é um evento inesperado que ocorre durante a execução do software. Por exemplo, o usuário não se autentica pois o campo de senha aceita apenas 6 caracteres, e no cadastro ele se registrou com uma senha de 8 caracteres! Você consegue imaginar algum defeito que origine esta falha? E em qual artefato? (contribua nos comentários)

Mas fiquem atentos para o fato de existirem diversas definições (e problemas de tradução). Quer ver algumas delas? Clique Aqui ou Aqui

Aqui vai alguns desafios para as definições propostas acima (contribua nos comentários):

- A tela azul do Windows é um defeito ou uma falha, ou nenhum dos dois? (Em relação ao Windows e em relação ao programa em execução).

- O que os testes conseguem encontrar diretamente?

Gostou do assunto? Então indico:

Pressman, R. S.; Engenharia de Software, McGraw-Hill, 2006

Pfleeger, S. L.; Engenharia de Software: Teoria e Prática, Quarta Edição, Prentice Hall, 2009 (em inglês).

Por: Wagner Schau.

Um comentário:

LxPx disse...

Tela azul do windows... é rotina!
(eh uma falha)