O documento discute técnicas e conceitos importantes para projetos de teste de software, incluindo a escrita de casos de teste baseados em requisitos e documentação, técnicas estáticas e dinâmicas de teste, particionamento de classes de equivalência, valor limite, cenários de casos de uso, objetivos e procedimentos de casos de teste, seleção de casos de teste e matrizes de rastreabilidade.
2. AGENDA
AGENDA
• Projeto de Testes
• Técnicas de Teste
• A importância da seleção de casos de teste
• Matriz de Rastreabilidade
• Projeto de Testes
• Técnicas de Teste
• A importância da seleção de casos de teste
• Matriz de Rastreabilidade
3. PROJETO DE TESTES
PROJETO DE TESTES
• Escrita de casos de testes baseando-se em:
- Plano de Testes
- Documentação de Requisitos, Casos de Uso
- Documento de Arquitetura
- Impressões
- O que mais?
4. TÉCNICAS DE TESTES
TÉCNICAS DE TESTES
• Técnicas Estáticas
– Manual:
•Revisão de Código e Documentação
– Automática:
•Padrão de Código
•* Métricas de Código
•Estrutura de Código
5. TÉCNICAS DE TESTES
TÉCNICAS DE TESTES
• Técnicas Dinâmicas
– Baseadas na estrutura:
•Caixa-branca
– Baseadas na Especificação:
•Caixa-preta
– Baseadas na Experiência
•Error Guessing
•Exploratórios
6. PARTICIONAMENTO EM CLASSES DE EQUIVALÊNCIA
PARTICIONAMENTO EM CLASSES DE EQUIVALÊNCIA
• Identificar as classes de equivalência
– Condição de entrada
– Classes válidas e inválidas
• Definir casos de teste
– Enumerar classes de equivalência
– Casos de testes para as classes válidas
– Casos de testes para as classes inválidas
7. VALOR LIMITE
VALOR LIMITE
• Identificar as faixas de valores
– Caso de teste para valores limites
– Caso de teste para valor imediatamente
abaixo
– Caso de teste para valor imediatamente acima
0
inválido válido inválido
1 99 100
8. • Causas -> Condição de entrada
• Efeitos -> Ações
Exemplo retirado do artigo Introdução a Testes de Software,
Engenharia de Software Magazine, vol1
GRAFO CAUSA EFEITO
GRAFO CAUSA EFEITO
9. Causa
Valor da compra > 80 > 80 <= 80
#Produtos < 3 >= 3 --
Efeito
Cobrar frete F V V
Frete grátis V F F
GRAFO CAUSA EFEITO
GRAFO CAUSA EFEITO
• Causas -> Condição de entrada
• Efeitos -> Ações
Exemplo retirado do artigo Introdução a Testes de Software,
Engenharia de Software Magazine, vol1
10. • 1 caso de teste para cenário de sucesso
• 1 caso de teste para cada extensão
• Teste +
• Teste -
CENÁRIOS DE CASO DE USO
CENÁRIOS DE CASO DE USO
ATENÇÃO PARA AS PRIORIDADES !
11. CASO DE TESTES EXEMPLO
CASO DE TESTES EXEMPLO
Objetivo: O usuário deve ser capaz de logar na
aplicação, caso forneça seu login e senha
corretamente.
Procedimento Resultado esperado
1. Forneça login e senha
corretos.
1. O usuário deve logar na
aplicação corretamente.
CUIDADO COM VALORES FIXOS !
12. OBJETIVO DO CASO DE TESTE
OBJETIVO DO CASO DE TESTE
• Base nos requisitos
• Foco no usuário final
• Única e curta finalidade
• São mais importantes que os steps
13. PROCEDIMENTOS DO CASO DE TESTE
PROCEDIMENTOS DO CASO DE TESTE
• Devem ser poucos
• Não divergem do objetivo do teste
• Não são a única maneira de executar os testes
14. • Quanto mais casos de teste, melhor! Por que?
• Quanto menos casos de teste, melhor! Por que?
• Que problemas podemos ter com casos de testes que
passam?
• Cada pessoa que executa um teste, vai fazê-lo de uma
maneira diferente, isso é bom ou ruim?
DISCUSSÃO
DISCUSSÃO
15. • Podemos testar sem requisitos?
• Como testaremos uma aplicação mal especificada?
– Oráculos
– Inferências
DISCUSSÃO
DISCUSSÃO
UM BOM TESTADOR VAI ALÉM DA ESPECIFICAÇÃO.
PENSA NO QUE NÃO FOI PENSADO!
16. • Impossível testar tudo
– Níveis de prioridade
– Escolher os cenários
– Divisão por grupos
–Explosão de Casos de Teste
A IMPORTANCIA DA SELEÇÃO
A IMPORTANCIA DA SELEÇÃO
17. • Primeiro grupo:
–Áreas diretamente impactadas por
novas funcionalidades
–Áreas impactadas por modificação de
código (correção de defeitos,
reengenharia)
–Suíte de Sanity (definir conjunto de
funcionalidades mais básicas)
GRUPOS DE TESTES
GRUPOS DE TESTES
18. GRUPOS DE TESTES
GRUPOS DE TESTES
• Segundo Grupo:
–Suítes que vem encontrando defeitos em
releases anteriores
–Suítes que cobrem funcionalidades
críticas
19. GRUPOS DE TESTES
GRUPOS DE TESTES
• Terceiro Grupo
–Suítes de áreas de interesse especificas
20. Casos de Teste Req 1 Req 2
CT001 X
CT002 X
CT003 X X
Requisitos CT001 CT002 CT003
Req1 X X
Req2 X X
MATRIZ DE RASTREABILIDADE
MATRIZ DE RASTREABILIDADE
• Facilita manutenção