"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > A verdade sobre a cobertura de testes

A verdade sobre a cobertura de testes

Publicado em 2024-11-06
Navegar:151

The truth about test coverage

Uma verdade poderosa.

Veja o código a seguir, simples e direto:

function sum(a, b) {
  return a   b;
}

Agora, vamos escrever alguns testes para isso:

test('sum', () => {
  expect(sum(1, 2)).toBe(3);
  expect(sum(2, 3)).toBe(5);
  expect(sum(3, 4)).toBe(7);
  expect(sum(4, 5)).toBe(9);
});

Temos 100% de cobertura, certo? Bem, sim, temos, na verdade, poderíamos dizer que obtivemos 400% de cobertura, já que todo o código foi totalmente testado 4 vezes, mas nós?

A verdade é que não. Estamos testando a função com um conjunto limitado de entradas e não estamos considerando casos extremos, nem estamos testando a função com entradas inválidas.

Considere o seguinte:

sum(1, '2');
sum(1, null);
sum(1, undefined);

O que aconteceria em tal cenário? A função geraria um erro? Retornaria um valor? Isso quebraria nosso aplicativo?

Esteja ciente da armadilha da cobertura de teste.

A cobertura de testes é uma ferramenta poderosa, mas não é a solução definitiva. É uma métrica que pode ajudá-lo a entender quanto do seu código está sendo testado, mas não informa quão bem ele está sendo testado.

A cobertura de testes pode ajudá-lo com a quantidade, mas pouco pode fazer com a qualidade. Cabe a você escrever bons testes, considerar casos extremos, testar seu código com entradas inválidas e garantir que seus testes sejam significativos e valiosos.

Conclusão

Este foi um artigo bem curto, admito, ainda assim, espero que tenha sido útil para você como um lembrete da importância de escrever bons testes. Lembre-se de que a cobertura de testes é uma ferramenta, não um objetivo. Cabe a você tirar o máximo proveito disso.

Ciao,

Miguel.

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/cadienvan/the-truth-about-test-coverage-3gko?1 Se houver alguma violação, entre em contato com [email protected] para excluí-la
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3