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.
Inhalt
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
1 Einleitung
Durch immer komplexer werdende Software, vorangetrieben durch den Einsatz von Entwicklungsumgebungen und neuen Entwicklungsplattformen, ist auch die Notwendigkeit für den Einsatz von Werkzeugen zur Testautomatisierung gestiegen, um in Bezug auf den Umfang des Testvorgangs dieser Entwicklung stand halten zu können. Nicht zuletzt auch durch das zunehmende Eindringen von Computern in viele Anwendungsbereiche gewinnt die Sicherstellung der korrekten, zuverlässigen Funktion der verwendeten Software an Bedeutung.
Im Rahmen der Automatisierung von Testvorgängen können vor allem arbeitsintensive, wiederkehrende Tätigkeiten dem Tester abgenommen werden. Dies schafft Freiräume für zusätzliche, qualitätssichernde Maßnahmen. Zudem kann öfters, zuverlässiger und diversifizierter getestet werden. Dies setzt jedoch nach wie vor eine Planung der Testfälle und des Testvorgangs voraus.
Die vorliegende Projektarbeit beschäftigt sich im Speziellen mit den Werkzeugen (im Folgenden auch "Tools" genannt) der Rational Suite. Neben einer allgemeinen Einführung wurde besonderen Wert auf die Handhabung der näher vorgestellten Werkzeuge gelegt. Durch den Stil, ähnlich einer Vorgehensbeschreibung, soll erreicht werden, dass die enthaltenen Aufgabenstellungen zum einen gelöst werden können und zum anderen der tieferen Auseinandersetzung bezüglich des Umgangs mit den Testwerkzeugen dienen. Dies ist notwendig, da Testwerkzeuge im Allgemeinen erst nach einer gewissen Einarbeitungsphase produktiv eingesetzt werden können.
2 Ziele des Einsatzes von Testwerkzeugen
Das generelle Ziel, wenn man Tests automatisieren möchte, ist es im Idealfall, manuelle Tests überflüssig zu machen. Dies wird jedoch aus Gründen, auf die im späteren Verlauf noch näher eingegangen wird, nur in den seltensten Fällen gelingen. Darum im Folgenden die Definition einiger Teilziele:
- Effektive Gestaltung des Testprozesses:
Dadurch, dass Testwerkzeuge häufig in Entwicklungswerkzeuge eingebettet sind bzw. sich ergänzen, wird auch in der Testphase eine Strukturierung der einzelnen Vorgänge erforderlich. Es lässt sich zudem generell beim Einsatz von Testwerkzeugen sagen, dass ein Einsatz nur dann sinnvoll ist, wenn vor der Anschaffung bzw. Einführung entsprechende Arbeitsabläufe strukturiert und optimiert wurden, um diese mit den Testwerkzeugen abbilden zu können. Dies birgt den Vorteil, dass Vorgänge wiederholbar, Planungsphasen kürzer und somit das Testen insgesamt schneller und effektiver wird.
- Automatisierung arbeitsintensiver Aufgaben:
Testvorgänge beinhalten in der Regel arbeitsintensive und häufig auch langweilige Aufgaben, wenn man z. B. an Tastatureingaben denkt, um bestimmte Programmabläufe oder Pfadüberdeckungen zu überprüfen, oder an das Testen von grafischen Benutzerschnittstellen, wo viel mit der Maus gearbeitet werden muss. Wenn den Testern diese wiederkehrenden Routinetätigkeiten abgenommen werden können, wirkt sich dies positiv auf die Motivation aus.
- Schaffung von Freiräumen:
Durch Testautomatisierung, wie sie z. B. oben beschrieben wurde, kann zudem viel Zeit gewonnen werden, in der sich die Mitarbeiter anderen, kreativeren Aufgaben widmen können, zum Beispiel der Planung und Anpassung von Tests, was sich nach wie vor nur schwer automatisieren lässt. Nicht zuletzt können dadurch Kosten gesenkt werden, wenn sich diese gegenüber den Anschaffungs- und Einarbeitungskosten aufgehoben haben.
- Höhere Fehlererkennungsrate:
Durch den Einsatz von Testwerkzeugen lässt sich nicht automatisch eine höhere Fehlererkennungsrate erzielen, wie weiter unten näher beschrieben wird. Diese kann jedoch gesteigert werden, dadurch dass Mitarbeiter von oben beschriebenen Routinetätigkeiten befreit werden und mehr Zeit z. B. in die Software-Entwicklung bzw. Planung von Testfällen investieren können. Auch sind manche Tools in der Lage, den Tester hierbei zu unterstützen, z. B. in der automatischen Generierung von Testdaten und/oder Testfällen.
- Kosteneinsparungen:
Aus betriebswirtschaftlicher Sicht ist das Ziel (wie bei anderen Anschaffungen bzw. Investitionen auch), dass in absehbarer Zeit die Einsparungen, die sich durch die Automatisierung von Testvorgängen ergeben, die Kosten für die Anschaffung der Werkzeuge und die Einarbeitung der Mitarbeiter überwiegen. Hierfür sind im Vorfeld einige Dinge zu beachten, welche in Kapitel 5 näher beschrieben werden.
3 Unterscheidung von Testwerkzeugen
Es gibt eine Vielzahl von unterschiedlichen Werkzeugen, die der Automatisierung von Testvorgängen dienen und den Tester in der Testphase unterstützen. Diese lassen sich sicherlich nach mehreren Kriterien unterscheiden. In den nächsten Kapiteln folgt eine mögliche Einteilung.
- Capture/Playback
Bei dieser Art von Werkzeugen werden Tests zunächst manuell durchgeführt. Gleichzeitig werden alle Aktionen des Testers, z. B. Tastatureingaben, Mausbewegungen und -klicks, aufgezeichnet (eventuell von einem zweiten Rechner) und abgespeichert. Diese Speicherung erfolgt in Skripten, welche sich nachträglich ändern und kommentieren lassen. Diese Skripte lassen sich zu späteren Zeitpunkten wieder ausführen, und zwar automatisch. Hierbei lassen sich, je nach Tool, tatsächliche Ergebnisse mit erwarteten abgleichen und auswerten. Dies erfordert jedoch einen höheren Entwurfs- und Wartungsaufwand.
Vorteile dieser sogenannten Capture/Playback-Tools sind, dass sich zeitaufwändige manuelle Tests automatisieren lassen und dass einmal ausgeführte Tests veränderbar und wiederholbar werden und sich somit unbeaufsichtigt und zu bestimmten Zeitpunkten (z. B. nachts) ausführen lassen. Das weiter unten vorgestellte Tool Rational Robot zählt zu dieser Kategorie. Nach [lig02] werden diese Tools auch Regressionstestwerkzeuge genannt. Durch Einspielung bzw. Aufzeichnung von Daten an den Ein- und Ausgabekanälen, sind diese Tools meist unabhängig von der verwendeten Sprache.
- Test Coverage Analyzer
Diese Art von Tools werden bei White Box Tests eingesetzt, das heißt, der Quellcode wird benötigt. Während der Ausführung von Programmen wird überprüft und ausgewertet, welche Zeilen bzw. Abschnitte des Codes und welche Pfade durchlaufen wurden und in welcher Häufigkeit. Dies wird erreicht, indem der Code vor der Ausführung instrumentiert wird.
Instrumentierung im Allgemeinen bedeutet, dass während des Programmablaufs Daten über das Programm erfasst werden. In diesem Fall werden Zähler von den Tools in den Code eingefügt, die beim Erreichen der entsprechenden Stellen hochgezählt werden. Wenn also bestimmte Programmteile nicht erreicht werden, sollten die Testfälle dahingehend entsprechend erweitert werden. Unter Umständen sind jedoch Fallunterscheidungen im Programm fehlerhaft bzw. Code überflüssig. Die nicht erreichten Stellen im Code sollten also näher betrachtet werden.
Häufig stellt die Testabdeckung auch ein Maß in der Qualitätssicherung dar, das heißt eine bestimmte Testabdeckung muss erreicht sein, bevor der Code weiterverwendet werden kann. Dieser Nachweis kann mit diesen Tools erbracht werden. Das weiter unten vorgestellte Tool Rational PureCoverage zählt zu dieser Kategorie.
- Testfall-/Testdatengeneratoren
Testfallgeneratoren besitzen eine gewisse "Intelligenz" (auch als Agenten bzw. in Rational TestFactory als Piloten bezeichnet). Aufgrund der Spezifikation, dem Design oder Datenmodellen sind sie in der Lage, hieraus unterschiedliche Testfälle abzuleiten. Ein Testfall ist ein Satz von Testdaten, welcher ein Programm so durchläuft, dass möglichst alle Funktionalitäten erfasst und getestet werden. In der Praxis lässt es sich jedoch in den seltensten Fällen vermeiden, manuell Testfälle hinzuzufügen.
Testdatengeneratoren dienen dazu, Testdaten zu erzeugen, mit denen die Testfälle ausgeführt werden, also z. B. auch für manuell erzeugte Testfälle. Testdaten sind Stichproben der möglichen Eingaben eines Programms. Häufig werden die Testdaten durch diese Tools zufällig generiert, um bestimmten Präferenzen von Testern entgegenzuwirken.
- Logische Analyse
Diese Tools analysieren die Programmlogik und die Komplexität eines Programms, um potentielle Fehler oder Schwachstellen im Quellcode aufzudecken. Denn je komplexer ein Programm wird, um so schwieriger wird es für den Entwickler den Überblick zu behalten und desto mehr Fehler entstehen. Dieses Problem versuchen diese Tools in den Griff zu bekommen, in Kombination mit eventuellen Programmierrichtlinien, z. B. eine Begrenzung der Schachtelungstiefe.
- Test Scripts
Testskripte können manuell oder durch Werkzeuge erzeugt werden, wie z. B. durch Capture/Playback-Tools. Ziel ist es, Testdurchläufe wiederholbar zu machen, auch in unterschiedlicher Kombination (Testszenarien). Es kann eine Ablaufautomation erfolgen und zudem können z. B. andere Programme aufgerufen und Input/Output gesteuert werden. Auch ein Vergleich zwischen tatsächlichem und erwartetem Ergebnis kann gesteuert werden. Bei den in weiter unten vorgestellten Werkzeugen lässt sich dieses Verhalten durch die Kombination der beiden Tools Rational Robot und Rational TestManager erreichen.
Die folgende Abbildung 1 soll zum Abschluss dieses Kapitels verdeutlichen, dass sich die vorgestellten Arten von Tools hauptsächlich für den Modul- und Integrationstest eignen. Beim System- und Akzeptanztest hingegen ist beispielsweise ein Test Coverage Analyzer wenig hilfreich. Ebenso versagen Testautomatisierungswerkzeuge wenn es darum geht, ergonomische Gesichtspunkte einer Software zu testen.
Abbildung in dieser Leseprobe nicht enthalten
[Abb. 1] Eignung einiger Werkzeuge für verschiedene Testarten [tha00]
4 Vor- und Nachteile von Testwerkzeugen
Obwohl eine Automatisierung des Testbetriebes häufig mit beträchtlichen Investitionen in Testverfahren und Werkzeugen einhergeht, sollten hierbei die Vorteile im Allgemeinen überwiegen und erhebliche Kosteneinsparungen erzielt werden. Dass dies häufig auch einige Nachteile bzw. Probleme mit sich bringt, gerade in Zusammenhang mit zu hohen Erwartungshaltungen, soll jedoch nicht verschwiegen werden.
- Vorteile
- Leichte Modifikation: Falls existierende Programme leicht verändert und erneut freigegeben wurden, lassen sich vorhandene Testprogramme bzw. -skripte mit geringem Aufwand ebenfalls leicht modifizieren und automatisiert ablaufen.
- Häufigeres Testen: Dadurch, dass automatisierte Tests schneller ablaufen und zudem meist kein Tester anwesend sein muss, können Tests häufiger durchgeführt werden.
- Zusätzliches Testen: Durch die freigewordene Zeit, aber auch durch neue Möglichkeiten, die manche Testwerkzeuge anbieten, lassen sich Tests durchführen, die sonst nicht erfolgt wären. So lässt sich u. U. beispielsweise ein gleichzeitiger Zugriff von 200 Benutzern auf ein Betriebssystem simulieren und testen (load test).
- Besserung Nutzung von Ressourcen: Wie bereits weiter oben beschrieben wurde, kann durch Testautomatisierung die "Ressource Mensch" entlastet und sinnvoller eingesetzt werden.
- Leichte Wiederholbarkeit: Durch die Aufzeichnung und Abspeicherung bzw. das Festhalten von Testvorgängen in Skripten, lassen sich diese leicht wiederholen, und zwar auf verschiedenen Systemen und unter verschiedenen Konfigurationen.
- Wiederverwendbarkeit: Der vorige Punkt schließt die Wiederverwendbarkeit von Tests mit ein.
- Verkürzung der Testphase: Nicht zuletzt wird durch die genannten Vorteile zudem eine Verkürzung der Testphase erreicht. Hierbei kann die Verkürzung entweder dazu genutzt werden, mit einem Produkt früher am Markt zu sein, oder aber in der "eingesparten" Zeit die Qualität und Funktionalität der Software zu verbessern.
- Nachteile/Probleme
- Unrealistische Erwartungen: Die Erwartungshaltung, dass durch den Einsatz neuer Methoden bzw. neuer Werkzeuge die Lösung aller Probleme leicht zu erreichen sei, kann nicht erfüllt werden.
- Unreife Organisation: Wenn manuelle Tests nur sporadisch durchgeführt werden bzw. keine Strukturen für Testvorgänge bestehen, wird dies mit dem Einsatz von Werkzeugen nicht automatisch erreicht.
- Keine automatisch höhere Fehlererkennungsrate: Auch wenn Tests automatisiert ablaufen ist es nach wie vor notwendig, gut durchdachte Testfälle (manuell) zu entwickeln, auf denen der Test basiert. Der Vorteil von Testwerkzeugen liegt vielmehr darin, dass nach Änderungen an der Software schnell überprüft werden kann, ob Fehler behoben wurden bzw. dass die Software weiterhin in Ordnung ist.
- "Wiegen in Sicherheit": Man kann nicht davon ausgehen, wenn ein Test fehlerfrei durchlaufen wurde, dass die Software fehlerfrei sei. Es kann lediglich davon ausgegangen werden, dass die getesteten Aspekte keine Fehler geliefert haben.
- Wartungsaufwand: Wenn die Software unter Test (application under test, AUT) geändert wird, bedeutet dies in den meisten Fällen, dass auch eine Änderung an der Test-Software erfolgen muss.
- Probleme mit den Tools: Auch die zum Testen eingesetzten Werkzeuge sind nicht fehlerfrei und u. U. mit anderen Tools nicht kompatibel. Außerdem kann die Einarbeitung umständlich und der Wartungsaufwand hoch sein.
- Organisatorische Probleme: Die Einführung von Test-Automatisierung kann nicht einfach "nebenbei" erfolgen. Es sollten Mitarbeiter zur Verfügung stehen, die Zeit und die entsprechende Vorkenntnis haben, um sich dieser Aufgabe zu widmen.
5 Auswahl und Anschaffung
Bei der Auswahl und Anschaffung von Testwerkzeugen sollte im Prinzip nicht anders vorgegangen werden, wie bei der Erstellung der Software selbst. Zunächst sollten die Anforderungen an ein Tool ermittelt und ein Anforderungskatalog erstellt werden. Eine Checkliste kann beim Vergleich mehrerer Tools helfen. Die Anforderungen werden anschließend mit den am Markt verfügbaren Werkzeugen verglichen. Zur Ermittlung von in Frage kommenden Werkzeugen können Fachzeitschriften, Internetrecherchen und Softwareberatungsfirmen dienen.
Da Produktbroschüren bzw. Herstellerangaben meist unvollständig oder "geschönt" sind, ist es sinnvoll, ausgewählte Tools selbst zu evaluieren und mit den eigenen Anforderungen auszutesten. Weiterhin ist es nützlich, Anwender ausfindig zu machen und zu befragen, welche das in Frage kommende Tool bereits einsetzen. Die Ausarbeitung von Fragebogen kann hierbei behilflich sein. Mögliche Fragestellungen könnten z. B. sein, ob das Tool mit bestimmten Entwicklungsumgebungen reibungslos zusammenarbeitet und ob es sich vollständig in den Testprozess integrieren lässt oder wie gut der Support durch den Hersteller ist.
Ein weiterer wichtiger Aspekt ist der Zeitpunkt der Anschaffung. So sollten Testwerkzeuge nicht erst in der Testphase selbst angeschafft werden, da in dieser Phase das Projekt bereits sehr weit fortgeschritten und der Zeitplan meist sehr eng ist. Denn am Anfang der Einführung einer Test-Software ist die Einarbeitungszeit wesentlich höher, als der Zeitgewinn (siehe Abbildung 2). Daher sollte die Anschaffung in einer frühen Projektphase erfolgen. Dadurch, dass bei der Einführung von neuen Methoden und Werkzeugen in laufende Prozesse immer ein gewisses Risiko besteht, ist es ratsam, diese in einer speziellen Projektgruppe auszutesten. In größeren Firmen existieren hierfür u. U. Stabsstellen (Qualitätssicherung).
Abbildung in dieser Leseprobe nicht enthalten
[Abb. 2] Auswirkung der Anschaffung eines Tools [tha00]
Einführung: Zum Zeitpunkt der Einführung von Testwerkzeugen sinkt, bedingt durch den Zeitaufwand für die Einarbeitung und Problembewältigung, zunächst die Produktivität. Amortisation: Ab diesem Zeitpunkt erreicht die Produktivität ihren ursprünglichen Wert. Die Mitarbeiter sind vertraut mit der Software und können diese produktiv einsetzen. Ab diesem Zeitpunkt hat sich die Investition (in Bezug auf die Produktivität) bezahlt gemacht.
6 Einsatz und Vorgehensweise
Die Testphase der Software lässt sich, abgesehen von der Testplanung, in etwa in folgende drei Tätigkeiten unterteilen, wobei jeweils angegeben wird, ob und in welcher Form der Einsatz von Testwerkzeugen sinnvoll ist:
1. Entwurf des Tests:
Aus den Spezifikationen und/oder dem Benutzerhandbuch werden Anforderungen für bestimmte Funktionen der Software identifiziert und hieraus Testfälle entworfen und die erwarteten Ergebnisse festgelegt. Da der Entwurf geeigneter Testfälle eine anspruchsvolle Tätigkeit ist, lässt sich dieser Schritt nur bedingt durch Testwerkzeuge automatisieren (eventuell durch Testfallgeneratoren).
2. Durchführung des Tests:
In diesem Bereich liegt die eigentliche Stärke von Testwerkzeugen. Wie in den vorigen Kapiteln beschrieben, lassen sich Tests aufzeichnen, abspeichern und/oder manuell entwerfen bzw. verändern und jederzeit wiederholen. Dies birgt eine hohe Zeit- und Aufwandsersparnis, gerade gegenüber interaktiven Tests. Man kommt jedoch nicht umhin, Tests mindestens einmal manuell auszuführen.
3. Vergleich der Ergebnisse:
Nach jedem Test müssen die tatsächlichen Ergebnisse mit den erwarteten verglichen werden. Abweichungen müssen auf ihre Gründe hin untersucht werden. Der Vergleich kann im Idealfall auch automatisiert durchgeführt werden. Geeignete Werkzeuge liefern nach Ausführung der Testfälle eine Übersicht darüber, welche Tests mit welchem Ergebnis erfolgreich waren und welche nicht. Die in weiter unten beschriebenen Tools Rational Robot und Rational TestManager sind hierzu in der Lage.
Im Anschluss an die empfohlenen Einsatzbereiche von Testwerkzeugen soll kurz erläutert werden, wann der Einsatz weniger sinnvoll ist:
- Wenn der Test nur selten eingesetzt wird. In diesem Fall übersteigt der Aufwand der Testerstellung den Aufwand einiger weniger manueller Tests. Von Automatisierung ist abzuraten.
- Wenn die Software noch häufigen Änderungen unterworfen ist, z. B. im Anfangsstadium der Entwicklung. In diesem Fall ist der Wartungsaufwand zur Anpassung der Testfälle/-skripte zu hoch und die Ergebnisse mehrerer Testläufe sind nicht miteinander vergleichbar.
- Wenn Aspekte zu testen sind, bei denen ein Tool scheitert. Dies ist z. B. der Fall, wenn ergonomische Gesichtspunkte zu testen sind.
- Wenn Tests durchzuführen sind, die manuelle Handlungen erfordern, beispielsweise das Wechseln einer Magnetplatte oder das Herstellen einer Verbindung zu einer Schnittstelle.
Eine mögliche Vorgehensweise, welche sich beim Modultest bewährt hat, soll zum Abschluss dieses Kapitel kurz vorgestellt werden. Sie gliedert sich in drei Schritte:
- Funktionstest:
Zunächst wird der Testling (Software unter Test) instrumentiert, um die Überdeckungsrate im Hintergrund mitzuprotokollieren. Testfälle werden aufgrund der Spezifikation erstellt und ausgeführt. Die Ausführung wird gegebenenfalls durch geeignete Tools aufgezeichnet, um sie wiederholbar zu machen. Daran an schließt sich ein Vergleich der Soll- mit den Ist-Werten.
- Strukturtest:
Im zweiten Schritt wird die Überdeckungsstatistik des Instrumentierungswerkzeuges ausgewertet. Für nicht erreichten Code werden zusätzliche Testfälle aufgestellt, ausgeführt und gegebenenfalls aufgezeichnet, bis eine gewünschte Überdeckungsrate erreicht ist.
- Regressionstest:
Wenn eventuelle Fehler korrigiert wurden, erfolgt ein erneuter Testlauf. Falls die ersten beiden Schritte aufgezeichnet und mitprotokolliert wurden, kann dies automatisch geschehen. Zum Abschluss erfolgt ein erneuter Soll/Ist-Ergebnisvergleich, im Idealfall ebenfalls automatisch.
7 Installation der Testwerkzeuge
Bereits bei der Installation gibt es einige Dinge zu beachten, um die vollständige Funktionalität der Testwerkzeuge sicherzustellen. Eventuell auftretende Probleme werden im Folgenden ebenfalls beschrieben. Da diese jedoch von der konkreten Konfiguration eines Rechners bzw. von bestimmten Versionen einer Software abhängig sein können, erfolgt zunächst eine Auflistung der konkret eingesetzten Software:
- Betriebssystem:
Windows 2000, deutsch, Service Pack 3
- Testwerkzeuge:
Rational Suite Enterprise, Version 2001A.04.00
Rational PurifyPlus for Windows, Version 2002.05.20
(Testversion, herunterladbar von http://www.rational.com)
PurifyPlus beinhaltet die Tools Purify, PureCoverage und Quantify. Normalerweise sind diese bereits in der Suite enthalten und werden standardmäßig mitinstalliert. Im konkreten Fall ergaben sich bei der Ausführung und Integration dieser Tools in andere Testwerkzeuge (z. B. Rational Robot) jedoch Probleme, welche teilweise durch die Installation einer neueren Version von PurifyPlus behoben werden konnten. Da die Ursache hierfür nicht nachvollziehbar war, kann es unter Umständen sein, dass der Vorgang einer erneuten Installation auf anderen Systemen nicht notwendig ist.
- Entwicklungsumgebungen:
Borland C++Builder, Version 5.0
Microsoft Visual C++, Version 6.0
Der Einsatz von Testwerkzeugen ist in mancher Hinsicht eng verzahnt ist mit den eingesetzten Entwicklungsumgebungen (z. B. Bereitstellen von Debug-Informationen oder Bekanntmachung von Objekten bzw. Objekttypen). Leider werden jedoch nur bestimmte Entwicklungsumgebungen (Integrated Development Environment, IDE) hinreichend unterstützt. So ist zu sagen, dass die Tools von Rational in der vorliegenden Version eher für den Einsatz in Kombination mit Microsoft-Produkten geeignet sind. Andererseits bereitete eine gleichzeitige Installation von Microsoft-.NET enorme Schwierigkeiten, weswegen von einer solchen gleichzeitigen Installation abzuraten ist.
Im Allgemeinen sollten Entwicklungsumgebungen vor der Rational Suite installiert werden, da während der Installation der Rational Suite untersucht wird, welche IDEs auf dem System bereits vorhanden sind. Falls die Versionen zueinander kompatibel sind, können die Testwerkzeuge unter Umständen direkt in die Entwicklungsumgebung integriert werden, wie in Abbildung 3 zu sehen ist. Bei der Installation der Rational Suite wurden drei Menü- und Symbolleisten hinzugefügt für die Werkzeuge Purify, PureCoverage und Quantify.
Abbildung in dieser Leseprobe nicht enthalten
[Abb. 3] Integration einiger Testwerkzeuge in Microsoft Visual C++
Dass die Integration manchmal leider nur in der Theorie funktioniert, verdeutlicht Abbildung 4. Die Integration schlug fehl, obwohl die Dokumentation Gegenteiliges aussagt. Vielleicht wurden durch Programme Dritter einige dll-Dateien ausgetauscht. Wie in der Hinweismeldung beschrieben, wird der Testling in der Folge zuerst compiliert und dann von den Testwerkzeugen "standalone" (also alleinstehend) untersucht (siehe unten).
Abbildung in dieser Leseprobe nicht enthalten
[Abb. 4] Fehlermeldung beim Einbinden von PureCoverage
Die Rational Suite kann in verschiedenen Versionen installiert werden. Je nachdem, welche Rolle der Benutzer inne hat, werden verschiedene Tools installiert. Abbildung 5 zeigt eine Übersicht an Editionen, welche von Rational zur Verfügung gestellt werden:
Abbildung in dieser Leseprobe nicht enthalten
[Abb. 5] Übersicht der verschiedenen Installationsvarianten [rat01-0]
Um also Rational Robot nutzen zu können, muss entweder die TestStudio - oder die Enterprise -Edition bei der Installation ausgewählt werden. Im vorliegenden Fall wurde die Enterprise -Edition gewählt. Im Laufe des Installationsvorganges kann es zu Fehlermeldungen kommen, wenn kein ClearCase -Server angegeben wurde (ClearCase ist ein Konfigurations-Management-Tool). Diese können ignoriert werden, da sie die Funktionalität der Testwerkzeuge nicht beeinflussen.
In einem zweiten Schritt wird nun die erneute Installation der Tools Purify, PureCoverage und Quantify aus oben beschriebenen Gründen notwendig. Hierzu wird die neuere Version von PurifyPlus über die bestehende Installation der Rational Suite aufgespielt. Die älteren Versionen werden durch die neueren ersetzt, eventuelle Warnhinweise können bestätigt werden.
8 Vorbereitung und Konfiguration
Die Tools innerhalb von Rational PurifyPlus (also Purify, PureCoverage und Quantify) können jedes für sich genommen eigenständig genutzt werden, wohingegen beispielsweise das Werkzeug Rational Robot in die Rational Suite integriert ist. Aus diesem Grunde muss zuvor mittels dem Rational Administrator ein Rational-Projekt angelegt werden (siehe unten). Jedes Projekt erhält dadurch einen eigenen Speicherbereich, in dem alle Informationen z. B. über die Software-Entwicklung und das Testen der Software gespeichert und verwaltet werden. Dieser Speicherbereich kann entweder lokal auf dem Rechner liegen oder aber innerhalb eines Netzwerks.
Ein Rational-Projekt ist die Basis für den Zugriff verschiedener Programme innerhalb der Rational Suite. Entsprechend werden verschiedene Informationen innerhalb des Projektes angelegt und verwaltet, auf die dadurch zentral zugegriffen werden kann. Wichtig für das Testen von Software ist der Rational Test datastore, welcher alle Informationen bezüglich des Testens eines Programms enthält (beispielsweise Testfälle, Logs, Reports und Builds) und beim Anlegen eines Projektes mit erzeugt werden muss.
Weitere Inhalte eines Rational-Projektes können sein: Grafische Modelle, Prozessbeschreibungen, Anforderungskataloge, Software-Komponenten, Klassen, Objekte, Änderungsanforderungen, usw. Zudem lassen sich mit dem Rational Administrator in Bezug auf den Rational Test datastore Sicherheitsrichtlinien und Zugriffsrechte für Benutzer und Gruppen anlegen und verwalten.
Ein Rational-Projekt kann auch unter der Verwaltung eines Konfigurations-Managements angelegt werden (Unified Change Management, UCM). Hierdurch können alle Änderungen und Versionierungen innerhalb eines Software-Entstehungs-Prozesses verwaltet und dokumentiert werden. Dies setzt allerdings voraus, dass zuvor ein UCM-Projekt mittels Rational ClearCase angelegt wurde. Dieses kann dann beim Anlegen eines neuen Projektes mit dem Rational Administrator entsprechend zugeordnet werden.
- Anlegen eines Rational-Projekts
Nach dem Öffnen des Rational Administrators erzeugt man über "File à New Project..." ein neues Projekt. Im darauffolgenden Dialogfeld trägt man Projektnamen und Speicherort ein. Der Speicherort kann auch im Netzwerk liegen. Dann muss dieser im UNC-Format (Universal Naming Convention) eingetragen werden (Beispiel: "D:\RationalTest\" auf dem Rechner mit Namen "kzwei" (Standardfreigabe) wird zu "\\kzwei\D$\RationalTest\"). Hier kann auch angegeben werden, ob UCM genutzt werden soll. Im zweiten Dialogfeld kann für die Administration des Projektes im Rational Administrator ein Passwort vergeben werden. Im Anschluss daran kann das Projekt konfiguriert werden.
[...]
-
-
-
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X.