- Erro: ação humana que produz um resultado incorreto (engano)
- Defeito: manifestação do erro (bug)
- Falha: evento inesperado proveniente do defeito, do qual representa a diferença entre o que você esperava e o que você vê na aplicação
1 - Testes são feitos para mostrar a presença de defeitos, não a ausência deles 2 - Você não consegue testar tudo, você deve elencar o que é mais importante para a sua bateria de testes 3 - Sempre faça testes desde o começo do projeto 4 - Defeitos se agrupam (efeito cascata) 5 - Se você sempre fizer o mesmo teste, um momento o defeito vai passar (paradoxo do pesticida) 6 - O teste depende do seu contexto 7 - Ausência de defeitos é ilusão
-
Teste de componente(unidade)
- Testa coisas pequenas, como funções e classes
- Pega, geralmente, problemas lógica e problemas de fluxo de dados
- Quanto mais testes de unidade você fizer, mais rápido você pode encontrar e resolver o problema, deixando mais barata a manutenção
-
Teste de integração
- Vê se as unidades do software se integram(juntam) da forma como esperado
- Pega, geralmente, problemas de comunicação entre partes e problemas de fluxo
-
Teste de sistema
- Vê o comportamento do sistema como um todo
-
Teste de aceite
- Verifica se o cliente aceita o resultado
- se para todos os clientes está funcionando bem
Quanto mais na base da pirâmide de testes, mais fácil, rápido e barato é para corrigir (testes unitários), e quanto mais para cima os testes vão, mais caro e demorado é (testes de aceite e de sistema)
- Funcional: Verifica o comportamento das funções do software
- Não funcional: Verifica usabilidade, eficiência e performance
- Caixa branca: Verifica se a estrtura interna está sólida
- Teste da mudança
- confirmação: Verifica se o erro foi de fato corrigido
- regressão: Verifica se alguma parte do software não foi afetada pela correção
- teste estático: Verifica se o software está se comportando como descrito pela documentação
-
step 1
Particionamento de equivalência
Particiona dados em válidos (que o sistema deve aceitar) e inválidos (que o sistema deve rejeitar) -
step 2
análise de valor limite
vê o tamanho da partição dos dados e pega os limites dessas partições para usar no teste, fazendo com que não seja necessário testar todos os milhares de casos possíveis, apenas os mais críticos