Classes de equivalência ou valores-limite: como escolher
Compare classes de equivalência e valores-limite e aprenda a estruturar testes negativos com apenas uma entrada variável.
Use classes de equivalência para escolher um representante entre entradas que exercitam a mesma regra e produzem o mesmo comportamento. Use análise de valor-limite para examinar as bordas em que a regra muda entre classes válidas e inválidas. Em testes negativos, mantenha válidos os campos que não estão sob investigação, para que a rejeição observada possa ser relacionada à entrada variada.[1, 2, 3]
O que cada técnica seleciona
Classes de equivalência agrupam entradas que exercitam a mesma regra e produzem o mesmo comportamento. Quando diferentes valores válidos são equivalentes nesse sentido, um representante adequado pode substituir casos repetidos que verificariam a mesma lógica.[1]
A análise de valor-limite tem outro alvo: as transições entre intervalos válidos e inválidos. Ela examina valores próximos das bordas nas quais uma regra deixa de aceitar uma entrada e passa a rejeitá-la, ou faz o movimento contrário.[2]
As duas técnicas, portanto, não são alternativas excludentes. O particionamento identifica comportamentos equivalentes e reduz repetições; a análise de valor-limite complementa essa seleção examinando as transições entre as classes.[1, 2]
Essa seleção é necessária porque testar todas as combinações possíveis de um software não é viável. Técnicas de projeto de testes procuram escolher casos mais efetivos, ampliando a cobertura e a capacidade de encontrar defeitos sem executar todas as possibilidades.[4]
Como escolher representantes de equivalência
Comece pela regra apresentada e separe entradas que deveriam receber o mesmo tratamento. Para uma senha que exige pelo menos oito caracteres e uma combinação de letras, números e símbolos, uma senha que atende ao tamanho e à composição pertence à classe válida. Senhas que não atendem ao tamanho ou à composição pertencem à classe inválida e devem produzir uma rejeição consistente.[5]
Dentro de um conjunto de entradas válidas que exercitam a mesma regra e produzem o mesmo comportamento, não é necessário conservar um teste para cada valor. A decisão central é escolher um representante adequado, evitando repetir a mesma verificação lógica com dados diferentes.[1]
Essa redução depende da equivalência de comportamento indicada pela regra. Se duas entradas não exercitam a mesma condição, a fonte não permite tratá-las automaticamente como uma única classe. O critério disponível é manter juntas apenas as entradas que testam a mesma regra e levam ao mesmo comportamento esperado.[1]

Quando deslocar a atenção para os limites
Depois de identificar as classes, procure o ponto em que a regra muda. Em uma exigência de pelo menos oito caracteres, a transição de tamanho está entre sete e oito caracteres. Examinar valores próximos dessa transição aplica a análise de valor-limite, enquanto escolher apenas um valor distante dentro da faixa válida aplicaria somente a lógica de representação da classe.[2, 5]
Os valores próximos da borda não substituem a classe inteira. Eles verificam especificamente a mudança entre válido e inválido, complementando o representante escolhido para o comportamento equivalente.[1, 2]
A pergunta prática é simples: se o objetivo é confirmar um comportamento compartilhado por muitos valores, escolha um representante da classe; se o objetivo é observar a troca de resultado provocada pela fronteira da regra, teste os valores próximos dessa fronteira.[1, 2]

Exemplo compacto com uma variável por vez
Considere um formulário com e-mail e senha. A senha deve ter pelo menos oito caracteres e combinar letras, números e símbolos. Para investigar seu limite de tamanho, mantenha a composição conforme a regra e use comprimentos próximos da transição: sete caracteres como caso inválido, oito como primeiro caso válido e nove como valor válido próximo.[2, 5]
Durante esses casos, o e-mail deve permanecer válido. Assim, somente o tamanho da senha varia, e a aceitação ou rejeição pode ser interpretada em relação à entrada investigada. Introduzir simultaneamente um e-mail inválido prejudicaria o isolamento do comportamento avaliado.[3]
Para verificar a composição da senha, mantenha o tamanho em uma condição válida e selecione uma entrada que não atenda à combinação exigida. Esse é um teste negativo da classe inválida de composição, sem misturá-lo com uma falha de tamanho.[3, 5]
Se a entrada investigada passar a ser o e-mail, faça o inverso: mantenha a senha válida e varie somente o e-mail com um valor considerado inválido pela regra em teste. A orientação disponível é explícita ao exigir dados válidos nos demais campos durante a avaliação de valores inválidos de e-mail.[3]
Como tornar uma rejeição interpretável
Um teste negativo fica isolado quando a entrada investigada é inválida e os demais campos permanecem válidos. Se dois campos falham ao mesmo tempo, o resultado não preserva o isolamento recomendado para saber qual comportamento estava sendo avaliado.[3]
A organização pode seguir três decisões: identificar a classe válida e a classe inválida da regra, escolher representantes quando os valores exercitam o mesmo comportamento e acrescentar casos próximos das bordas em que a regra muda.[1, 2, 5]
Em seguida, controle os outros campos. Para cada caso negativo, registre qual entrada varia e quais permanecem válidas. Essa estrutura aplica a orientação de não introduzir falhas simultâneas e mantém o teste concentrado no comportamento selecionado.[3]
O limite das fontes é que elas sustentam a seleção por equivalência, a verificação das bordas e o isolamento entre e-mail e senha, mas não fornecem regras completas de validação de e-mail nem um catálogo universal de casos. Por isso, os valores concretos devem derivar da regra que estiver sendo testada, sem acrescentar critérios não informados.[1, 2, 3, 5]
A relação dessa comparação com a trilha mais ampla está registrada em conteúdo relacionado do curso.
Fontes consultadas
Obras e aulas usadas na redação deste guia. Os números no texto levam a elas.
- Análise do Valor Limite e Classe de Equivalência - Como Aplicar, pessonizando, tempo 00:49:05 a 00:51:11
- Análise do Valor Limite e Classe de Equivalência - Como Aplicar, pessonizando, tempo 00:24:29 a 00:26:12
- Análise do Valor Limite e Classe de Equivalência - Como Aplicar, pessonizando, tempo 00:37:33 a 00:39:10
- Análise do Valor Limite e Classe de Equivalência - Como Aplicar, pessonizando, tempo 00:15:39 a 00:16:47
- Análise do Valor Limite e Classe de Equivalência - Como Aplicar, pessonizando, tempo 00:09:28 a 00:10:34
