Guida al tool: Esecuzione di suite di test con i tool di Rational PurifyPlus (Windows e UNIX)
Questa guida al tool descrive il modo in cui utilizzare i tool di Rational PurifyPlus nelle suite di test per rilevare errori e perdite di memoria potenzialmente pericolosi, per assicurare che i test stiano raggiungendo un livello accettabile di copertura del codice e di portare all'attenzione problemi di prestazione.
Strumento: Rational PurifyPlus
Relazioni
Descrizione principale

Questa guida al tool può essere utilizzata per sistemi Microsoft Windows e UNIX.

Tra i tool di PurifyPlus sono compresi Rational Purify, Rational PureCoverage e Rational Quantify.

icona della guida Per ulteriori informazioni sui tool di PurifyPlus, consultare la Guida introduttiva per PurifyPlus (versione Windows oppure UNIX).

icona della guida Per informazioni dettagliate sull'utilizzo dei tool di PurifyPlus, consultare la guida in linea per il tool.

È possibile utilizzare i tool PurifyPlus per eseguire le seguenti operazioni:

  • Individuazione degli errori e delle perdite di memoria (programmi C/C++ su Windows e UNIX). Utilizzare Purify per indicare con precisione gli errori e le perdite di memoria nell'applicazione sottoposta a test.
  • Controllo della copertura del codice (Windows e UNIX). Utilizzare PureCoverage per mostrare le interruzioni nella verifica e essere avvisati sulle regressioni.
  • Profilo delle prestazioni (Windows e UNIX). Utilizzare Quantify per essere avvisati se i nuovi check-in deteriorano le prestazioni.

Grazie all'esecuzione delle suite di test con i tool di PurifyPlus, si produce codice affidabile e senza errori che viene eseguito in modo efficiente.


Modalità d'uso del tool

Per l'implementazione dei test con i tool di PurifyPlus, procedere con le seguenti operazioni:

1. Esecuzione del programma in Purify per raccogliere i dati persi e gli errori (solo per programmi C/C++) 

Purify rileva gli errori di runtime, comprese le perdite di memoria, nell'applicazione sottoposta a test e nei componenti utilizzati. Vengono riportati errori di memoria quali, errori dei limiti della matrice, accesso attraverso puntatori non più validi (dangling pointer), letture di memorie non inizializzate, errori di allocazione memoria e perdite di memoria, in modo da poterli risolvere prima che facciano danni.  

Iniziare a incorporare Purify negli script Perl esistenti, nei file batch e makefile.

  • Su Windows, modificare le righe di comando che eseguono il programma <ProgramName>.exe
     
    Purify /SaveTextData <ProgramName>.exe
     

  •  
  • Su UNIX, modificare la compilazione e la linea di collegamento:
     
    % purify -logfile=<filename> cc -g <program_name>.c

L'utilizzo dell'opzione /SaveTextData -logfile in UNIX, l'esecuzione di Purify senza l'interfaccia utente e, quando viene eseguito da uno script, invia i dati di errore ad un file di output di testo quando il programma viene terminato.

Esaminare questo file di output oppure scrivere script per analizzarlo. È possibile utilizzare i messaggi di errore e di avvertenza nel file come criteri aggiuntivi per i risultati di test.

È possibile raccogliere i dati di copertura per le stesse esecuzioni, se PureCoverage è installato, aggiungendo l'opzione /Coverage (Windows) oppure aggiungendo purecov purify (UNIX). Utilizzando i dati di copertura è anche possibile individuare le parti di codice che non sono state controllate. Per ulteriori informazioni sull'utilizzo dei dati di copertura, consultare il passo 2 di questa guida al tool.

Note :

  • Utilizzare le API Purify per controllare la raccolta dati dall'interno del programma.
  • Purify possiede anche opzioni della riga di comando, che consentono di salvare i dati di test come file binari, che è possibile esaminare utilizzando l'interfaccia grafica utente di Purify; per informazioni consultare la guida al tool "Analisi delle prestazioni runtime con i tool Rational PurifyPlus".

icona della guida Per ulteriori informazioni, consultare i seguenti argomenti nell'indice della guida in linea di Purify:

  • esecuzione di programmi
  • messaggi di errore
  • opzioni
  • funzioni API
  • salvataggio di dati

2. Esecuzione del programma in PureCoverage per controllare la copertura del codice.  

PureCoverage fornisce informazioni di copertura del codice accurate a livello di riga di comando e di funzioni. Utilizzare PureCoverage con i test notturni per assicurarsi che i test vadano di pari passo con lo sviluppo del codice.

Iniziare a incorporare PureCoverage negli script Perl esistenti, nei file batch e makefile.

  • Su Windows, modificare le righe di comando che eseguono il programma, oppure il file di classe Java, il file .jar oppure applet in modo da includere PureCoverage:
     
    Per programmi C/C++: Coverage /SaveTextData <ProgramName>.exe
    Per file di classe Java: Coverage /SaveTextData /Java Java.exe <ClassName>.class
    Per programmi di codice gestiti .NET: Coverage /SaveTextData /Net <ProgramName>.exe
     
    L'utilizzo dell'opzione /SaveTextData provoca l'esecuzione di PureCoverage senza l'interfaccia utente e, quando viene eseguito da uno script, invia i dati a un file di output di testo quando viene terminato.

  •  
  • Su UNIX, modificare la compilazione e la linea di collegamento:
     
    Per programmi C/C++: % purecov cc -g <program_name>.c
    Per file di classe Java: % purecov -java java <class_name>
     
    Utilizzare l'opzione PureCoverage -export dopo dopo l'uscita del programma per scrivere i dati di copertura ad un file di output di testo.

Quando ci si esercita con il codice, PureCoverage registra le righe e le funzioni utilizzate. È possibile richiamare le funzioni API di PureCoverage dal programma per salvare dati in punti specifici del codice oppure per raccogliere dati solo per determinate routine. Quando si esce dal programma, esiste un insieme accurato di dati che indica quali righe e funzioni sono state o non sono state interessate dal test.

È possibile unire i dati di copertura provenienti da più esecuzioni, oppure conservarli in file separati per analizzare le modifiche di copertura.

Utilizzare gli script per confrontare i dati correnti con i dati raccolti dalle precedenti esecuzioni. Se la copertura cade, i test potrebbero non fare esercitazioni con il nuovo codice, oppure il nuovo codice potrebbe aver introdotto un difetto che sta impedendo il test di una ampia parte di codice. Utilizzare un tool di verifica, quale Rational Robot o Rational Visual Test, per scrivere scenari di test che fanno esercitazioni con il nuovo codice.

Nota: è possibile esaminare i file binari dei dati di copertura utilizzando l'interfaccia grafica utente di PureCoverage.

icona della guida Per ulteriori informazioni, consultare i seguenti argomento nell'indice della guida in linea di PureCoverage:

  • esecuzione di programmi
  • opzioni
  • funzioni API
  • salvataggio di dati
  • confronto di dati

3. Esecuzione del programma in Quantify per creazione di profili delle prestazioni 

Quantify fornisce un insieme completo e preciso di dati sulle prestazioni del programma e dei suoi componenti, in modo da poter controllare le prestazioni e identificare prima le regressioni nel ciclo di sviluppo e verifica.  

Iniziare a incorporare Quantify negli script Perl esistenti, nei file batch e makefile.

  • Su Windows, modificare le righe di comando che eseguono il programma, oppure il file di classe, il file .jar oppure applet in modo da includere Quantify:
     
    Per programmi C/C++: Quantify /SaveTextData <ProgramName>.exe
    Per file di classe Java: Quantify /SaveTextData /Java Java.exe <ClassName>.class
    Per programmi di codice gestiti .NET: Quantify /SaveTextData /Net <ProgramName>.exe
     
    L'utilizzo dell'opzione /SaveTextData provoca l'esecuzione di Quantify senza l'interfaccia utente e, quando viene eseguito da uno script, invia i dati a un file di output di testo quando viene terminato.

  •  
  • Su UNIX, modificare la compilazione e la linea di collegamento:
     
    Per programmi C/C++: % quantify cc -g <program_name>.c
    Per file di classe Java: % quantify -java java <class_name>
     
    Utilizzare l'ozione Quantify -export dopo l'uscita dal programma per scrivere i dati delle prestazioni in un file di otput di testo.

Quando ci si esercita con il codice, Quantify registra i dati relativi alle prestazioni del programma. È possibile utilizzare le funzioni API per mettere in pausa e ripristinare registrazioni di dati in qualsiasi momento, e così limitare la creazione di profili per specifiche parti di codice. È possibile anche salvare i dati in punti specifici nell'esecuzione del codice oppure raccogliere dati sulle prestazioni solo per routine specifiche. Quando si esce dal programma, Quantify possiede un profilo preciso delle sue prestazioni.

È possibile scrivere script che confrontano dataset e modifiche delle prestazioni nei report:

  • Il calo delle prestazioni potrebbe indicare che il codice, di cui si è recentemente effettuato il check-in, ha rallentato il programma. Analizzare i dati raccolti per individuare le parti del programma che presentano prestazioni inaccettabili.
  • Miglioramenti evidenti potrebbero indicare che gli sviluppatori hanno migliorato il codice, oppure che i test hanno arrestato per qualche motivo l'esercitazione in ampie parti di codice. Verificare i dati di copertura per verificare che si stanno mantenendo i precedenti livelli di copertura.

Nota: Quantify può anche salvare dati di test come file binari, che è possibile esaminare utilizzando l'interfaccia grafica utente di Quantify; per informazioni consultare la guida al tool "Analisi delle prestazioni runtime con i tool Rational PurifyPlus".

Per ulteriori informazioni, consultare i seguenti argomento nell'indice della guida in linea di Quantify:

  • esecuzione di programmi
  • opzioni
  • funzioni API
  • salvataggio di dati
  • confronto di dati