KISS - Keep it simple, stupid!

Code Coverage

postado por João José Pedrini em 02/08/2008 19:11:07

Desde quando vi o Tim Koschützki anunciando o Code Coverage no CakePHP fiquei muito animado. A cobertura do código é umas das ferramentas que sempre achei interessante! Minha animação foi abalada por um problema que eu, e outras pessoas, encontramos com o XDebug nas versões novas. Mas graças a união de conhecimento do grupo de CakePHP em português, tudo foi resolvido.

Mas afinal, o que é code coverage? Vamos fazer uma analogia, quando você vai comer um bolo de chocolate, você desejaria que a cobertura e os granulados estivessem em toda a superfície do bolo, certo? Ter o bolo coberto completamente te garante que, a cada pedaço, o sabor será delicioso. Este é o benefício que temos por ter todo o bolo coberto, todos os pedaços são muito saborosos. Recentemente falei que a prática do TDD traz confiança no desenvolvimento, mas e se não testarmos todo o nosso código? Alguns trechos não serão tão confiáveis e poderão se tornar um problema no futuro. Ai que entra a cobertura de código. Code Coverage é uma métrica para estabelecer o quanto seu código está confiável, o quanto podemos nos beneficiar com a confiança que o TDD nos proporciona.

Mas não é assim tão simples. Nós podemos ter um bolo completamente coberto, porém a cobertura não é muito boa, ela pode ter passado do ponto. Mesmo com 100% de cobertura, o bolo não vai ser tão gostoso.

No desenvolvimento de software, um código completamente coberto não significa que o sistema está correto ou está confiante. Mesmo que seus testes acessem a todos os métodos, eles podem estar defasados ou mal formulados. O que eu quero dizer com isso? A cobertura de teste é uma ótima métrica de qualidade do seu software, mas isto não significa que seu código está correto, ela não pode ser a sua única métrica. Utilizem a cobertura ao seu favor, busquem a cobertura completa, mas não se iludam com os resultados.

Ahh, sem contar que ver seu código todo testado traz uma sensação incrível de realização. Imagino se é a mesma de um confeiteiro vendo algum cliente se deliciando com um dos seus bolos.

Tags: ,
Topo

Sem comentários

Creative Commons License
Sou Ágil: KISS em http://kiss.souagil.com.br está licenciado sobre
Creative Commons Attribution-Share Alike 2.5 Brazil License.

souÁgil