Pular para o conteúdo
SDETRole
SDETRole

Glossário · Projeto de testes

Análise de valor limite

Em inglês: Boundary value analysis

Também chamado de: análise do valor limite, AVL, BVA, teste de valor limite

Definição

Técnica de projeto de teste caixa-preta que escolhe entradas exatamente nas bordas das faixas válidas e logo ao redor delas, onde se concentram os erros de off-by-one.

A análise de valor limite (BVA, do inglês boundary value analysis) testa os valores nas bordas de cada faixa de entrada, porque é ali que os desenvolvedores erram: > em vez de >=, < 60 em vez de <= 60, um loop que roda uma vez a mais. Normalmente ela é aplicada depois do particionamento de equivalência, que identifica as faixas; a BVA então escolhe os valores exatos em cima de cada borda e ao redor dela.

Exemplo: idade de 18 a 60 aceita

Um formulário de cadastro aceita idades de 18 a 60, inclusive.

BVA de dois valores (o limite e o vizinho mais próximo fora da faixa):

Entrada Esperado
17 Rejeitado
18 Aceito
60 Aceito
61 Rejeitado

BVA de três valores acrescenta o vizinho do lado de dentro de cada limite:

Entrada Esperado
17, 18, 19 Rejeitado, Aceito, Aceito
59, 60, 61 Aceito, Aceito, Rejeitado

São seis testes em vez de 43 idades válidas possíveis, e esses seis pegam os erros de comparação mais comuns. Se o código diz age > 18, o teste com 18 falha. Se diz age < 60, o teste com 60 falha.

Além das faixas numéricas

Existem limites em qualquer lugar onde haja uma restrição:

  • Tamanho: um nome de usuário de 3 a 20 caracteres significa testar 2, 3, 20 e 21 caracteres.
  • Datas e horários: um link válido por 30 minutos significa testar em 29:59, 30:00 e 30:01. Verifique também meia-noite, fim de mês e anos bissextos quando fizer sentido.
  • Coleções: um carrinho vazio, um item, e o máximo de itens permitido mais um.
  • Dinheiro: R$ 99,99, R$ 100,00 e R$ 100,01 para uma regra de “frete grátis a partir de R$ 100”.
  • Limites técnicos: tamanho máximo de arquivo, overflow de inteiros, tamanho de página em APIs paginadas.

Erros comuns

  • Testar só o lado válido. 17 e 61 importam tanto quanto 18 e 60.
  • Supor qual é o limite. “Até 60” pode significar que o 60 está incluído ou não. Pergunte e registre a resposta nos critérios de aceitação.
  • Ignorar tipo e precisão. Se o campo aceita decimais, o valor logo abaixo de 18 pode ser 17,99, e não 17.
  • Esquecer os limites escondidos. Uma coluna do banco de dados ou uma API pode impor um limite diferente do da UI. Teste os limites em cada camada.

Digite para buscar em todo o SDETRole.

Busca de texto completo com Pagefind · roda no seu navegador Abrir página de busca →