3 - teste de software
© Prof. Raul Sidnei Wazlawick
UFSC-CTC-INE
2010
Fator Humano
• Por melhores que sejam as técnicas de modelagem e especificação e software, por mais disciplinada e experiente que seja a equipe sempre haverá um fator que faz com que o teste de software seja necessário: o erro humano.
• Beizer (1990) menciona que é um mito pensar que bons desenvolvedores bem concentrados com boas ferramentas serão capazes de desenvolver software sem erros.
Lei de Murphy na
Indústria de Software
• Se alguma coisa pode sair errado, sairá.
– no pior momento possível.
• Se tudo parece estar indo bem é porque você não olhou direito.
• A natureza sempre está a favor da falha oculta. • Durante muitos anos a tarefa de teste de software foi considerada como um castigo para os programadores.
• O teste era considerado como uma tarefa ingrata porque se esperava justamente que os desenvolvedores construíssem software de boa qualidade.
• A necessidade de testes declarava justamente esta incapacidade que era indesejada.
Caricatura de Disciplina de Teste
•
•
•
•
“depois eu testo”;
“na minha máquina funcionou...”;
“vamos deixar os testes para a próxima fase”;
“temos que entregar o produto na semana que vem”, etc.
Porém, as coisas mudaram
• Conforme visto em alguns modelos de ciclo de vida, a disciplina de teste passou a ser considerada importante e parte integrante do processo de desenvolvimento de software.
• Os métodos ágeis também incorporaram o teste de software como uma atividade crítica, propondo inclusive que os casos de teste passassem a ser escritos antes das unidades de software que iriam testar.
• Além disso, grandes empresas desenvolvedoras de software passaram a contratar o teste de software de forma independente, ou seja, os responsáveis pelo teste não são mais apenas os desenvolvedores, mas equipes especialmente preparadas para executar esta tarefa.
Teste e Depuração
• Convém distinguir teste de depuração:
– O teste consiste em identificar que o