fbpx

Get your 6-month No-Cost Opt-Out offer for Unlimited Software Automation?

A análise do valor limite – normalmente abreviada para BVA – é uma técnica de teste de caixa preta comum. A abordagem testa os defeitos de software verificando os valores de entrada nos limites dos intervalos permitidos.

Este artigo explora o que é o teste de análise de limites, porque é útil e explora algumas abordagens, técnicas e várias ferramentas de teste de limites diferentes.

 

O que é a análise do valor limite nos testes de software?

Teste estático no teste de software - O que é, tipos, processo, abordagens, ferramentas e muito mais!

A análise do valor-limite é um tipo de teste funcional. Este tipo de teste tem por objetivo verificar se cada função do software cumpre os requisitos e as especificações. No caso dos testes de limites, esta funcionalidade inclui a forma como o software lida com várias entradas.

O BVA é uma técnica de teste de software que valida a forma como o software responderá a entradas no limite ou à volta do limite das entradas. Essencialmente, cada entrada tem intervalos permitidos. Por exemplo, pode ter uma caixa de palavra-passe para um início de sessão que aceite palavras-passe entre 8 e 12 caracteres. O teste de limites testará as palavras-passe com comprimentos de caracteres de 7, 8, 12 e 13.

O raciocínio aqui é que os limites dos limites, ou seja, 7, 8, 12 e 13, são mais susceptíveis de lançar erros do que os números dentro dos limites, como 9, 10 e 11. Embora os benefícios aqui possam parecer marginais num exemplo de uma caixa de campo que aceita entre 8 e 12 caracteres, tornam-se mais óbvios quando é necessário escrever casos de teste para caixas de campo que aceitam entre 1 e 20 caracteres ou números entre 1 e 1000, e assim por diante.

Assim, para poupar tempo e reduzir o número de casos de teste no âmbito dos testes funcionais, a análise do valor-limite analisa os valores:

  • No valor mínimo
  • Diretamente abaixo do valor mínimo
  • No valor máximo
  • Diretamente acima do valor máximo

 

Vantagens da análise do valor limite nos ensaios

Teste de QA - O que é, tipos, processos, abordagens, ferramentas e muito mais!

Os testes de limites têm várias vantagens interessantes para as equipas de garantia da qualidade.

#1. Melhor qualidade do software

O cenário de pesadelo para os testadores são os bugs e defeitos que passam despercebidos. Com tantas coisas para verificar, alguns defeitos podem passar despercebidos. Os testes de limites comprovam a funcionalidade das áreas do software que têm maior probabilidade de conter erros, o que conduz a melhores construções de software e, em última análise, a uma aplicação mais fiável e estável.

#2. Maior cobertura de testes

O BVA nos testes de software é muito útil porque ajuda a reduzir o número de casos de teste necessários para uma cobertura de teste abrangente. A análise do valor limite garante que os valores importantes e que cada valor pode ser testado de forma mais exaustiva.

#3. Deteção precoce de defeitos

Os testes de valor-limite fazem parte de uma abordagem que dá prioridade à deteção precoce de defeitos. A deteção de erros no início do processo significa que as equipas de desenvolvimento podem poupar tempo e dinheiro, sem sequer mencionar o facto de ser muito mais fácil corrigir os erros nas fases iniciais do desenvolvimento.

#4. Eficiência

Os testes de valor-limite são super eficientes porque reduzem a necessidade de muitos casos de teste. De facto, a redução das entradas a todos os elementos, exceto os mais susceptíveis de causar problemas, pode poupar muito tempo às equipas de teste, tanto na escrita como na execução dos casos de teste.

 

Desvantagens da análise do valor limite nos ensaios

Diferentes metodologias de software e de controlo de qualidade

Naturalmente, nenhuma técnica de teste de software é perfeita ou isenta de limitações. Embora a análise do valor-limite tenha muitas vantagens, existem algumas restrições ao trabalho com esta técnica de teste funcional.

#1. Âmbito de aplicação restrito

O BVA funciona nos limites ou bordos das entradas de dados válidos. Em geral, ignora as entradas intermédias, argumentando que estas estarão bem se as entradas válidas nas extremidades o forem. No entanto, não é sem precedentes que alguns destes valores que não foram testados podem ter problemas.

#2. Demasiado simplista

A análise de limites consiste em simplificar as coisas. Embora isto funcione para reduzir os casos de teste, a abordagem é menos adequada para domínios altamente complexos com múltiplos limites, interacções ou dependências. De facto, pode ter dificuldade em lidar com cenários complexos, o que significa que é necessário explorar outras técnicas para obter uma cobertura adequada.

#3. Pressupostos

Qualquer processo que tente aumentar a eficiência corre o risco de não detetar determinados erros. O BVA centra-se nas fronteiras no limite de uma área de distribuição. Ao fazê-lo, tem de fazer suposições sobre outros factores de produção que se situam em ambos os lados dos valores-limite. Os testadores devem encontrar um equilíbrio entre eficiência e cobertura, o que representa um ligeiro risco se os testes de limites forem utilizados isoladamente.

#4. Confiança em especificações e requisitos exactos

Um BVA eficiente depende da qualidade e da exatidão das especificações e da documentação dos requisitos. Quaisquer erros não verificados nestes documentos podem ser transmitidos aos testes de valores-limite e levar a que erros específicos não sejam verificados e não sejam descobertos até às fases críticas finais do desenvolvimento.

#5. Confiança nas classes de equivalência

A realização de um BVA completo requer um forte conhecimento prático das classes de equivalência. A definição exacta destas classes requer experiência e alguma informação de base sobre a aplicação.

 

Desafios da análise do valor limite

em testes de software

desafios dos ensaios de carga

Neste momento, já deve estar bastante esclarecido sobre os prós e os contras dos testes de limites. No entanto, se quiser implementar a abordagem nos seus próprios testes de software, deve também estar ciente dos vários desafios que tem de ultrapassar.

Eis alguns dos desafios da implementação de testes de valor-limite em testes de software.

 

#1. Delinear os limites

A identificação de limites em sistemas simples coloca poucos desafios aos testadores competentes. No entanto, há situações mais complexas, como por exemplo:

  • Domínios de entrada complexos com diversas variáveis de entrada ou relações intrincadas
  • Limites não documentados que não foram claramente delineados nos documentos de especificação
  • Limites dinâmicos que se alteram com base nas acções do utilizador ou noutras condições

 

#2. Requisitos ambíguos

Documentos de requisitos mal redigidos ou pouco claros podem dificultar a identificação dos valores-limite. A clareza, a exaustividade e o empenhamento em documentos de especificação exaustivos levam tempo, mas acabam por compensar.

 

#3. Especialização

A análise do valor limite pode ser enganadoramente complexa. De facto, as equipas de teste necessitam de pessoal com experiência e conhecimento do campo para compreender as subtis nuances da técnica. Além disso, os testadores precisam de ter algum conhecimento do software ou, no mínimo, ter documentos de especificação fiáveis para recorrer.

 

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

#4. Erros

A análise de limites procura reduzir o número de casos de teste necessários para verificar entradas válidas e inválidas. No entanto, os defeitos que se encontram fora do intervalo de ensaio podem facilmente passar despercebidos. Além disso, os erros “off-by-one” são erros de codificação comuns que podem ocorrer nos limites ou perto deles. Os testadores devem estar conscientes destes cenários e tomar medidas para os testar.

 

#5. Explosão de casos de teste

Com vários limites de entrada em jogo, os casos de teste podem rapidamente tornar-se complexos e multiplicar-se fora de controlo. Nestas situações, o tempo e o dinheiro que se pode poupar com os testes de limites perdem-se, comprometendo as vantagens da solução. A construção de software complexo com muitas combinações ou permutações pode ter um efeito semelhante.

 

#6. Limitações da ferramenta de análise

As ferramentas de automatização dos testes de software podem ajudar as equipas a efetuar uma análise adequada do valor-limite. No entanto, mesmo nos melhores casos, estas ferramentas requerem alguma intervenção manual, tanto para o teste como para a criação do teste. Esta situação pode ser exacerbada para construções complexas com interacções multi-variáveis.

 

Diferentes tipos de valores-limite

testes em testes de software

processos de teste de software de lista de verificação

No livro Software Testing: A Craftsman’s Approach, os autores Paul C. Jorgensen e Byron DeVries descrevem quatro tipos diferentes de testes de valor limite, que são

 

1. Teste do valor limite normal (NBVT)

  • Testa valores de entrada válidos nas extremidades do domínio de entrada
  • Explora os valores mínimos e máximos juntamente com as entradas imediatamente acima e abaixo do limite
  • Este é o tipo clássico de análise de valor limite

 

2. Teste robusto de valores-limite (RBVT)

  • Semelhante ao NBVT acima, mas também inclui entradas inválidas
  • Testa nos limites e para além dos limites, mas também tem em conta as entradas inválidas
  • Centra-se na deteção de erros em resultados extremos ou inesperados

 

3. Ensaio do valor limite no pior dos casos (WBVT)

  • Verifica o comportamento do software utilizando valores extremos válidos e inválidos
  • Explora valores nos limites dos domínios de entrada e valores para além desses limites
  • Procura compreender o comportamento do software em condições mais extremas

 

4. Teste robusto do valor-limite no pior dos casos (RWBVT)

  • Utiliza uma combinação de RBVT e WBVT para o teste mais completo do valor limite
  • Testa valores de entrada válidos e inválidos em limites típicos e extremos
  • Oferece a melhor oportunidade para encontrar defeitos relacionados com os limites

 

Estas abordagens diferem em termos de abrangência, sendo a RWBVT a mais completa. No entanto, os testadores devem reconhecer o investimento extra em tempo e esforço necessários para desbloquear este nível adicional de descoberta de defeitos.

 

Partição de equivalência e valor de fronteira

análise: semelhanças e diferenças

esclarecer alguma confusão na automatização de testes de software

O particionamento por equivalência e a análise de valor limite são frequentemente utilizados em conjunto. De facto, as duas técnicas são muito complementares. No entanto, descrevem abordagens distintas para validar a introdução de dados. Eis um olhar sobre as semelhanças e diferenças entre os dois.

 

1. Semelhanças

O particionamento por equivalência e a análise de valor limite formam um ótimo par. Eis algumas das semelhanças entre as duas técnicas.

  • São ambas técnicas de teste de caixa negra, o que significa que se centram nas entradas e saídas, que podem ser testadas sem um conhecimento prévio do código-fonte da aplicação.
  • Ambos fazem parte de uma abordagem exaustiva dos contributos para os testes
  • Ambos ajudam os testadores a encontrar um equilíbrio entre uma cobertura de teste abrangente sem escrever uma quantidade excessiva de casos de teste.

 

2. Diferenças

Para explorar as diferenças entre o particionamento de equivalência e a análise de valor limite, é necessário analisar cada um deles isoladamente.

Partição de equivalência

  • Divide os dados de entrada em classes de equivalência que devem resultar em saídas de sistema semelhantes
  • Utiliza um único valor representativo de cada classe e testa o sistema com esse valor
  • Trata-se de identificar classes de equivalência válidas e inválidas

 

Análise do valor de fronteira

  • Testa os valores nos limites ou bordos das classes de equivalência
  • Testar um número de valores, incluindo mínimo, máximo e valores em ambos os lados do limite
  • Procura erros que se encontram no limite dos limites

 

Exemplos de partição de equivalência e análise de valor limite

Para ajudar a consolidar a sua compreensão do particionamento de equivalências e da análise de valores de fronteira, eis alguns exemplos.

Exemplo de partição de equivalência:

Digamos que tem uma caixa de entrada para registos de automóveis. Normalmente, as chapas de matrícula dos EUA têm entre 6 e 7 caracteres. Por uma questão de simplicidade, não vamos considerar as chapas de matrícula especiais.

Dados válidos = Placas de 6 ou 7 caracteres

Dados inválidos = Chapas com >6 ou >7 caracteres.

 

Exemplo de análise de valor limite:

Utilizando o mesmo exemplo de placa de matrícula acima referido, a análise de fronteira testará

Dados válidos = Chapas com 6 ou 7 caracteres

Dados inválidos = Chapas com 5 ou 8 caracteres e, nalguns casos, com 4 e 9 caracteres

 

Exemplo de análise de valor limite

benefícios dos ensaios alfa e da rpa

Talvez a melhor maneira de entender completamente o conceito seja olhar para outro ou dois exemplos de análise de valor limite.

 

Exemplo de teste de valor limite #1

Para explorar o teste de valor-limite com mais pormenor, vejamos um exemplo de um domínio de verificação de idade.

Temos uma caixa onde o utilizador pode introduzir a sua idade.

Os valores de fronteira são:

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

  • Idade mínima = 18 anos
  • Idade máxima = 120

 

Exemplo de casos de teste de limites:

Há um total de seis casos de teste:

  • 17, 18 e 19, que são inferiores ao mínimo, mínimos e superiores ao mínimo, respetivamente
  • 119, 18 e 19, que são inferiores ao máximo, máximos e superiores ao máximo, respetivamente

 

Exemplo de teste de valor limite #2.

No nosso próximo exemplo de teste de limites, vamos explorar um sítio Web com um desconto de compra de valor mínimo de 20% em encomendas de 100 dólares ou mais.

Neste exemplo, uma compra de mais de 600 dólares dá origem a um desconto de 25%. O teste do valor-limite tratará de entradas entre $100 e $600.

Os valores de fronteira são:

Desconto mínimo de qualificação = $100

Desconto máximo de qualificação = $600

 

Exemplo de casos de teste de limites:

Mais uma vez, geramos um total de seis casos de teste, que são:

  • $99,99, $100 e $100,01, que são inferiores ao mínimo, mínimos e superiores ao mínimo, respetivamente
  • $599,99, $600, e $600,01, que estão abaixo do máximo, do máximo e acima do máximo, respetivamente

 

Os testes de limites nos testes de software são exactos?

testes alfa vs testes beta

No artigo de investigação Black Box Testing with Equivalence Partitioning and Boundary Value Analysis Methods, os autores exploram a utilização de métodos de particionamento de equivalência e de análise de valor-limite para testar um sistema de informação académico para a Universidade de Mataram, na Indonésia.

Os autores utilizaram a popular ferramenta de teste de código aberto Selenium para os seus testes e executaram um total de 322 casos de teste. Os testes de equivalência e a análise do valor-limite revelaram cerca de 80 casos falhados, o que levou a um rácio aproximado de 75:25 de resultados válidos e inválidos. De um modo geral, a utilização de uma combinação de particionamento de equivalência e BVA nos testes de software conduziu a testes completos e úteis para o software.

 

Melhores ferramentas de teste de valor-limite

ZAPTEST RPA + Conjunto de automatização de testes

Embora as ferramentas de software dedicadas ao teste de limites sejam raras, existem muitas ferramentas de teste notáveis que são capazes de o fazer.

#3. TestCaseLab

O TestCaseLab é uma ferramenta de gestão de testes baseada na nuvem que pode ajudar nos testes BVA. O software permite às equipas criar e gerir casos de teste a partir da sua interface de utilizador intuitiva e de aspeto atraente. O TestCaseLab é flexível e repleto de recursos, mas tem suas restrições, incluindo opções limitadas de relatórios e personalização.

 

#2. Micro Focus UFT One

O Micro Focus UFT One é uma ferramenta de teste de software centrada em testes funcionais e de regressão. Suporta diferentes plataformas, dispositivos e testes de API e oferece fortes opções de integração. Oferece a criação de testes sem código e orientados por palavras-chave e pode ajudar as equipas a criar facilmente casos de teste de análise de valor-limite. Há algumas limitações a considerar, como uma curva de aprendizagem acentuada e uma falta de potência quando comparada com ferramentas como o ZAPTEST.

 

#1. ZAPTEST

Automatização de testes ágeis de DevOps: Explicando a abordagem de automação baseada em mockups do ZAPTEST

O ZAPTEST é uma ferramenta abrangente de testes de automatização de software com capacidades avançadas de RPA. Foi concebido para fornecer aos testadores um conjunto de ferramentas de automatização de testes robustas e fáceis de utilizar que podem ajudar a verificar o software de várias formas, incluindo com o BVA em testes de software.

Alguns dos casos de utilização mais convincentes do ZAPTEST para ajudar na análise do valor limite incluem a geração de casos de teste, o tratamento de dados de teste, a execução de testes e a elaboração de relatórios e análises. Com uma gama de modelos e um elevado nível de personalização combinados com a criação de casos de teste sem código, os utilizadores do ZAPTEST podem criar e gerir rápida e facilmente casos de teste robustos para todos os tipos de análise de limites.

Para além da geração e gestão de casos de teste, as capacidades de RPA do ZAPTEST podem ajudar as equipas de teste com os seus testes de análise de valor limite de outras formas. Por exemplo, pode automatizar a execução de casos de teste, gerar dados de teste e criar integrações poderosas com outras ferramentas de teste.

 

Sugestões para o teste do valor limite

  • Combine a análise do valor limite com a partição de equivalência para garantir que os seus casos de teste abrangem vários cenários de entrada
  • Utilize cenários de entrada inválidos (ou seja, testes negativos) para garantir que verifica a forma como o software lida com erros e entradas inesperadas
  • Investir tempo na identificação de valores-limite para diferentes tipos de dados, como texto, números, booleanos, etc.
  • Dar prioridade aos testes de valor-limite para funcionalidades críticas ou áreas onde é mais provável que ocorram erros
  • Utilize dados realistas que representem o tipo de dados que os seus utilizadores introduzirão nos seus domínios.

 

Considerações finais

A análise do valor-limite é uma abordagem útil de teste funcional. Quando se tem um domínio de entrada, é necessário verificar se este aceita dados válidos e envia mensagens de erro quando recebe dados inválidos. O teste de análise de limites ajuda a verificar essa funcionalidade de forma eficiente, criando apenas os casos de teste necessários para um teste abrangente.

Os testes de limites analisam os valores dentro ou à volta do intervalo aceitável e verificam a forma como o sistema responde a estas entradas. O resultado é a poupança de muito tempo e a redução do esforço, uma vez que não é necessário criar casos de teste redundantes. No mundo acelerado do desenvolvimento de software, em que os prazos parecem ser cada vez mais curtos, as equipas de teste precisam de toda a ajuda possível.

Download post as PDF

Alex Zap Chernyak

Alex Zap Chernyak

Founder and CEO of ZAPTEST, with 20 years of experience in Software Automation for Testing + RPA processes, and application development. Read Alex Zap Chernyak's full executive profile on Forbes.

Get PDF-file of this post

Virtual Expert

ZAPTEST

ZAPTEST Logo