Toolmentor: Testsuites mit den Tools von Rational PurifyPlus ausführen (Windows und UNIX)
Dieser Toolmentor beschreibt, wie Sie durch die Verwendung der Tools von Rational PurifyPlus in Testsuites potenziell schädliche Speicherfehler und Speicherlecks erkennen können, um sicherzustellen, dass Ihre Tests einen ausreichenden Teil des Codes abdecken und Leistungsprobleme zu Tage bringen.
Tool: Rational PurifyPlus
Beziehungen
Hauptbeschreibung

Dieser Toolmentor gilt für Microsoft-Windows- und UNIX-Systeme.

Zu den Tools von PurifyPlus gehören Rational Purify, Rational PureCoverage und Rational Quantify.

Symbol für Buch Wenn Sie mehr über die Tools von PurifyPlus erfahren möchten, lesen Sie das Handbuch Getting Started zu PurifyPlus (Windows- oder UNIX-Version).

Symbol für Onlinehilfe Schrittweise Informationen zu den Tools von PurifyPlus finden Sie in der Onlinehilfe zum Tool.

Sie können die Tools von PurifyPlus für die folgenden Zwecke einsetzen:

  • Speicherfehler und Speicherlecks aufdecken (C/C++-Programme unter Windows und UNIX). Verwenden Sie Purify, um Fehler und Speicherverluste in der zu testenden Anwendung genau zu lokalisieren.
  • Codeabdeckung überwachen (Windows und UNIX). PureCoverage kann Lücken in den Tests aufdecken und Sie über Rückschritte informieren.
  • Leistungsprofil erstellen (Windows und UNIX). Quantify kann Sie warnen, wenn neu eingecheckte Versionen sich negative auf die Leistung auswirken.

Mit der Ausführung von Testsuites mit den Tools von PurifyPlus erhalten Sie einen zuverlässigen, fehlerfreien Code, der mit maximaler Effizienz arbeitet.


Toolschritte

Führen Sie zum Implementieren von Tests mit den Tools von PurifyPlus die folgenden Schritte aus:

1. Programm unter Purify ausführen, um Fehler und Speicherlecks zu erfassen (nur C/C++-Programme) 

Purify erkennt Laufzeitfehler, einschließlich Speicherlecks in der zu testenden Anwendung und in den Komponenten, die von dieser Anwendung verwendet werden. Das Tool berichtet Speicherfehler wie Fehler bei Bereichsgrenzen, Zugriff auf nicht mehr verwendete Zeiger, nicht initialisierte Leseoperationen im Speicher, Fehler bei der Hauptspeicherzuordnung und Speicherlecks, die Sie so beheben können, bevor sie Schaden anrichten.  

Integrieren Sie Purify in Ihre vorhandenen Perl-Scripts, Stapeldateien, und Make-Dateien.

  • Ändern Sie unter Windows die Befehlszeilen, die Ihr Programm ausführen: <Programmname>.exe
     
    Purify /SaveTextData <Programmname>.exe
     

  •  
  • Ändern Sie unter UNIX die Kompilierungs- und Linker-Zeile:
     
    % purify -logfile=<Dateiname> cc -g <Programmname>.c

Wenn Sie unter UNIX die Option /SaveTextData -logfile verwenden, wird Purify ohne die Benutzerschnittstelle ausgeführt. Wenn Sie das Programm über Ihr Script ausführen, sendet Purify bei Beendigung des Programms die Daten zu den gefundenen Fehlern und Speicherlecks an eine Textausgabedatei.

Untersuchen Sie diese Datei manuell oder schreiben Sie Scripts, die diese Datei analysieren. Sie können die Fehler und Warnungen in der Datei als zusätzliche Kriterien für Ihre Testergebnisse verwenden.

Wenn Sie PureCoverage installiert haben, können Sie Abdeckungsdaten für dieselben Durchläufe erfassen, indem Sie die Option /Coverage (Windows) bzw. purecov purify (UNIX) hinzufügen. Anhand der Abdeckungsdaten finden Sie auch die Teile Ihres Codes, die nicht auf Fehler geprüft wurden. Weitere Informationen zur Verwendung dieser Daten finden Sie in Schritt 2 dieses Toolmentors.

Anmerkungen:

  • Verwenden Sie die Purify-API, um die Datenerfassung in Ihrem Programm zu steuern.
  • Purify stellt auch Befehlszeilenoptionen bereit, mit denen Sie Testdaten als Binärdateien speichern können, die Sie dann mit der grafischen Benutzerschnittstelle von Purify untersuchen können. Nähere Informationen hierzu finden Sie im Toolmentor "Laufzeitleistung mit den Tools von Rational PurifyPlus analysieren".

Symbol für Onlinehilfe Weitere Informationen finden Sie in den folgenden Themen im Index der Onlinehilfe zu Purify:

  • running programs
  • error messages
  • options
  • API functions
  • saving data

2. Programm unter PureCoverage ausführen, um Codeabdeckung zu überwachen 

PureCoverage stellt exakte Informationen zur Codeabdeckung auf Zeilen- und Funktionsebene bereit. Verwenden Sie PureCoverage für Ihre nächtlichen Tests, um sicherzustellen, dass die Tests mit der Codeentwicklung Schritt halten.

Integrieren Sie PureCoverage in Ihre vorhandenen Perl-Scripts, Stapeldateien, und Make-Dateien.

  • Ändern Sie unter Windows die Befehlszeilen, die Ihr Programm ausführen, bzw. die Java-Klassendatei, .jar-Datei oder das Applet, um PureCoverage zu integrieren:
     
    Für C/C++-Programme. Coverage /SaveTextData <Programmname>.exe
    Für Java-Klassendateien: Coverage /SaveTextData /Java Java.exe <Klassenname>.class
    Für verwaltete .NET-Codeprogramme: Coverage /SaveTextData /Net <Programmname>.exe
     
    Wenn Sie die Option /SaveTextData verwenden, wird PureCoverage ohne die Benutzerschnittstelle ausgeführt. Wenn Sie das Programm über Ihr Script ausführen, sendet PureCoverage bei Beendigung des Programms die Daten an eine Textausgabedatei.

  •  
  • Ändern Sie unter UNIX die Kompilierungs- und Linker-Zeile:
     
    Für C/C++-Programme. % purecov cc -g <Programmname>.c
    Für Java-Klassendateien: % purecov -java java <Klassenname>
     
    Verwenden Sie die PureCoverage-Option -export nach der Beendigung des Programms, um die Abdeckungsdaten in eine Textausgabedatei zu schreiben.

Währen Sie den Code ausführen, zeichnet PureCoverage Daten zu verwendeten Zeilen und Funktionen auf. Sie können Funktionen der PureCoverage-API in Ihrem Programm aufrufen, um Daten an bestimmten Stellen im Code zu speichern oder nur Daten für bestimmte Routinen zu erfassen. Wenn Sie das Programm beenden, haben Sie genaue Daten, die anzeigen, welche Zeilen und Funktionen durch den Test abgedeckt wurden und welche nicht.

Sie können Abdeckungsdaten mehrerer Durchläufe zusammenführen oder die Daten in gesonderten Dateien aufbewahren, um Änderungen in der Abdeckung zu analysieren.

Verwenden Sie Scripts, um die aktuellen Daten mit den in früheren Durchläufen erfassten Daten zu vergleichen. Wenn die Abdeckung abnimmt, prüfen Ihre Tests möglicherweise neuen Code nicht, oder der neue Code kann einen Mangel enthalten, der bewirkt, dass ein großer Teil des Codes nicht getestet wird. Mit einem Testttool wie Rational Robot oder Rational Visual Test können Sie Testfälle schreiben, die den neun Code prüfen.

Anmerkung: Sie können die binären Datendateien zur Codeabdeckung mit der grafischen Benutzerschnittstelle von PureCoverage untersuchen.

Symbol für Onlinehilfe Weitere Informationen finden Sie in den folgenden Themen im Index der Onlinehilfe zu PureCoverage:

  • running programs
  • options
  • API functions
  • saving data
  • comparing data

3. Programm unter Quantify ausführen, um ein Leistungsprofil zu erstellen 

Quantify stellt vollständige und genaue Leistungsdaten für Ihr Programm und die zugehörigen Komponenten bereit, so dass Sie die Leistung überwachen und Rückschritte in einem frühen Stadium des Entwicklungs- und Testzyklus erkennen können.  

Integrieren Sie Quantify in Ihre vorhandenen Perl-Scripts, Stapeldateien, und Make-Dateien.

  • Ändern Sie unter Windows die Befehlszeilen, die Ihr Programm ausführen, bzw. die Klassendatei, .jar-Datei oder das Applet, um Quantify zu integrieren:
     
    Für C/C++-Programme. Quantify /SaveTextData <Programmname>.exe
    Für Java-Klassendateien: Quantify /SaveTextData /Java Java.exe <Klassenname>.class
    Für verwaltete .NET-Codeprogramme: Quantify /SaveTextData /Net <Programmname>.exe
     
    Wenn Sie die Option /SaveTextData verwenden, wird Quantify ohne die Benutzerschnittstelle ausgeführt. Wenn Sie das Programm über Ihr Script ausführen, sendet Quantify bei Beendigung des Programms die Daten an eine Textausgabedatei.

  •  
  • Ändern Sie unter UNIX die Kompilierungs- und Linker-Zeile:
     
    Für C/C++-Programme. % quantify cc -g <Programmname>.c
    Für Java-Klassendateien: % quantify -java java <Klassenname>
     
    Verwenden Sie die Quantify-Option -export nach der Beendigung des Programms, um die Leistungsdaten in eine Textausgabedatei zu schreiben.

Während Sie den Code ausführen, zeichnet Quantify Daten zur Leistung Ihres Programms auf. Mit den API-Funktionen können Sie die Datenaufzeichnung zu jeder Zeit anhalten und fortsetzen und so die Profilerstellung auf bestimmte Teile des Codes beschränken. Außerdem können Sie Daten an bestimmten Punkten der Codeausführung speichern oder Leistungsdaten nur für bestimmte Routinen erfassen. Wenn Sie Ihr Programm beenden, hat Quantify ein genaues Profil der Programmleistung.

Sie können Scripts schreiben, die Dateien vergleichen und Änderungen bei der Leistung melden:

  • Leistungsverschlechterungen können darauf hinweisen, dass der zuletzt eingecheckte Code die Ausführung des Programms verlangsamt. Analysieren Sie die erfassten Daten, um die Abschnitte des Programms zu finden, die eine nicht akzeptable Leistung aufweisen.
  • Markante Verbesserung können darauf hinweisen, dass die Entwickler ihren Code verbessert haben oder dass Ihre Tests aus irgendeinem Grund auf einmal große Abschnitte des Codes nicht mehr prüfen. Überprüfen Sie Ihre Abdeckungsdaten, um festzustellen, ob die zuvor erreichten Abdeckungswerte noch erreicht werden.

Anmerkung: Quantify kann Testdaten auch als Binärdateien speichern, die Sie mit der grafischen Benutzerschnittstelle von Quantify untersuchen können. Nähere Informationen hierzu finden Sie im Toolmentor "Laufzeitleistung mit den Tools von Rational PurifyPlus analysieren".

Weitere Informationen finden Sie in den folgenden Themen im Index der Onlinehilfe zu Quantify:

  • running programs
  • options
  • API functions
  • saving data
  • comparing data