19 de outubro de 2006

Code coverage

Quem nunca se deparou com aquele ambiente legado, com uma máquina antiga, e uma aplicação mais antiga ainda e que eventualmente é necessário dar um boot, pois, o aplicativo travou e ninguém sabe porque?

Situações como essas poderiam ser minimizadas se fosse realizado um teste de cobertura de software ou code coverage em inglês.

O que é o teste de cobertura? Teste de cobertura podemos dizer que é o teste do teste. Como assim? Quando realizamos testes, quem garante que todo código foi testado? Eventualmente determinadas funções, critérios podem não ser testados.

O code coverage tem exatamente essa função, identificar quais partes do código não foram testadas. Então aquele aplicativo que pára e ninguém sabe porque, pode ser exatamente um IF que não foi testado nos testes realizados. Além dos problemas disponibilidade, pode-se identificar falhas de segurança com o code coverage.



Não vou entrar em detalhes de ferramentas sobre ferramentas para code coverage, essas ferramentas geralmente são especificas para cada linguagem. Eu tive há oportunidade de testar esse recurso no Visual Studio 2005, posso dizer que é simplesmente fantástico.

Para aprofundar seus estudos sobre code coverage e não ficar somente com uma visão simplista minha, dê uma olhada no wikipedia, além de uma visão geral, existe algumas referências.

Code coverage por wikipedia


Um comentário:

Anonymous disse...

Olá Wagner,


mais uma vez, caí no teu blog procurando alguma coisa. Agora foi sobre o code coverage, um dos pontos fortes de estudos aqui na faculdade que eu estudo (Engenharia de Software e ICMC/USP).

Só prassei pra deixar registrado que o nível dos posts continua ótimo... e que pra não perder nada mais vou te inscrever no meu Google Reader.

[]s,

Vinicius