BT

A sua opinião é importante! Por favor preencha a pesquisa do InfoQ!

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

| por Pedro Mariano Seguir 0 Seguidores em 21 jun 2010. Tempo estimado de leitura: 1 minuto |

Para melhorar a experiência das pessoas que acessam o InfoQ Brasil, nós criamos uma série de funcionalidades que te permitem ficar pode dentro das últimas tendências e das novidades de seu interesse, sem que você seja incomodado por coisas irrelevantes. Receba e-mails periódicos e notificações sobre seus tópicos 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

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 mensagens dessa discussão
Comentários da comunidade

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

Receber mensagens dessa discussão

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

Receber mensagens dessa discussão

Dê sua opinião

Faça seu login para melhorar sua experiência com o InfoQ e ter acesso a funcionalidades exclusivas


Esqueci minha senha

Follow

Siga seus tópicos e editores favoritos

Acompanhe e seja notificados sobre as mais importantes novidades do mundo do desenvolvimento de software.

Like

Mais interação, mais personalização

Crie seu próprio feed de novidades escolhendo os tópicos e pessoas que você gostaria de acompanhar.

Notifications

Fique por dentro das novidades!

Configure as notificações e acompanhe as novidades relacionada a tópicos, conteúdos e pessoas de seu interesse

BT