Técnicas de modelagem de
          testes
       Prof. Leonardo Soares




       Campus Garanhuns
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
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?
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?
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!
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
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…
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.
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
Exemplo partições para cidades


• Cidades:
    •   Recife
    •   Garanhuns
    •   Belo Jardim
    •   Caruaru
• Divisão em classes de equivalência:
    • Entrada: Capital ou Interior
Exemplo de veículos


•   Gol
•   HB20
•   Onix
•   Frontier
•   L200
•   Hilux
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
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.
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
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
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?
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

Técnicas de modelagem de testes

  • 1.
    Técnicas de modelagemde testes Prof. Leonardo Soares Campus Garanhuns
  • 2.
    Recapitulando Aprendemos a validarse 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 umexemplo 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 testesnecessá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 ostestes 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 osteste 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çãodos 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 Vamosreduzir 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 paracidades • Cidades: • Recife • Garanhuns • Belo Jardim • Caruaru • Divisão em classes de equivalência: • Entrada: Capital ou Interior
  • 11.
    Exemplo de veículos • Gol • HB20 • Onix • Frontier • L200 • Hilux
  • 12.
    Etapas da técnica Identificaros 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 combase 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 Umaprá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 valoreslimites 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

Notas do Editor

  • #7 ImplementemestemétodoValoresinválidos: abaixo de 50, null, negativos, zeroValorespossíveis de teste: 50, 51, 52… 80. 81,82…100, 101,102,…infinito
  • #10 Podemosconsiderartodas as idadespossíveis: 0 – 120Porémcriar 121 casos de testeseriaalgoinvável, porquenãocriarequivalências?>= 18 ou < 18 (usandoestasduastantofazcolocar 18 ou 99, se tornamequivalentes
  • #17 1859, 1860, 2860,2861