2. Recapitulando
Aprendemos a validar se os métodos que implementamos
estão corretos
Fizemos isto através da passagem de um conjunto de entradas
para estes métodos e da avaliação de sua saída
Mas, será que os valores que as entradas que testamos
representam um conunto significativo de valores
3. Vamos a um exemplo
Considerando o método validarCPF( String cpf )
O método irá avaliar se o cpf apresenta condições válidas
Este método deve retorna TRUE em caso de uma validação
com sucesso ou FALSE em caso contrário
Quais seriam as possíveis entradas?
4. Escolha dos testes necessários
Testes são custosos e demorados, por isso é importante
escolher os mais importantes
Devemos testar tanto quanto possível, porém temos o limite
de cronograma e orçamento
Precisamos identificar um conjunto de testes que representem
com uma boa margem de segurança a cobertura sobre as
falhas com maior probabilidade de ocorrerem
Mas o problema continua, como identificar os testes
necessários?
5. Como identificar os testes
necessários?
• Podemos dar “chutes”
• Podemos considerar apenas os cenários de sucesso
• Ou podemos considerar apenas os cenários de falha
• Mas, há formas mais efetivas de realizar este processo!
6. Quais são os teste necessários?
Considerem o exemplo:
método aplicarMulta( Float velocidade)
O valor base da multa é R$ 100 , dependendo da
velocidade o valor é modificado
Se a velocidade for entre 50 a 80, aplica-se 10% ao valor
base, se for acima de 80 a 100, aplica-se 20%, acima de
100 aplicação 30%.
O método deve retornar o valor da multa ou -1 em caso
de falha
7. Técnicas de elaboração dos casos de
testes
1. Partição por equivalência
2. Métodos dos valores-limite
3. Grafo causa-efeito
4. Dentre outros…
8. Significado de equivalente
Adj. 2g.
Do mesmo valor;
Que tem valor igual (a outro);
Que pode substituir outro produzindo os mesmos
efeitos ou tendo igual virtude, igual significado, etc.
9. Partição por equivalência
Vamos reduzir a quantidade de casos de teste ao agrupar os
valores que tenham semântica similar (equivalentes)
Para um sistema de cadastro de motoristas do detran poderíamos
habilitar o motorista com base em sua idade
Quais são as possíveis entradas para as idades dos motoristas?
Fazemos este agrupamento, pois sabemos que o
comportamento do sistema será similar para as classes
equivalentes
São consideradas partições válidas e inválidas
10. Exemplo partições para cidades
• Cidades:
• Recife
• Garanhuns
• Belo Jardim
• Caruaru
• Divisão em classes de equivalência:
• Entrada: Capital ou Interior
12. Etapas da técnica
Identificar os valores que podem ser usados (entradas
ou saídas)
Participar estes valores em classes
Classes de entrada
Classes de saída
13. Exercício
Calcular imposto com base no salário – calcular( Float salario )
Imposto 27,5% a partir de 3.743
Imposto 22,5% a partir de 2.995 até 3.743
Um programa valida um campo rico da seguinte maneira:
Valores inferiores ou iguais a 0 o rejeitados, valores entre 1 e 130
o aceitos, valores maiores ou iguais a 131 o rejeitados.
14. Método dos valores-limite
Uma prática comum para reduzir a quantidade de casos
de teste é testar os valores com maior probabilidade de
causarem erros
Estes valores normalmente são valores próximos aos
valores limite
Verificar se alimento está fora do prazo de validade 08/10/12
Verificar se um carro está acima do limite de 100km
Verificar se a quantidade de digitos do CPF está correta
15. Método dos valores-limite
• Utilizamos como base os valores limite do domínio de entrada
• Em vez de selecionar qualquer valor seleciona-se os chamados
valores de fronteira
• Antes da fronteira
• Na fronteira
• Após a fronteira
16. Exemplo de valores limites
Considerando que um campo referente a data de
nascimento aceita valores de 1860 até 2860
Quais são os valores limites?
17. Exemplo de valores-limite
• Recall de todos os veículos fabricados entre
15/01/2009 e 20/04/2009:
• CASO_TESTE01 = Valor de entrada: 14/01/2009
• CASO_TESTE02 = Valor de entrada: 15/01/2009
• CASO_TESTE03 = Valor de entrada: 16/01/2009
• CASO_TESTE04 = Valor de entrada: 19/04/2009
• CASO_TESTE05 = Valor de entrada: 20/04/2009
• CASO_TESTE06 = Valor de entrada: 21/04/2009
Hinweis der Redaktion
ImplementemestemétodoValoresinválidos: abaixo de 50, null, negativos, zeroValorespossíveis de teste: 50, 51, 52… 80. 81,82…100, 101,102,…infinito
Podemosconsiderartodas as idadespossíveis: 0 – 120Porémcriar 121 casos de testeseriaalgoinvável, porquenãocriarequivalências?>= 18 ou < 18 (usandoestasduastantofazcolocar 18 ou 99, se tornamequivalentes