Técnicas de teste de software
Técnicas de teste de Software
1. Resumo
Os seres humanos não são perfeitos, sendo assim, ao desenvolverem os sistemas de softwares a probabilidade de falhas humanas são enormes. A atividade de teste de software é um elemento critico da garantia de qualidade de software e representa a ultima revisão de especificação, projeto e qualificação. O destaque crescente do software como elemento de sistema e os “custos” envolvidos associados às falhas de software são forças propulsoras para uma atividade de teste cuidadosa e bem planejada. Não é incomum que uma organização de software gaste 40% do esforço de projeto total em teste.
Fundamentos de teste de software
O engenheiro de software tenta construir o software, partindo de um conceito abstrato para uma implementação tangível, e na fase de teste ele cria uma serie de casos de testes que tem a intenção de “demolir” o software que ele criou. A atividade de teste exige que o desenvolver descarte noções preconcebidas da “corretitude” do software que ele acabou de desenvolver e supere um conflito de interesses que ocorre quando erros são descobertos. Beizer [BEI90, p. 1] diz que há um mito segundo o qual, se fossemos realmente bons para programar, não haveria bugs a ser procurados, por isso a atividade de teste e projeto de casos de teste devem ser feitos ao desenvolvermos o software.
Objetivos da atividade de teste
Glen Myers [MYE90], em seu livro sobre teste de software estabelece uma serie de regras que podem servir bem como objetivos de teste: 1. A atividade de teste é o processo de executar um programa com a intenção de descobrir um erro. 2. Um bom caso de teste é aquele que tem uma elevada probabilidade de revelar um erro ainda não descoberto. 3. Um teste bem-sucedido é aquele que revela um erro ainda não descoberto.
Esses objetivos mudam a idéia de que um teste bem sucedido