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 Tรฉcnicos | 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 fornece detalhes sobre o nรญvel em que a codificaรงรฃo escrita de um aplicativo 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.
