Das Testen von Software ist ein oft vernachlässigter Bereich der Softwareentwicklung. Im Zuge des Zwangs, Anwendungen möglichst schnell auf den Markt zu bringen, vor dem Hintergrund eines verschärften Wettbewerbes und steigender Entwicklungskosten, wird der Testvorgang häufig auf die Wartungsphase des Produktes hinausverlagert, um sich strategisch besser gegenüber der Konkurrenz am Markt zu positionieren. Wenn dies jedoch zu Lasten der Qualität des Produktes geht, verkehrt sich dieses Vorgehen leicht ins Gegenteil. Um die Entwicklungszyklen und -kosten dennoch möglichst gering zu halten, kann der Einsatz von automatisierten Testwerkzeugen in Bezug auf die Qualität des Produktes und die Entwicklungsdauer den entscheidenden Vorteil bringen. Diesem Thema widmet sich diese Ausarbeitung.
In den ersten Kapiteln erfolgt zunächst eine allgemeine Abhandlung des Themas "Testautomatisierung", welche verschiedene Aspekte in Bezug auf die Ziele, die Unterscheidung, die Vor- und Nachteile, die Anschaffung und den Einsatz von Testwerkzeugen näher beleuchtet. In den darauffolgenden Kapiteln werden ausgewählte Tools der Rational Suite (jetzt IBM) näher vorgestellt, insbesondere in den Bereichen Diagnostic Tools, Überdeckungsanalyse und Regressionstests. Zudem wurden Aufgabenstellungen entworfen und entsprechende Musterlösungen im Anhang beigefügt.
Inhaltsverzeichnis
1 Einleitung
2 Ziele des Einsatzes von Testwerkzeugen
3 Unterscheidung von Testwerkzeugen
4 Vor- und Nachteile von Testwerkzeugen
5 Auswahl und Anschaffung
6 Einsatz und Vorgehensweise
7 Installation der Testwerkzeuge
8 Vorbereitung und Konfiguration
9 Einzelne Tools und Anwendungsbeispiele
9.1 Rational Purify
9.2 Rational PureCoverage
9.3 Rational Quantify
9.4 Rational Robot
9.5 Rational TestManager
9.6 Weitere Testwerkzeuge der Rational Suite
10 Aufgabenstellungen zu den Testwerkzeugen
11 Zusammenfassung und Ausblick
12 Anhang
12.1 Abbildungsverzeichnis
12.2 Quellenangaben
12.3 Listings und Lösungen
Zielsetzung & Themen
Die vorliegende Arbeit untersucht den Einsatz von Testwerkzeugen, insbesondere der Rational Suite, um die Softwarequalität zu steigern und Entwicklungszyklen durch Automatisierung effizienter zu gestalten.
- Theoretische Grundlagen zur Testautomatisierung und ihren Zielen
- Methodik zur Auswahl, Anschaffung und Implementierung von Test-Tools
- Praktische Vorstellung von Diagnose- und Automatisierungswerkzeugen (Rational Suite)
- Analyse von Vor- und Nachteilen automatisierter Testverfahren
- Konkrete Aufgabenstellungen zur praktischen Anwendung der vorgestellten Werkzeuge
Auszug aus dem Buch
Praktischer Einsatz
Um ein Programm mit PureCoverage zu untersuchen, öffnet man ähnlich wie bei Purify zuerst über "File -> Run..." oder die Taste F5 den Run-Program-Dialog (siehe Abbildung 9). Im Unterschied zu obigem Dialog bietet sich hier die Auswahl, welcher Art das zu untersuchende Programm ist bzw. welche Art der Untersuchung herangezogen werden soll: "Collect Data From". Hier kann man wählen zwischen:
Unmanaged Code: Dies ist die Standardeinstellung für native-compiled Code, d. h. das Programm wurde auf herkömmliche Weise für den jeweiligen Prozessor compiliert (im Gegensatz zu den beiden anderen Methoden). Zur Untersuchung benutzt PureCoverage die OCI-Technologie (Object Code Insertion). Das bedeutet, von den Programmdateien werden Kopien erzeugt, diese instrumentiert, in einem eigenen Verzeichnis bzw. Cache ablaufen gelassen und anschließend gespeichert. Bei einem erneuten Durchlauf müssen unveränderte Dateien dadurch nicht neu instrumentiert werden. Zudem kann beim Ablauf des Programms der Fortschritt der Untersuchung angezeigt werden. Diese Einstellung sollte bei in C/C++ geschriebenen Programmen gewählt werden.
Java Code: Für die Untersuchung von Java-Programmen ist diese Einstellung notwendig (wird bei der Auswahl einer class- oder jar-Datei automatisch angewählt). PureCoverage verwendet hierbei die BCI-Technologie (Byte Code Insertion). Das Programm wird dynamisch zur Laufzeit im Speicher instrumentiert und analysiert. Dadurch kann der Fortschritt der Untersuchung nicht angezeigt werden und es werden auch keine Kopien der Dateien erzeugt.
Zusammenfassung der Kapitel
1 Einleitung: Beschreibt die steigende Notwendigkeit automatisierter Tests aufgrund zunehmender Softwarekomplexität und definiert das Ziel der Arbeit, den Umgang mit Rational-Tools zu vermitteln.
2 Ziele des Einsatzes von Testwerkzeugen: Definiert Teilziele wie effektive Testprozessgestaltung, Automatisierung routinemäßiger Aufgaben und höhere Fehlererkennungsraten durch Zeitgewinn.
3 Unterscheidung von Testwerkzeugen: Kategorisiert verschiedene Werkzeugarten wie Capture/Playback, Test Coverage Analyzer und Testdatengeneratoren.
4 Vor- und Nachteile von Testwerkzeugen: Wägt Investitionen und Einarbeitungsaufwand gegen Vorteile wie Wiederholbarkeit und Zeitersparnis sowie Risiken wie unrealistische Erwartungen ab.
5 Auswahl und Anschaffung: Erläutert Kriterien und Vorgehensweisen bei der Tool-Evaluierung und unterstreicht die Wichtigkeit eines frühen Zeitpunkts für die Anschaffung.
6 Einsatz und Vorgehensweise: Unterteilt die Testphase in Entwurf, Durchführung und Ergebnisvergleich und gibt Empfehlungen für den Modultest.
7 Installation der Testwerkzeuge: Dokumentiert die notwendigen Schritte zur Installation der Rational Suite sowie mögliche Kompatibilitätsprobleme mit IDEs.
8 Vorbereitung und Konfiguration: Beschreibt die Einrichtung von Projekten und Test-Datastores im Rational Administrator.
9 Einzelne Tools und Anwendungsbeispiele: Stellt spezifische Werkzeuge wie Rational Purify, PureCoverage, Quantify, Robot und TestManager detailliert vor.
10 Aufgabenstellungen zu den Testwerkzeugen: Enthält praktische Übungen, um die vorgestellten Tools anhand von Beispielprogrammen eigenständig zu testen.
11 Zusammenfassung und Ausblick: Resümiert, dass Tools keine manuelle Planung ersetzen, aber die Qualitätssicherung maßgeblich unterstützen und effizienter machen.
12 Anhang: Bietet ein Verzeichnis der Abbildungen, Quellenangaben sowie den Programmcode für die in Kapitel 10 genannten Aufgaben.
Schlüsselwörter
Testautomatisierung, Rational Suite, Rational Purify, Rational PureCoverage, Rational Robot, TestManager, Software-Qualitätssicherung, Regressionstest, Instrumentierung, Programmablauf, Debug-Informationen, Testskripte, Diagnosewerkzeuge, Performance Testing, Codeabdeckung.
Häufig gestellte Fragen
Worum geht es in dieser Arbeit grundsätzlich?
Die Arbeit behandelt den Einsatz und die praktische Anwendung von Testautomatisierungswerkzeugen, wobei der Fokus auf den Produkten der "Rational Suite" liegt.
Was sind die zentralen Themenfelder der Arbeit?
Die Themen umfassen die Ziele der Testautomatisierung, die Kategorisierung von Test-Tools, deren Auswahl und Anschaffungskriterien sowie die methodische Integration in den Softwareentwicklungsprozess.
Was ist das primäre Ziel oder die Forschungsfrage?
Das Ziel ist es, durch eine praxisnahe Vorgehensbeschreibung den Einarbeitungsprozess in Testwerkzeuge zu erleichtern und aufzuzeigen, wie diese zur Effizienzsteigerung und Qualitätssicherung beitragen.
Welche wissenschaftliche Methode wird verwendet?
Die Arbeit basiert auf einer Literaturanalyse zu Testverfahren, gefolgt von einer deskriptiven Vorgehensbeschreibung und einer praktischen Implementierung anhand von Beispiel-Quellcode.
Was wird im Hauptteil der Arbeit behandelt?
Der Hauptteil gliedert sich in allgemeine theoretische Abhandlungen zu Testwerkzeugen und eine detaillierte, tool-spezifische Vorstellung von Rational-Programmen inklusive technischer Konfigurationshinweise.
Welche Schlüsselwörter charakterisieren die Arbeit?
Die Arbeit ist geprägt durch Begriffe wie Testautomatisierung, Regressionstest, Instrumentierung und die spezifischen Komponenten der Rational Suite wie Purify oder TestManager.
Welches Tool eignet sich speziell für die Performance-Analyse?
Das Tool Rational Quantify dient primär dazu, Programme auf ihre Performance zu testen und durch die Analyse der Ausführungszeiten Engpässe ("Bottlenecks") aufzudecken.
Warum ist das "AutoMerge"-Feature wichtig?
Die AutoMerge-Funktion in PureCoverage erlaubt es, Daten aus mehreren Testläufen zusammenzuführen, um festzustellen, ob insgesamt eine vollständige Codeabdeckung erreicht wurde.
- Quote paper
- Werner Hommes (Author), 2003, Werkzeuge zur Testautomatisierung, Munich, GRIN Verlag, https://www.grin.com/document/15984