Cobertura de teste em teste de software

O que é cobertura de teste?

A cobertura de teste é definida como uma métrica em Teste de Software que mede a quantidade de testes realizados por um conjunto de testes. Incluirá a coleta de informações sobre quais partes de um programa são executadas durante a execução do conjunto de testes para determinar quais ramificações de instruções condicionais foram obtidas.

Em termos simples, é uma técnica para garantir que seus testes estão testando seu código ou quanto de seu código você exercitou ao executar o teste.

O que a cobertura de teste faz?

  • Encontrar a área de um requisito não implementado por um conjunto de casos de teste
  • Ajuda a criar casos de teste adicionais para aumentar a cobertura
  • Identificar uma medida quantitativa de cobertura de teste, que é um método indireto para verificação de qualidade
  • Identificando casos de teste sem sentido que não aumentam a cobertura

Como a cobertura do teste pode ser realizada?

  • A cobertura do teste pode ser feita exercitando técnicas de revisão estática, como revisões por pares, inspeções e orientações.
  • Transformando os defeitos ad-hoc em casos de teste executáveis
  • No nível de código ou de teste de unidade, a cobertura de teste pode ser alcançada aproveitando a cobertura de código automatizada ou ferramentas de cobertura de teste de unidade
  • A cobertura de testes funcionais pode ser feita com a ajuda de ferramentas adequadas de gerenciamento de testes

Benefícios da cobertura de testes em engenharia de software

  • Pode garantir a qualidade do teste
  • Pode ajudar a identificar quais partes do código foram realmente alteradas para o lançamento ou correção
  • Pode ajudar a determinar os caminhos em seu aplicativo que não foram testados
  • prevenir Defeito vazamento
  • Tempo, escopo e custo podem ser mantidos sob controle
  • Prevenção de defeitos numa fase inicial do ciclo de vida do projeto
  • Ele pode determinar todos os pontos de decisão e caminhos utilizados na aplicação, o que permite aumentar a cobertura do teste
  • Lacunas nos requisitos, casos de teste e defeitos no nível da unidade e no nível do código podem ser encontrados de maneira fácil

Quais são as principais diferenças entre cobertura de código e cobertura de teste?

Cobertura de código e cobertura de teste são técnicas de medição que permitem avaliar a qualidade do código do seu aplicativo.

Aqui estão algumas diferenças críticas entre os estandes desses métodos de cobertura:

parâmetros Cobertura de código Cobertura de teste
Definição Termo de cobertura de código usado quando o código do aplicativo é exercido quando um aplicativo está em execução. Cobertura de teste significa plano geral de teste.
Objetivo As métricas de cobertura de código podem ajudar a equipe a monitorar seus testes automatizados. A cobertura do teste é fornecida details sobre o nível em que a codificação escrita de uma aplicação foi testada.
Subtipos Cobertura de código dividida em subtipos como cobertura de extrato, cobertura de condição, cobertura de filial, cobertura Toogle, cobertura FSM. Nenhum subtipo de método de cobertura de teste.

Fórmula de cobertura de teste

Para calcular a cobertura do teste, você precisa seguir as etapas abaixo:

Passo 1) O total de linhas de código na qualidade do software que você está ensaio

Passo 2) O número de linhas de código que todos os casos de teste executam atualmente

Agora, você precisa encontrar (X dividido por Y) multiplicado por 100. O resultado desse cálculo é a% de cobertura do teste.

Por exemplo:

Se o número de linhas de código em um componente do sistema for 500 e o número de linhas executadas em todos os casos de teste existentes for 50, então sua cobertura de teste será:

(50 / 500) * 100 = 10%

Exemplos de cobertura de teste

1 exemplo:

Por exemplo, se “faca” for um item que você deseja testar. Então você precisa se concentrar em verificar se corta os vegetais ou frutas com precisão ou não. No entanto, há outros aspectos a serem observados, para que o usuário seja capaz de lidar com isso confortavelmente.

2 exemplo:

Por exemplo, se você quiser verificar o aplicativo bloco de notas. Então, verificar seus recursos essenciais é algo obrigatório. No entanto, você precisa cobrir outros aspectos, como o aplicativo bloco de notas responde de maneira esperada ao usar outros aplicativos, o usuário entende o uso do aplicativo, não trava quando o usuário tenta fazer algo incomum, etc.

Desvantagens da cobertura de teste:

  • A maioria das tarefas na cobertura de teste são manuais, pois não existem ferramentas para automatizar. Portanto, é preciso muito esforço para analisar os requisitos e criar casos de teste.
  • A cobertura de teste permite contar recursos e depois medir vários testes. No entanto, sempre há espaço para erros de julgamento.