BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Cobertura de Teste e a Falsa Impressão de Segurança

Cobertura de Teste e a Falsa Impressão de Segurança

Favoritos

É muito difícil dizer quanto um software está "bem testado". Como é definido um software bem testado? O que os desenvolvedores constumam utilizar em seus projetos são métricas de cobertura de teste que verificam, de diferentes formas, a porcentagem que o seu código está testando. A questão é, podemos confiar nessa porcentagem? Como fazer com que ela não nos atrapalhe?

Andy Glover mostrou, através de exemplos, como as métricas de cobertura de teste podem nos levar a uma falsa impressão de segurança. Cobertura de teste pode te dizer qual código não está testado, mas não pode dizer com precisão qual código está de fato testado. Concordando com isso Tobias Schilitt disse que métricas de cobertura de teste são importantes por nos mostrar qual parte não está coberta:

Certamente, um código com uma alta taxa de cobertura de testes não indica que ele está bem testado. Mas, por outro lado, uma taxa muita baixa definitivamente indica que os seus testes não são suficientes...

Recentemente no mais novo fórum de arquitetura do Brasil, o Tectura, se íniciou uma dicussão em torno desse mesmo fato, Adriano Almeida comentou:

Respondendo se cobertura é relevante e nos dá informação suficiente. Não, não é relevante e nem dá informação suficiente sobre a qualidade dos testes!

Você pode ter 100% de cobertura com uma suíte ruim, testes fracos e ainda sim exercitar todas as linhas de código do seu sistema.

O que devemos ter em mente é que cobertura de testes são métricas e como qualquer métrica não devem ser utilizadas cegamente, os resultados não provam que o seu programa está fielmente testado. A cobertura de testes é sim útil porém deve ser utilizada com cautela e com questionamentos, se possível utilizar ferramentas conhecidas.

Uma dica é que utilizar TDD desde o ínicio do projeto. Com isso você irá ter uma suite de testes de qualidade que de fato te darão segurança, e consequentemente terá uma boa cobertura de testes.

E você leitor concorda com o que foi dito acima? Como você utiliza a cobertura de testes em seu projeto?

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT