image

Bootcamps ilimitados + curso de inglês para sempre

80
%OFF
Article image
Leonardo Neto
Leonardo Neto18/10/2023 21:20
Compartilhe

Você sabe o que é cobertura de testes (TDD) ?

    A cobertura de testes (ou "code coverage") é uma métrica usada no Desenvolvimento Orientado por Testes (TDD) e na engenharia de software em geral para avaliar a eficácia dos testes realizados em um código-fonte. Ela mede a porcentagem de código que foi exercitada ou testada por um conjunto de testes automatizados em relação ao código total do programa. A cobertura de testes é geralmente medida como uma porcentagem, a maioria dos frameworks(Nunit, XUnit, MsTest, etc...) de testes unitários, emitem um relatório, com uma porcentagem.

    A cobertura de testes serve para avaliar o quão bem os testes automatizados estão verificando o código-fonte e identificar áreas do código que não estão sendo adequadamente testadas. Isso pode ajudar a garantir que o código seja robusto e livre de erros, e que todas as funcionalidades importantes estejam sendo adequadamente testadas.

    Costumamos dividir a cobertura de testes nessas categorias:

    Cobertura de Instruções (Statement Coverage): Mede quantas instruções do código foram executadas pelos testes. Isso significa que, se uma linha de código foi percorrida pelo menos uma vez nos testes, ela é considerada coberta.

    Cobertura de Ramificações (Branch Coverage): Avalia se todas as bifurcações (condições) do código foram testadas. Isso é importante para garantir que todos os caminhos possíveis em estruturas condicionais, como if, else, e switch, tenham sido considerados nos testes.

    Cobertura de Decisão (Decision Coverage): É uma métrica que verifica se cada decisão de ramificação no código foi testada. Isso garante que todos os resultados possíveis de declarações condicionais tenham sido considerados nos testes.

    Cobertura de Funções e Métodos (Function/Method Coverage): Avalia se todas as funções ou métodos do código foram testados pelo menos uma vez.

    Cobertura de Linhas (Line Coverage): Mede a porcentagem de linhas de código que foram executadas nos testes.

    A ideia é alcançar uma alta cobertura de testes, nos últimos projetos que trabalhei, tinha uma meta de 80%, de cobertura de testes, a pipeline de CI/CD só era executada, caso os 80% fossem atendidos, o que significa que a maioria, se não todas, as instruções, ramificações e caminhos no código devem ser testados.

    No entanto, é importante observar que uma alta cobertura de testes não garante que o código esteja livre de erros ou que todas as possíveis situações tenham sido adequadamente consideradas nos testes. Portanto, a cobertura de testes é uma métrica valiosa, mas deve ser usada em conjunto com outras práticas de teste e revisões de código para garantir a qualidade do software.

    E aí, como está a cobertura de testes do seu código? Me conta!!!

    Bora aprender a programar de graça?

    Bora codar? Bora! Bora!

    Compartilhe
    Recomendados para você
    Microsoft 50 Anos - Prompts Inteligentes
    Microsoft 50 Anos - GitHub Copilot
    Microsoft 50 Anos - Computação em Nuvem com Azure
    Comentários (0)