A análise de valores-limite segue uma ideia simples e prática: erros ocorrem frequentemente nos limites de intervalos e condições. Esses são pontos comuns para operadores de comparação incorretos, erros em limites inclusivos/exclusivos e tratamento inadequado de valores vazios ou extremos.
O que conta como limite
- →O valor mínimo permitido
- →O valor máximo permitido
- →O valor imediatamente antes de um limite
- →O valor exatamente em um limite
- →O valor imediatamente após um limite
Exemplo
Se as senhas devem conter de 8 a 20 caracteres, os candidatos úteis são os tamanhos 7, 8, 9, 19, 20 e 21. Eles geralmente oferecem mais valor do que tamanhos arbitrários, como 11 e 14.
Onde é particularmente útil
- →Intervalos numéricos, limites, comprimentos de string e tamanhos de arquivo
- →Datas e intervalos: início, término, prazos e expiração
- →Limites de contagem: tentativas, itens, solicitações e usuários
- →Regras de negócios baseadas em limites: descontos por valor, acesso por função e alterações de status após o cumprimento das condições
Erros comuns
- →Verificando apenas os valores-limite e esquecendo seus vizinhos
- →Ignorando limites lógicos que não são explicitamente numéricos
- →Negligenciando condições inclusivas versus condições exclusivas
- →Tratar o BVA sozinho como suficiente para uma lógica de negócios complexa
A análise de limites funciona particularmente bem com o particionamento de equivalência: primeiro identifique as partições e depois reforce a cobertura nas suas bordas.
Matriz de limites resolvida: limites inclusivos
Considere um campo de treinamento separado que aceita um identificador ASCII com 8–20 letras, inclusive. Todos os caracteres são válidos; somente o tamanho muda. Escolhemos ASCII para que caracteres, bytes e unidades de código não introduzam uma segunda variável. Este é um exercício de projeto de testes, não uma recomendação de segurança de senhas.
Tamanho Exemplo Esperado
7 aaaaaaa Rejeitar: muito curto
8 aaaaaaaa Aceitar
9 aaaaaaaaa Aceitar
19 aaaaaaaaaaaaaaaaaaa Aceitar
20 aaaaaaaaaaaaaaaaaaaa Aceitar
21 aaaaaaaaaaaaaaaaaaaaa Rejeitar: muito longoPara essa regra de tamanho inteiro, um conjunto compacto de análise de valores-limite de 2 valores é 7, 8, 20, 21: ele cruza cada fronteira válida/inválida. O conjunto de 3 valores também inclui o vizinho do outro lado de cada limite: 7, 8, 9 e 19, 20, 21. Este último pode revelar um defeito que afeta apenas o vizinho válido imediato. Esses conjuntos não cobrem todas as demais regras de entrada.
Exercício: quantidade de 1 a 5
Suponha que uma quantidade inteira obrigatória deva estar entre 1 e 5, inclusive. Escreva os candidatos da análise de limites de três valores antes de ler a resposta. Mantenha entradas ausentes, null, não inteiras e não numéricas como verificações separadas; elas não são representadas por valores-limite numéricos.
Entrada Esperado
0 Rejeitar
1 Aceitar
2 Aceitar
4 Aceitar
5 Aceitar
6 RejeitarSe um limite se tornar exclusivo, derive novamente os resultados esperados da nova regra. Para valores decimais, carimbos de data/hora ou strings Unicode, primeiro defina a menor etapa relevante e o que o sistema realmente mede. “Um abaixo” de uma data ou limite de tamanho de arquivo não tem significado preciso sem uma unidade.