Técnicas de teste de software com exemplos de design de casos de teste

O que é técnica de teste de software?

As técnicas de teste de software ajudam você a projetar melhores casos de teste. Uma vez que testes exaustivos não são possíveis; As técnicas de teste manual ajudam a reduzir o número de casos de teste a serem executados e, ao mesmo tempo, aumentam a cobertura do teste. Eles ajudam a identificar condições de teste que, de outra forma, seriam difíceis de reconhecer.

Análise de valor limite (BVA)

A análise do valor limite é baseada em testes nos limites entre partições. Inclui limites máximos, mínimos, internos ou externos, valores típicos e valores de erro.

Geralmente é visto que um grande número de erros ocorre nos limites dos valores de entrada definidos, e não no centro. Também é conhecido como BVA e fornece uma seleção de casos de teste que exercem valores delimitadores.

Esta técnica de teste de caixa preta complementa o particionamento de equivalência. Esta técnica de teste de software baseia-se no princípio de que, se um sistema funcionar bem para esses valores específicos, ele funcionará perfeitamente bem para todos os valores que estiverem entre os dois valores limites.

Diretrizes para análise de valor limite

  • Se uma condição de entrada for restrita entre os valores x e y, então os casos de teste deverão ser projetados com valores x e y, bem como valores acima e abaixo de x e y.
  • Se uma condição de entrada for um grande número de valores, deve-se desenvolver o caso de teste que precisa exercitar os números mínimos e máximos. Aqui também são testados valores acima e abaixo dos valores mínimo e máximo.
  • Aplique as diretrizes 1 e 2 às condições de saída. Ele fornece uma saída que reflete os valores mínimo e máximo esperados. Ele também testa os valores abaixo ou acima.

Exemplo:

Input condition is valid between 1 to 10

Boundary values 0,1,2 and 9,10,11

Particionamento de Classe de Equivalência

O particionamento de classe equivalente permite dividir o conjunto de condições de teste em uma partição que deve ser considerada a mesma. Este método de teste de software divide o domínio de entrada de um programa em classes de dados a partir das quais os casos de teste devem ser projetados.

O conceito por trás desta Técnica de Design de Caso de Teste é que o caso de teste de um valor representativo de cada classe é igual a um teste de qualquer outro valor da mesma classe. Ele permite identificar classes de equivalência válidas e inválidas.

Exemplo:

As condições de entrada são válidas entre

 1 to 10 and 20 to 30

Portanto, existem cinco classes de equivalência

--- to 0 (invalid)
1 to 10 (valid)
11 to 19 (invalid)
20 to 30 (valid)
31 to --- (invalid)

Você seleciona valores de cada classe, ou seja,

-2, 3, 15, 25, 45

Leia também mais sobre - Análise de valor limite e teste de particionamento de equivalência

Teste baseado em tabela de decisão

Uma tabela de decisão também é conhecida como tabela de causa-efeito. Esta técnica de teste de software é usada para funções que respondem a uma combinação de entradas ou eventos. Por exemplo, um botão de envio deverá ser habilitado se o usuário tiver inserido todos os campos obrigatórios.

A primeira tarefa é identificar funcionalidades onde a saída depende de uma combinação de entradas. Se houver um grande conjunto de combinações de entrada, divida-o em subconjuntos menores que são úteis para gerenciar uma tabela de decisão.

Para cada função, você precisa criar uma tabela e listar todos os tipos de combinações de entradas e suas respectivas saídas. Isso ajuda a identificar uma condição que é ignorada pelo testador.

A seguir estão as etapas para criar uma tabela de decisão:

  • Liste as entradas em linhas
  • Insira todas as regras na coluna
  • Preencha a tabela com as diferentes combinações de entradas
  • Na última linha, anote a saída em relação à combinação de entrada.

Exemplo: um botão de envio em um formulário de contato é ativado somente quando todas as entradas são inseridas pelo usuário final.

Teste baseado em tabela de decisão

Estado de transição

Na técnica de Transição de Estado, mudanças nas condições de entrada alteram o estado do Aplicativo em Teste (AUT). Esta técnica de teste permite ao testador testar o comportamento de um AUT. O testador pode executar esta ação inserindo diversas condições de entrada em sequência. Na técnica de transição de estado, a equipe de teste fornece valores de teste de entrada positivos e negativos para avaliar o comportamento do sistema.

Diretriz para Transição de Estado:

  • A transição de estado deve ser usada quando uma equipe de testes estiver testando o aplicativo para um conjunto limitado de valores de entrada.
  • A Técnica de Design de Caso de Teste deve ser usada quando a equipe de teste deseja testar a sequência de eventos que acontecem na aplicação em teste.

Exemplo:

No exemplo a seguir, se o usuário inserir uma senha válida em qualquer uma das três primeiras tentativas, o usuário poderá efetuar login com sucesso. Se o usuário digitar a senha inválida na primeira ou na segunda tentativa, o usuário será solicitado a digitar a senha novamente. Quando o usuário insere a senha incorretamente 3rd tempo, a ação foi tomada e a conta será bloqueada.

Diagrama de Transição de Estado

Diagrama de Transição de Estado

Neste diagrama, quando o usuário fornece o número PIN correto, ele é movido para o estado Acesso concedido. A tabela a seguir é criada com base no diagrama acima-

Tabela de Transição de Estado

PIN correto PIN incorreto
S1) Iniciar S5 S2
S2) 1st tentativa S5 S3
S3) 2nd tentativa S5 S4
S4) 3rd tentativa S5 S6
S5) Acesso concedido - -
S6) Conta bloqueada - -

Na tabela fornecida acima, quando o usuário insere o PIN correto, o estado muda para Acesso concedido. E se o usuário inserir uma senha incorreta, ele será movido para o próximo estado. Se ele fizer o mesmo 3rd tempo, ele alcançará o estado de conta bloqueada.

Erro de Adivinhação

Erro de Adivinhação é uma técnica de teste de software baseada na adivinhação do erro que pode prevalecer no código. A técnica é fortemente baseada na experiência em que os analistas de teste usam sua experiência para adivinhar a parte problemática do aplicativo de teste. Conseqüentemente, os analistas de teste devem ser qualificados e experientes para melhor adivinhar os erros.

A técnica conta uma lista de possíveis erros ou situações propensas a erros. Então o testador escreve um caso de teste para expor esses erros. Para projetar casos de teste com base nesta técnica de teste de software, o analista pode usar experiências anteriores para identificar as condições.

Diretrizes para adivinhação de erros:

  • O teste deve usar a experiência anterior de teste de aplicativos semelhantes
  • Compreensão do sistema em teste
  • Conhecimento de erros típicos de implementação
  • Lembre-se de áreas anteriormente problemáticas
  • Avalie dados históricos e resultados de testes

Conclusão

  • A técnica de design de caso de teste permite projetar casos melhores. Existem cinco técnicas usadas principalmente.
  • A análise de valor limite testa os limites entre as partições.
  • O particionamento de classe equivalente permite dividir o conjunto de condições de teste em uma partição que deve ser considerada a mesma.
  • A técnica de teste de software de tabela de decisão é usada para funções que respondem a uma combinação de entradas ou eventos.
  • Na técnica de transição de estado, mudanças nas condições de entrada alteram o estado do aplicativo em teste (AUT)
  • A adivinhação de erros é uma técnica de teste de software que se baseia na adivinhação do erro que pode prevalecer no código.

Saiba Mais Leia mais