Mentor de Ferramentas: Avaliação da Cobertura de Código Usando o Rational PureCoverage e o Rational PurifyPlus (UNIX)
Finalidade
Este mentor de ferramentas fornece uma visão geral de como usar o Rational PureCoverage® para identificar de forma rápida e fácil as falhas no teste.
O PurifyPlus é um produto da Rational que inclui a funcionalidade do PureCoverage.
Para saber mais sobre o PureCoverage e para obter um tutorial de introdução, leia o manual Installing and Getting Started da família de produtos PurifyPlus (versão UNIX).
Para obter instruções passo a passo sobre como usar o PureCoverage e para obter informações sobre referências, consulte a Ajuda on-line do PureCoverage.
Informações relacionadas no Rational Unified Process:
Visão Geral
O PureCoverage monitora o seu programa à medida que ele é executado e informa as funções e linhas que foram ou não testadas. É possível usar o PureCoverage em qualquer escala: você pode coletar dados para um teste informal de uma única funcionalidade de programa ou combinar dados de todas as execuções controladas pelo conjunto de testes. Usado com o Rational Purify, o PureCoverage pode informar as partes do programa nas quais não foram efetuadas verificações de erros e de vazamentos de memória, ajudando assim a melhorar significativamente a qualidade do código entregue aos clientes.
Passos na Ferramenta
Para avaliar e melhorar a eficácia da cobertura de teste, é necessário:
- Executar um programa no PureCoverage para coletar dados de cobertura
- Usar o PureCoverage para analisar os dados de cobertura
- Usar sua análise para testar novamente o programa de maneira mais completa
1. Executar um programa no PureCoverage para coletar dados de cobertura 
O primeiro passo para a melhoria da cobertura é coletar os dados de cobertura do código.
Basta adicionar a palavra purecov no início da linha de vínculo/compilação. O PureCoverage coleta dados de cobertura no nível da função e se você compilar com a opção de depuração -g, no nível da linha. Por exemplo:
% purecov cc -g hello_world.c
O PureCoverage faz uma cópia do seu código-objeto e das bibliotecas e instrumenta-os usando a tecnologia Inserção de Código-Objeto (OCI) para inserir instruções que detectem as funções e linhas executadas com o programa. Quando a instrumentação estiver concluída, execute o programa instrumentado. Por exemplo:
% a.out
À medida que você testa o código, o PureCoverage grava os dados de cobertura do código.
É possível chamar as funções API do PureCoverage do programa, para capturar uma imagem dos dados atuais e, em seguida, examinar a cobertura de código em estágios.
Quando sair do programa, você poderá exibir os dados de cobertura no PureCoverage Viewer digitando:
% purecov -view a.out.pcv
O PureCoverage Viewer resume informações sobre cobertura de todos os arquivos e funções do programa, além de informações detalhadas sobre arquivos, funções e linhas individuais, organizados hierarquicamente, de modo que você possa se concentrar facilmente nas partes críticas do código.
Dica: Além de usar o PureCoverage interativamente, você também pode incorporá-lo nos seus scripts de teste a fim de realizar testes automatizados.
Para obter mais informações, procure estes tópicos no índice da Ajuda on-line do PureCoverage:
- basic steps
- API functions
- report scripts
2. Usar o PureCoverage para analisar os dados de cobertura 
O segundo passo para a melhoria da cobertura é analisar os dados de cobertura de código coletados pelo PureCoverage.
O PureCoverage Viewer fornece informações como o número de funções e de linhas que os testes acertaram e erraram. Além disso, é possível ver a porcentagem de acertos de funções e de linhas e o número de vezes que cada função foi chamada. Também é possível usar a janela Annotated Source para examinar de forma mais detalhada a cobertura de código do programa e para examinar a cobertura de uma função específica linha por linha.
Para reduzir o volume de dados de cobertura coletados e exibidos e para melhorar o desempenho em tempo de execução, é possível excluir arquivos ou diretórios inteiros, quando você instrumenta o programa.
Dados de cobertura reais são a base para a exibição das estatísticas e da fonte anotada do PureCoverage. No entanto, existem ocasiões em que é mais útil ajustar os dados para excluir linhas específicas, como o código que está logicamente indisponível ou que é extremamente difícil de obter. Usando o PureCoverage, é possível marcar o código como inalterado, testado e inspecionado. Isso impede que o código seja considerado como não usado.
Por padrão, o PureCoverage mescla os resultados de várias execuções de um programa, de modo que você possa facilmente analisar a cobertura total do programa a partir de uma série de testes. Você também pode mesclar, por conta própria, execuções específicas ou manter dados de cobertura de várias execuções em arquivos separados para analisar mudanças na cobertura.
Para obter mais informações, procure estes tópicos no índice da Ajuda on-line do PureCoverage:
-
PureCoverage viewer
-
annotated source window
-
excluding files form coverage
-
adjusting coverage
3. Usar sua análise para testar novamente o programa de maneira mais completa 
O terceiro e último passo para a melhoria da cobertura é usar a análise de cobertura para modificar os testes e testar linhas e funções não testadas anteriormente e, em seguida, usar o PureCoverage para verificar as melhorias.
Usando os testes modificados, execute novamente o programa no PureCoverage. Use o script de relatório pc_diff para comparar os novos resultados ao conjunto de dados da baseline coletada para a análise inicial.
O PureCoverage salva dados de cobertura como um arquivo de dados (.pcv), que pode ser usado em uma análise posterior ou compartilhado com outros usuários do PureCoverage. Você pode salvar os dados em um arquivo de texto (.txt) ASCII para usar fora do PureCoverage ou formatar os dados usando os scripts de relatório fornecidos.
Para acompanhar a cobertura do código de release para release, guarde os arquivos .pcv salvos com os releases do produto.
Dica: Se tiver incorporado o PureCoverage aos scripts de teste, você poderá salvar automaticamente os dados de cobertura em um arquivo de texto (.txt).
Para obter mais informações, procure estes tópicos no índice da Ajuda on-line do PureCoverage:
Copyright
(c) 1987 - 2001 Rational Software Corporation
|