Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 4 Próxima »

Cobertura de código ou no inglês, code coverage - Um programa testado é aquele em que TODAS as suas instruções foram executadas ao menos uma vez. Isso é efetuado por testes sucessivos, tentando "cobrir" todas as situações tratadas no código.


O TOTVS Developer Studio disponibiliza aos desenvolvedores uma ferramenta que os ajudará no processo de testes, identificando qual parte do código já foi executado.


Passar por todas as linhas do seu código, não significa que ele esteja livre de erros, apenas minimiza as chances disto ocorrer.


Essa ferramenta foi acompanha a versão do TDS, ou seja, para o TDS 11.3 ela possui a versão 11.3. Porém, como o motor da versão 11.2 é bem diferente da versão 11.3 elas não são compatíveis.


A versão 11.2 utilizava as informações de "Profile" para montar a cobertura, porém, dessa forma, várias situações de código não eram "capturadas".


A versão 11.3 foi modificada para utilizar as informações de depuração, portanto, todas as linhas que uma depuração passar serão capturadas, deixando o processo mais consistente. Note porém que isso ainda depende das informações de depuração enviadas pelo servidor, então algumas linhas de código podem não aparecer na cobertura, como por exemplo as instruções de fechamento: "end if", "end for", "end function" e assim por diante. Leve isso em consideração ao avaliar a cobertura.


Como utilizar a cobertura de código


1 - Certifique-se que seu TDS e todos os plugins estejam atualizados com a última versão oficial disponível.

2 - Identifique o lançador da cobertura de código e clique na seta à direita:

Note que ao clicar na seta à direita, caso você tenha alguma configuração de execução/depuração, as mesmas poderão ser utilizadas para lançar a cobertura ou um novo lançador poderá ser criado utilizando a opção: "Cobertura de código configurations"

(PS.: A mistura de nomes em português e inglês acontece pois ainda existem algumas partes da plataforma Eclipse que não estão traduzidas)


3 - Execute o lançador desejado e faça os procedimentos da aplicação normalmente (caso haja, e como se estivesse usando usando a opção executar diretamente).

Importante: Como dissemos no começo, a versão 11.3 usa o motor de depuração do TDS, portanto sua aplicação poderá ter uma performance reduzida. Na prática, deverá ser a mesma performance observada em uma depuração normal.

Ao contrário da versão 11.2 onde era necessário informar em quais fontes a cobertura seria feita, nessa versão 11.3, todos os fontes envolvidos no processo e que existirem na sua área de trabalho participarão da cobertura, portanto se algum não tiver informação, significa que ele não foi "alcançado" pela execução do seu programa.


4 -Após finalizar a execução, abra a visão de cobertura de código caso essa não seja apresentada automaticamente:


Para abrir a visão de Cobertura de Código Acesse o menu Janela → Mostrar Visão → Outras... (Ou pelo atalho Alt+Shift+Q e após aparecer a janela amarela, pressione Q novamente)

Na Janela que abrir digite Cobertura de código ou encontre-a na pasta TOTVS Profile.

5 - Para visualizar a cobertura abra o fonte no editor do TDS e na visão de Cobertura de Código marque a caixa ao lado do fonte gravado.

Note que apesar do editor mostrar que o fonte possui 17 linhas, a visão mostra a seguinte informação: Cobertura (linhas válidas) = 10 (11).

Isso significa que o fonte possui 11 linhas no total se não contar os espaços (chamado aqui de linhas válidas), porém, mesmo passando em todas as linhas, a cobertura não foi de 100%. Conforme dito no inicio desse documento, algumas linhas não são informadas pelo servidor, como nesse caso, a declaração da função, portanto apenas 10 linhas foram computadas. Porém ao analisá-lo você pode considerar o fonte inteiro como coberto nesse caso.

Como mostrado na figura abaixo, note no segundo fonte a mesma situação, ele possui 12 linhas no total, porém apenas 7 linhas válidas e 6 linhas cobertas. (No caso dos includes, essa versão da cobertura consegue desconsiderar automaticamente. É possível que as próximas versões consigam também desconsiderar todas ou mais algumas dessas linhas não informadas pelo servidor. Aguarde...)


No terceiro fonte mais algumas opções ficam de fora da cobertura por não serem informadas pelo servidor. No caso abaixo a linha com a instrução "next".




  • Sem rótulos