Atenção: esse artigo tem uma palestra complementar. Clique e assista!

Do que trata o artigo

Esclarecer o conceito de Code Coverage e como aplicá-lo em sistemas Delphi, mesmo em sistemas que não utilizam orientação a objetos. Para os desenvolvedores que aplicam testes automatizados com DUnit, poderá ser visto como detectar se seu teste realmente cobre 100% de seu código. Tudo isso será possível utilizando a ferramenta Discover.


Para que serve

Descobrir quais linhas de código de um determinado sistema são executadas em uma determinada rotina, permitindo assim um melhor controle do teste ou depuração.

Em que situação o tema é útil

Muitas vezes clientes nos dizem que determinada rotina apresenta problemas, porém ao realizarmos testes locais em nossas máquinas, o erro não acontece e retornamos a conhecida resposta: aqui está funcionando. Por que será que em seu micro não ocorreu o erro? Será porque não conseguimos reproduzir o ambiente do cliente e com isso alguma parte do código não foi executada? Muito bem, o Code Coverage permite que detectemos esse código que não foi executado mais facilmente e dessa forma, identificar possíveis erros de codificação.

Resumo do DevMan

A realização de testes em sistemas informatizados sempre foi uma tarefa árdua. Quem não aplica alguma forma automatizada de testes acaba por fazer tudo manualmente, demandando assim mais tempo para verificar os diversos cenários que uma determinada rotina pode possuir e com isso algo pode ficar sem ser testado. Quem aplica os testes automatizados, sejam unitários ou de interface, também pode se perguntar se seus testes estão cobrindo todo o código. Para ajudar nessas incertezas, existem aplicativos que verificam o quanto do código foi testado ou executado em um dado momento. Para Delphi temos a ferramenta Discover, usada neste artigo.

Code Coverage, ou cobertura de código, é uma medida utilizada em testes de software que possui a finalidade de informar o quanto de código fonte de uma aplicação foi testado. Existem vários tipos de coberturas que podem ser verificadas e cada uma responde uma pergunta. Entre elas temos:

• Cobertura de funções: Cada função do código foi executada?

  • Cobertura de decisão: Cada estrutura de controle, por exemplo, cada if foi verificado com true e false?
  • Cobertura de caminho: Todas as rotas possíveis de um código foram testadas?
  • Cobertura de sentença: Cada linha do código-fonte foi executada?

Observe que realmente essas perguntas são pertinentes. Quem desenvolve seus testes manualmente, executando o sistema e simulando as mais diversas situações, não possui esse tipo de controle, principalmente porque, salvo casos raros, nenhuma documentação formal é gerada disso.

Para ajudar a resolver esse problema, quero introduzir a ferramenta Discover que aplica a cobertura de sentença (statement coverage) em programas feitos em Delphi, oferecendo meios de visualização das linhas que foram executas, produzindo documentação que informa a porcentagem de código executada e até mesmo permite que esse estado seja salvo para uma posterior comparação.

Instalando a ferramenta

O primeiro passo é fazer seu download, no link localizado no fim do artigo. Sua instalação é bem simples, praticamente não há um instalador. É só descompactar o arquivo para uma determinada pasta e ele está pronto para ser utilizado. Para termos acesso rápido ao ...

Quer ler esse conteúdo completo? Tenha acesso completo