Glossário · Projeto de testes
Particionamento de equivalência
Em inglês: Equivalence partitioning
Também chamado de: partição de equivalência, classes de equivalência, particionamento em classes de equivalência, ECP
Definição
Técnica de projeto de teste que divide as entradas em grupos que o sistema deve tratar da mesma forma e testa um valor representativo de cada grupo.
O particionamento de equivalência (também chamado de particionamento em classes de equivalência) divide as entradas possíveis em partições nas quais todos os valores devem produzir o mesmo comportamento. Se um valor de uma partição funciona, assume-se que os outros também funcionam; se um falha, os outros provavelmente falham do mesmo jeito. Assim, você testa um representante por partição em vez de todos os valores possíveis.
Exemplo: idade de 18 a 60 aceita
Um formulário aceita idades de 18 a 60, inclusive, como números inteiros.
| Partição | Válida? | Representante | Esperado |
|---|---|---|---|
| Menor que 18 | Inválida | 10 | Rejeitado: “Você precisa ter 18 anos ou mais” |
| 18 a 60 | Válida | 35 | Aceito |
| Maior que 60 | Inválida | 75 | Rejeitado |
| Não numérico | Inválida | abc |
Rejeitado: “Digite um número” |
| Vazio | Inválida | (em branco) | Rejeitado: “A idade é obrigatória” |
| Decimal | Inválida | 25.5 | Rejeitado |
| Negativo | Inválida | -5 | Rejeitado |
Sete testes cobrem, conceitualmente, todo o espaço de entradas. A análise de valor limite então acrescenta 17, 18, 60 e 61 nas bordas das partições numéricas, onde os defeitos são mais prováveis. As duas técnicas quase sempre são usadas juntas.
Particionando saídas e outros tipos de entrada
As partições não se limitam a números:
- Categorias: um campo de país de entrega pode ser particionado em nacional, União Europeia, resto do mundo e países sob embargo, cada um com regras diferentes.
- Saídas: se uma calculadora de impostos tem três faixas, escolha entradas que caiam em cada faixa.
- Formatos: endereços de e-mail se dividem em válidos, sem
@, sem domínio e longos demais.
Testando as partições inválidas uma de cada vez
Quando um formulário tem vários campos, combine livremente as partições válidas, mas teste cada partição inválida isoladamente, com todos os outros campos válidos. Se você enviar uma idade inválida e um e-mail inválido juntos, o primeiro erro de validação pode esconder o segundo, e você não consegue saber se as duas verificações funcionam.
Erros comuns
- Partições erradas. As partições vêm da especificação e de como o sistema realmente se comporta. Se o código trata idades de 18 a 25 de forma diferente (digamos, um preço de seguro diferente), essa é uma partição separada, mesmo que o formulário aceite todas.
- Só partições válidas. A maioria dos defeitos no tratamento de entradas está nas inválidas.
- Parar nas partições. Um valor por partição não vai pegar um erro de off-by-one na borda. Acrescente os valores limite.