Análise de Valor Limite – Uma Técnica de Teste da Caixa Preta

Já sabemos que o teste da Caixa Preta envolve a validação do sistema sem conhecer o seu design interno. Também discutimos as armadilhas da partição de Equivalência e como elas podem falhar nos limites da partição. Caso você não tenha lido nosso artigo sobre Partição de Equivalência, eu recomendaria muito a leitura antes de ler este artigo. Neste artigo, vamos discutir outra técnica de teste da caixa preta conhecida como Análise de Valor Limite. Veremos também como esta técnica complementa a partição de Equivalência.

  • O que é Análise de Valor Limite?
  • Como fazer a Análise de Valor Limite?
  • >

  • Análise do valor limite com particionamento de equivalência
  • Análise do valor limite

O que é a Análise do valor limite?

A base da Análise do valor limite (BVA) é testar os limites nas partições (Lembre-se do particionamento de equivalência !). O BVA é uma extensão do particionamento de equivalência. Entretanto, isto é utilizável somente quando a partição é ordenada, consistindo de dados numéricos ou seqüenciais. Os valores mínimo e máximo de uma partição são seus limites.

Vimos que há grandes chances de encontrar os defeitos nos limites de uma partição (Por exemplo, um desenvolvedor usando >10 ao invés de >= 10 para uma condição). O particionamento por equivalência não foi suficiente para detectar tais defeitos. Portanto, surgiu a necessidade de definir uma nova técnica que possa detectar anomalias nos limites da partição. Foi assim que a análise do valor-limite entrou em cena.

A análise do valor-limite pode ser realizada em todos os níveis de teste, e é usada principalmente para um intervalo de números, datas e hora.

Como fazer a análise do valor-limite?

Agora temos uma ideia sobre a análise do valor-limite, vamos entender como derivar condições de teste usando esta técnica. Vamos nos referir ao mesmo exemplo de formulário de ginásio (Consulte nosso artigo sobre Particionamento de Equivalência) onde precisamos entrar Age.

>

O primeiro passo da Análise de Valor Limite é criar o Particionamento de Equivalência, que ficaria como abaixo.

Agora Concentre-se na Partição Válida, que varia de 16-60. Temos uma abordagem em 3 passos para identificar limites:

  • Identificar o Valor Limite Exacto desta Classe de partição – que é 16 e 60.
  • Abter o valor Limite que é um a menos do que o Limite exacto – que é 15 e 59.
  • Abter o Valor Limite que é um a mais do que o Limite Exacto – que é 17 e 61,

Se os combinarmos todos, obteremos abaixo as combinações para o Valor Limite para o critério de idade.

Condições Limite Válidas : Idade = 16, 17, 59, 60

Condições Limite Inválidas : Idade = 15, 61

É simples ver que as condições de limite válidas se enquadram na classe de partição válida e as condições de limite inválidas na classe de partição inválida.

Pode descobrir porque não utilizámos 16.1, 15.9, 59.9 e 60.1 como valores de incremento e decréscimo de limite? É um conceito que tem uma explicação insuficiente na maioria dos artigos. Portanto, vamos tomar outro exemplo para explicar isto. Suponha que você está entrando com seu peso em um site. Com base no seu peso e altura, o site irá dizer-lhe o Índice de Massa Corporal (IMC). Você pode digitar valores de 30 a 150 kg no campo de entrada de peso. O campo de entrada de peso só permite números naturais, ou seja, inteiros positivos!

Neste caso, se você criar os limites usando o mesmo método – você terminará com

Válido Condições de Limite : Idade = 30, 31, 149, 150

Condições de Limite Inválidas : Idade = 29, 151

Agora considere o mesmo cenário, mas o campo de entrada de peso permite números decimais até 1 casa decimal. Neste caso, as condições de limite virão como:

Condições Limite Válidas : Idade = 30, 30.1, 149.9, 150

Condições de Limite Inválidas : Idade = 29,9, 150,1

Viu a diferença? Tomamos o valor mínimo aceitável em ambos os lados do limite. Se tomarmos o valor como 30,01, então acabamos testando o software para duas casas decimais onde a exigência é uma casa decimal. É uma condição de teste separada e não deve ser misturada com o valor limite.

A medição da cobertura do limite para uma partição pode acontecer como o número de valores limite testados dividido pelo número total de valores limite identificados.

Análise do valor limite com partição de equivalência

Temos agora um entendimento justo da Análise do valor limite. Então, vamos ver como podemos combiná-la com o particionamento de Equivalência para obter um conjunto completo de condições de teste.

Voltando ao nosso exemplo anterior, vamos rever o diagrama novamente.

O intervalo é de 16 – 60, e a Análise de Valor Limite nos dá condições de teste como 15, 16, 17, 59, 60, 61. Se você tiver um olhar atento, você não acha que já cobrimos a partição de Equivalência válida cobrindo 17, 59 e a partição de Equivalência Inválida cobrindo 15 e 61? Afinal, o particionamento de Equivalência diz que devemos escolher um número entre 16-60 para partição válida e menos de 16 ou mais de 60 para partição inválida. Então, se o valor limite já está cobrindo o particionamento de Equivalência, por que precisamos do particionamento como uma técnica separada? É um conceito que não é claro para a maioria das pessoas, e não muitos artigos o explicaram claramente.

Teóricamente, o valor limite tem realmente coberto a partição Equivalência, mas ainda precisamos de uma partição. Se apenas aplicarmos o valor Limite, e ele falhar, nunca saberemos se a condição de borda falhou, ou se a partição inteira falhou. Vamos compreendê-la com a ajuda de um exemplo. Continuando com nosso formulário de academia, vamos assumir que o desenvolvedor escreveu abaixo da lógica :

If (idade < = 17 ) Então Não permitir a participação no Ginásio

If (idade > 60) Então Não permitir a participação no Ginásio

Se você olhar para a lógica, você perceberá que a lógica deveria ter sido If (idade <17), mas o desenvolvedor adicionou = sinal errado. Você também percebeu que a lógica para toda a partição válida está faltando? If (age>=16 e age <= 60 ) Então permita a adesão ao Gym !

Se usarmos apenas o valor 17 da condição limite, ele falhará na execução do teste. No entanto, ele não irá dizer se a condição de limite falhou ou se a partição inteira falhou. Como tal, é essencial usar um valor de partição de Equivalência, que não é um valor de limite. Neste caso, se usarmos o valor 20, ele falhará na execução. Ele dará uma clara indicação de que o desenvolvedor não implementou a partição inteira.

Então, se combinarmos o Valor Limite e a Partição de Equivalência, nossas condições de teste serão :

Condições Limite Válidas : Idade = 16, 17, 59, 60

Condições Limite Inválidas : Idade = 15, 61

Partição de Equivalência Válida : Idade = 25

Partição de Equivalência Inválida : Idade = 5 , 65

Pitfalls of BVA

Depois de aplicar tanto o valor limite como a partição de Equivalência, podemos dizer com segurança que temos toda a cobertura necessária? Infelizmente, não é assim tão simples! O particionamento do valor limite e da equivalência pressupõe que a aplicação não permitirá a introdução de quaisquer outros caracteres ou valores. Tais caracteres, como @ ou valores negativos ou mesmo alfabetos, não serão permitidos a entrar. Esta suposição, no entanto, não é válida para todas as aplicações, e é essencial testá-los antes de podermos dizer que o valor do campo está funcionando completamente.

A partir daí, podemos ter situações em que o valor de entrada depende da decisão de outro valor. Por exemplo, se o formulário do ginásio tiver outro campo Macho e Feminino, e o limite de idade variará de acordo com essa seleção. O valor limite sozinho não pode lidar com tais variações, e isso nos leva a outra técnica de caixa preta chamada Teste da Tabela de Decisão. Discutiremos isso em detalhe no nosso próximo artigo. Fique atento!

Deixe uma resposta

O seu endereço de email não será publicado.