Mentor de Ferramentas: Executando Conjuntos de Teste Utilizando as Ferramentas do Rational PurifyPlus (Windows e UNIX)
Este mentor de ferramenta descreve a utilização das ferramentas do Rational PurifyPlus em conjuntos de teste para detectar possíveis erros e fugas de memória, para garantir que os testes atinjam um nível aceitável de cobertura de código, e para chamar a sua atenção para problemas de desempenho.
Ferramenta: Rational PurifyPlus
Relacionamentos
Descrição Principal

Este mentor de ferramenta é aplicável para uso com os sistemas Microsoft Windows e UNIX.

As ferramentas do PurifyPlus incluem o Rational Purify, o Rational PureCoverage e o Rational Quantify.

ícone de Manual Para saber mais sobre as ferramentas do PurifyPlus, leia o manual Introdução do PurifyPlus (versão Windows ou UNIX).

ícone de manual de ajuda Para obter informações passo a passo sobre a utilização das ferramentas do PurifyPlus, consulte a Ajuda on-line da ferramenta.

As ferramentas do PurifyPlus podem ser utilizadas para:

  • Detectar erros e fugas de memória (programas C/C++ em Windows e UNIX). Utilize o Purify para indicar erros e fugas no aplicativo em teste.
  • Monitorar cobertura de código (Windows e UNIX). Utilize o PureCoverage para mostrar os intervalos dos testes e alertá-lo sobre regressões.
  • Traçar o perfil do desempenho (Windows e UNIX). Utilize o Quantify para adverti-lo se novos registros de entrada comprometerem o desempenho.

A execução de conjuntos de teste com as ferramentas do PurifyPlus resulta em código confiável e sem erros, executado com máxima eficácia.


Etapas da Ferramenta

Para implementar testes utilizando as ferramentas do PurifyPlus:

1. Execute o Programa em Purify para Coletar Dados de Erro e de Fuga (Programas C/C++ Apenas) 

O Purify detecta os erros de tempo de execução, incluindo fugas de memória, no aplicativo em teste e nos componentes que ele utiliza. Ele reporta erros de memória, como erros de limites de matriz, por meio de apontadores pendentes, leituras de memória não-inicializadas, erros de alocação de memória e fugas de memória, para que possam ser resolvidos antes de causarem danos.  

Comece incorporando o Purify nos scripts, arquivos em batch e nos scripts Perl existentes, arquivos em batch e arquivos prontos.

  • No Windows, modifique as linhas de comandos que executam o programa <ProgramName>.exe
     
    Purify /SaveTextData <ProgramName>.exe
     

  •  
  • No UNIX, modifique a linha de compilação e do link:
     
    % purify -logfile=<filename> cc -g <program_name>.c

A utilização da opção /SaveTextData -logfile no UNIX faz com que o Purify seja executado sem a interface com o usuário e, quando você executa o programa a partir do script, envia o erro e os dados da fuga para um arquivo de saída de texto quando o programa é encerrado.

Examine esse arquivo de saída, ou grave scripts para analisá-lo. É possível utilizar as mensagens de erro e de advertência no arquivo como critérios adicionais para obter os resultados do teste.

É possível coletar dados de cobertura para as mesmas execuções, se o PureCoverage estiver instalado, incluindo a opção /Coverage (Windows) ou incluindo purecov purify (UNIX). Utilizando os dados de cobertura, também é possível localizar as partes do código que não foram verificadas quanto a erros. Para obter mais informações sobre a utilização de dados de cobertura, consulte a Etapa 2 deste Mentor de Ferramenta.

Notas:

  • Utilize a API do Purify para controlar a coleta de dados no seu programa.
  • O Purify também tem opções da linha de comandos que permitem salvar os dados de teste como arquivos binários que podem ser examinados utilizando a interface gráfica com o usuário do Purify; isso é discutido no Mentor de Ferramenta "Analisando o Desempenho do Tempo de Execução Utilizando as Ferramentas do Rational PurifyPlus".

ícone de manual de ajuda Para obter mais informações, consulte os tópicos a seguir no índice da Ajuda on-line do Purify:

  • executando programas
  • mensagens de erro
  • opções
  • funções da API
  • salvando dados

2. Execute o Programa em PureCoverage para Monitorar a Cobertura de Código. 

O PureCoverage contém informações da cobertura de código da linha e da função. Utilize o PureCoverage com os testes noturnos para certificar-se de que os testes estejam sincronizados com o desenvolvimento do código.

Comece incorporando o PureCoverage nos scripts Perl existentes, arquivos em batch e arquivos prontos.

  • No Windows, modifique as linhas de comandos que executam o programa, ou o arquivo de classe Java, arquivo .jar ou applet, para incluir PureCoverage:
     
    Para programas C/C++: Coverage /SaveTextData <ProgramName>.exe
    Para arquivos classe Java: Coverage /SaveTextData /Java Java.exe <ClassName>.class
    Para programas de código gerenciado .NET: Coverage /SaveTextData /Net <ProgramName>.exe
     
    A utilização da opção /SaveTextData fará com que o PureCoverage seja executado sem a interface com o usuário, e, quando você executar o programa com o seu script, ele enviará os dados para um arquivo de saída de texto quando o programa for finalizado.

  •  
  • No UNIX, modifique a linha de compilação e do link:
     
    Para programas C/C++: % purecov cc -g <program_name>.c
    Para arquivos classe Java: % purecov -java java <class_name>
     
    Utilize a opção -export do PureCoverage quando o programa for encerrado para gravar os dados de cobertura em um arquivo de saída de texto.

Quando você utiliza o código, o PureCoverage registra dados sobre as linhas e funções utilizadas. Você pode chamar as funções da API do PureCoverage do seu programa para salvar dados em pontos específicos no seu código, ou para coletar dados apenas para determinadas rotinas. Quando você encerra o programa, obtém um conjunto preciso de dados, indicando quais linhas e quais funções foram ou não abrangidas pelo teste.

É possível intercalar dados de cobertura de várias execuções, ou mantê-los em arquivos separados para analisar as alterações feitas na cobertura.

Utilize scripts para comparar os dados atuais aos dados coletados de execuções anteriores. Se a cobertura for finalizada, pode ser que os testes não estejam utilizando o novo código, ou o novo código pode ter introduzido um defeito que está fazendo com que uma grande parte do código não seja testada. Utilize uma ferramenta de teste, como o Rational Robot ou o Rational Visual Test, para gravar casos de teste que utilizam o novo código.

Nota: É possível examinar arquivos de dados binários de cobertura utilizando a interface gráfica com o usuário do PureCoverage.

ícone de manual de ajuda Para obter mais informações, consulte os tópicos a seguir no índice da Ajuda on-line do PureCoverage:

  • executando programas
  • opções
  • funções da API
  • salvando dados
  • comparando dados

3. Execute o Programa em Quantify para Traçar o Perfil do Desempenho  

O Quantify oferece um conjunto completo e preciso de dados de desempenho para o programa e seus componentes, para que seja possível monitorar o desempenho e identificar regressões antecipadamente no ciclo de desenvolvimento e de teste. 

Comece incorporando o Quantify nos scripts Perl existentes, arquivos em batch e arquivos prontos.

  • No Windows, modifique as linhas de comandos que executam o programa, ou arquivo de classe, arquivo .jar ou applet, para incluir o Quantify:
     
    Para programas C/C++: Quantify /SaveTextData <ProgramName>.exe
    Para arquivos classe Java: Quantify /SaveTextData /Java Java.exe <ClassName>.class
    Para programas de código gerenciado .NET: Quantify /SaveTextData /Net <ProgramName>.exe
     
    A utilização da opção /SaveTextData fará com que o Quantify seja executado sem a interface com o usuário, e, quando você executar o programa com o seu script, ele enviará os dados para um arquivo de saída de texto quando o programa for finalizado.

  •  
  • No UNIX, modifique a linha de compilação e do link:
     
    Para programas C/C++: % quantify cc -g <program_name>.c
    Para arquivos classe Java: % quantify -java java <class_name>
     
    Utilize a opção -export do Quantify quando o programa for encerrado para gravar os dados de desempenho em um arquivo de saída de texto.

Quando você utiliza o código, o Quantify registra dados sobre o desempenho do programa. Você pode utilizar as funções da API para pausar e retomar o registro de dados a qualquer momento, e portanto limitar o traçado de perfil para partes específicas do código. Você também pode salvar dados em pontos específicos na execução do código, ou coletar dados de desempenho apenas para rotinas específicas. Quando você encerra o programa, o Quantify tem um perfil preciso do desempenho.

Você pode gravar scripts que comparem conjuntos de dados e reportem alterações no desempenho:

  • Degradações no desempenho podem indicar que o código registrado na entrada mais recentemente diminuiu a velocidade do programa. Analisar os dados coletados para localizar as seções do programa que têm desempenho inaceitável.
  • Aprimoramentos marcados podem indicar que os desenvolvedores aprimoraram seu código ou que os testes, por algum motivo, pararam de utilizar grandes partes do código. Verifique os dados de cobertura para saber se você ainda está atingindo níveis anteriores de cobertura.

Nota: O Quantify também pode salvar os dados de teste como arquivos binários que podem ser examinados utilizando a interface gráfica com o usuário do Quantify; isso é discutido no Mentor de Ferramenta "Analisando o Desempenho do Tempo de Execução Utilizando as Ferramentas do Rational PurifyPlus".

Para obter mais informações, consulte os tópicos a seguir no índice da Ajuda on-line do Quantify:

  • executando programas
  • opções
  • funções da API
  • salvando dados
  • comparando dados