BT

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

por Pedro Mariano em 21 Jun 2010 |

É 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?

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2013 C4Media Inc.
Política de privacidade
BT