O que é a técnica de análise de classes de equivalência e como ela é aplicada nos testes de software?
sobes.tech IA
Resposta da IA
A técnica de análise de classes de equivalência (Partitioning de Equivalência) é um método de conceção de casos de teste baseado na divisão dos dados de entrada (ou condições de saída) em classes, cujos representantes serão processados pelo programa de forma semelhante. Testar um representante de cada classe é considerado suficiente para cobrir toda a classe.
Ideia principal: Se um teste num representante da classe detectar um erro, é provável que o teste em qualquer outro representante dessa mesma classe também detecte um erro. Se o teste num representante não detectar erro, é provável que o teste em qualquer outro representante dessa mesma classe também não detecte erro.
Aplicação:
- Identificação das classes de equivalência:
- Definir classes permitidas e não permitidas para cada campo de entrada (intervalo numérico, conjunto de strings, valores booleanos, etc.).
- Para intervalos numéricos:
- Intervalo permitido.
- Números inferiores ao limite inferior (classe não permitida).
- Números superiores ao limite superior (classe não permitida).
- Para conjuntos de valores:
- Valores permitidos.
- Valores não permitidos (por exemplo, strings em campos numéricos).
- Por exemplo, para o campo "Idade" de 18 a 65 anos:
- Classe permitida: 18-65 (por exemplo, 25, 40, 60)
- Classe não permitida: < 18 (por exemplo, 17, 0)
- Classe não permitida: > 65 (por exemplo, 66, 100)
- Criação de casos de teste:
- Seleciona-se um representante de cada classe identificada (permitida e não permitida).
- Criam-se casos de teste com os representantes selecionados como dados de entrada.
Exemplo:
Formulário de pedido, campo "Quantidade de produto", valor permitido de 1 a 99.
| Classe de equivalência | Tipo | Representantes para teste |
|---|---|---|
| Menor que 1 | Não permitido | 0, -5 |
| De 1 a 99 | Permitido | 1, 50, 99 |
| Maior que 99 | Não permitido | 100, 1000 |
| Valores não numéricos | Não permitido | "abc", " " |
De cada classe é selecionado pelo menos um representante para criar um caso de teste. Por exemplo, para este campo, haverá pelo menos 4-6 casos de teste que cobrem todas as classes identificadas.
Vantagens:
- Reduz a redundância dos casos de teste.
- Ajuda a sistematizar o processo de teste.
- Garante uma boa cobertura de teste com menos casos em comparação com testar cada valor de entrada possível.
Desvantagens:
- Pode não detectar erros em valores limite (frequentemente usado em combinação com análise de valores limite).
- A eficácia depende da correta identificação das classes de equivalência.