Testautomatisierung ein Tool-Vergleich

15.11.2007
Werkzeuge für automatisierte Funktions- und Regressionstests sollen den Prüfprozess entlasten und die Softwarequalität verbessern. Die Pentasys AG hat sechs solche Tools getestet. Gewinner ist Mercury.

Die Technologien der Softwareentwicklung haben in den letzten Jahrzehnten enorme Fortschritte gemacht, selbst komplexe Anwendungen können heute hochproduktiv entwickelt werden. Im Gegensatz dazu hat die Produktivität in der Qualitätssicherung der Programme vergleichsweise schwach zugelegt, so die Einschätzung des Münchner Beratungs- und Systemhauses Pentasys. Die Qualität von Software in angemessenem Umfang, angemessener Zeit und zu angemessenen Kosten zu sichern werde zu einer immer größeren Herausforderung. Als eine Möglichkeit, diesem Problem zu begegnen, haben sich seit einiger Zeit Verfahren zur Testautomatisierung etabliert. Die dafür angebotenen Functional-Testing-Tools automatisieren Funktions- und Regressionstests und unterstützen damit den in der Regel umfangreichsten und aufwändigsten Teil im Testprozess.

Rahmenbedingungen für automatisierte Funktionstests

Bevor ein Entwickler- oder Qualitätssicherungs-Team die Anschaffung eines Functional-Testing-Tools erwägt, sollte es sicherstellen, dass gewisse Rahmenbedingungen erfüllt sind, um eine Fehlinvestition zu vermeiden.

Laut Pentasys ist es zum Beispiel wichtig, dass der in einem Unternehmen eingeführte Testprozess sowie die Prozesse für das Change-, Release- und Anforderungs-Management einen gewissen Reifegrad aufweisen. Ist dies nicht der Fall, fehlen die Grundlagen für die Erstellung automatisierter Testskripte, neue Anforderungen können gar nicht oder nur abweichend von einer bestehenden Implementierung nachgeführt werden.

Da die Vorbereitung eines automatisierten Tests aufgrund der aufwändigen initialen Skripterstellung deutlich mehr Zeit erfordert als die eines manuellen, muss sichergestellt sein, dass im Laufe eines Projekts genügend Testwiederholungen anfallen werden, damit sich das anzuschaffende Werkzeug lohnt.

Wer Skripte für häufige, automatisierte Tests mit geringem Pflegeaufwand erstellen will, sollte sicher sein, dass in seinem Unternehmen in absehbarer Zeit keine größeren Systemänderungen geplant sind. Ist dies doch der Fall, muss man davon ausgehen, dass viele Testskripte entsprechend angepasst werden müssen.

Die Ziele, die mit der Testautomatisierung verfolgt werden, können vielfältig sein und sollten genau formuliert werden. Erst dann lässt sich entscheiden, ob ein zur Auswahl stehendes Tool die daran gestellten Forderungen erfüllt.

Testkriterien

Pentasys nahm die Bewertung der sieben Produkte anhand von 34 Einzelkriterien mit jeweils zwei bis fünf Ausprägungen vor. Eingeteilt wurde in acht Kategorien:

Benutzer (Expertenmeinungen, Vorkenntnisse);

Anbieter (unter anderem Marktpräsenz, Erreichbarkeit, User Groups);

Kosten (Lizenzen, Wartung und Schulung);

integrierbare Test-Lifecycle-Tools (etwa für Konfigurations-, Fehler-, Anforderungs- und Test-Management oder für Reporting und Monitoring);

Testvorbereitung (Keyword-drivenScripting, Data-driven-Scripting, Sprache und Umgang mit Skripten);

Verwaltung der Testergebnis-se (Format Testprotokolle);

allgemeine Systemeigenschaften;

Environment-Support (für Betriebssysteme, Browser und Applikationen).

Für das Trio der Siegergruppe wurde ein zusätzlicher Praxistest in folgenden Kategorien vorgenommen:

Support (Hilfe und Dokumentation);

Testvorbereitung (Installation, Setup und Konfiguration, Anle-gen von Projekten beziehungs-weise deren Modifikation);

Testergebnisse (Qualität der Auswertungen, Benachrichtigung);

Skripte (unter anderem Verwaltung von Testobjekten und Reproduzierbarkeit);

Zuverlässigkeit (Integration und Reife);

Benutzbarkeit.

Die K.o.-Kriterien

Das Beratungshaus hat auf Basis einer umfangreichen Anforderungsanalyse einen Kriterienkatalog definiert, anhand dessen die am Markt befindlichen Werkzeuge für den "Functional Testing Tools Report 2007" verglichen wurden. Um die Zahl der Produkte einzugrenzen, wurden drei K.o.-Kriterien gesetzt: Die Lösung musste auf dem deutschen Markt präsent sein, die aktuelle Version durfte nicht älter als fünf Jahre sein, und Open-Source-Tools wurden aufgrund ihres für den professionellen Einsatz noch nicht ausreichenden Leistungsspektrums ausgeschlossen. Übrig blieben sieben Produkte.

Die Bewertung ergab, dass zwar keines der Tools als "Totalausfall" zu deklarieren ist, dennoch zeigten sich so deutliche Unterschiede, dass das Gesamtfeld in zwei Gruppen aufgeteilt wurde: Vier Tools, die ein eher durchschnittliches Bild hinterließen, sowie die drei besten Tools, die zur Ermittlung eines Klassensiegers einem weiteren Praxistest unterzogen wurden.

Im unteren Feld rangierten:

"GUIdancer" von Bredex aus Braunschweig, das von den möglichen 100 Prozent der Anforderungsabdeckung 66 Prozent erzielte,

"QF-Test" von Quality First Software aus Geretsried, das 68 Prozent schaffte,

"QA Wizard" von QA Systems aus Stuttgart mit 81 Prozent.

Begrenztes Einsatzspektrum

An GUIdancer kritisieren die Experten den Testfokus des Tools auf Java/Swing-Applikationen, während Browser- beziehungsweise Web-Applikationen außen vor bleiben. Auch die überdurchschnittlich hohen Kosten für die Wartung und das fehlende Schulungsangebot führten zu Minuspunkten. Ein sehr wichtiges Kriterium für Pentasys war die Verfügbarkeit integrierbarer Test-Lifecycle-Tools hier hat Her-steller Bredex nichts aufzuweisen. Lob gab es dagegen für den niedrigen Anschaffungspreis und das im Vergleich zu den Wettbewerbern "ausgesprochen gute" Scripting, das auch Benutzer mit geringen Technikkenntnissen optimal unterstützt.

Mit sehr ähnlicher Kritik wird das nur wenig besser platzierte Produkt QF-Test belegt, das auf den Test von eigenständigen SWT-Anwendungen (Standard Widget Toolkit: Eclipse-Bibliothek zur Erstellung grafischer Oberflächen mit Java), Eclipse-Plug-ins und RCP-Applikationen (Rich Client Platform von Eclipse) unter Windows und Linux spezialisiert ist. Einem niedrigen Anschaffungspreis und einer leichten Bedienbarkeit auch für Einsteiger und technisch unerfahrene Benutzer stehen die fehlende Unterstützung von Browser-Anwendungen und die hohen Kosten für Schulung und Wartung gegenüber. Im Hinblick auf die Test-Lifecycle-Tools bietet Quality First Software immerhin ein Test-Management-Werkzeug an.

Einen deutlichen Sprung in der Bewertung gibt es für die beiden anderen Lösungen der Gruppe. Bei QA Wizard handelt es sich um ein Tool, das in einschlägigen Benutzerforen vergleichsweise häufig empfohlen wird. Es verwendet eine native, nicht an gängigen Programmiersprachen angelehnte Skriptsprache, was Pentasys eher als Nachteil verbucht. Dennoch sei das Produkt so konstruiert, dass auch nichttechnische Benutzer "angemessen" damit arbeiten können. Negativ fiel ferner auf, dass QA Wizard Probleme mit verschiedenen Browser-Versionen hatte. So traten mit Internet Explorer 7.0 und Firefox 2.0 diverse Sicherheitsrisiken auf. Demgegenüber steht als klarer Pluspunkt die umfangreiche Palette an integrierbaren Test-Lifecycle-Tools aus dem eigenen Haus.

Siegergruppe besteht aus

IBMs "Rational Functional Tester" mit 83 Prozent Zielerreichung,

Borlands "Silktest" (89 Prozent),

und dem Spitzenreiter "Quicktest Professional" (93 Prozent) von Mercury Interactive.

Erschwerte Prüfbedingungen

Um zu diesem Ergebnis zu kommen, mussten die drei Spitzenkandidaten einen zusätzlichen Praxistest durchlaufen, bei dem sie unter Kriterien wie Testvorbereitung, Qualität der Testergebnisse sowie Skripte noch einmal genauer unter die Lupe genommen wurden.

Der für Java-, .NET- und Web-basierende Anwendungen ausgelegte Rational Functional Tester glänzt Pentasys zufolge mit einem hohen Bedienkomfort. Positiv erwähnt werden auch die Wahlmöglichkeit zwischen zwei Programmiersprachen (Java und Visual Basic) und das anwenderfreundliche Aufzeichnen von großen Tabellenmengen. Von der Testvorbereitung bis zu den Testergebnissen präsentiert sich das Produkt als sehr leistungsfähig, in zwei Punkten zeigt es jedoch massive Schwächen. Kritisiert wird zum einen die Produktreife, da es häufig zu Programmabstürzen kam, die einen Neustart des Rechners erforderten. Zum anderen ließen sich die Testergebnisse unter gleichen Voraussetzungen auffallend häufig nicht reproduzieren, worunter letztlich das Vertrauen des Benutzers leidet, da die Aussagekraft eines Testergebnisses nicht zweifelhaft sein darf. Das Angebot integrierbarer Test-Lifecycle-Tools aus dem Rational-eigenen Portfolio wird wie bei den beiden Konkurrenzlösungen als sehr gut bezeichnet.

Problem mit komplexen Tabellen

Auch Silktest, von Borland als Lösung für plattformübergreifende Lokalisierungs- und Regressionstests mit Unterstützung für Internet-, Java-, .NET- beziehungs-weise Client-Server-Techniken positioniert, hinterlässt laut Penta-sys den Eindruck eines sehr anwenderfreundlichen und professionellen Tools. Der vergleichsweise hohe Einarbeitungsaufwand insbesondere für die optional nutzbare Funktion des Testplans trübe allerdings das positive Bild etwas: Das Konzept dürfte besonders für unerfahrene Benutzer zu Beginn etwas verwirrend sein. Einmal verstanden, bietet der Testplan allerdings einen guten Komfort und viele Vorteile. Eher negativ in Erinnerung, so Pentasys, blieben auch Testszenarien, in denen das Testobjekt umfangreiches Tabellenmaterial enthielt. Da die Tabellen von Silktest nicht als Ganzes betrachtet werden, muss der Benutzer jedes zu testende Element manuell auswählen, so dass die Testvorbereitung sehr aufwändig wird. Positiv fiel dagegen die Möglichkeit auf, Objekte vor dem Test manuell zu deklarieren, was die Objekterkennung vereinfacht.

Den Sieger Quicktest Professional von Mercury beschreibt die Studie als professionelles Werkzeug, das unerfahrenen Benutzern einen leichten Einstieg in die Test-automatisierung bietet. Hervor-gehoben wird in diesem Zusammenhang die Funktion Keyword-driven-Test, mit der sich Testskripte ohne Programmierkenntnisse erstellen lassen. Der gelungene Aufbau des Tools fördere eine steile Lernkurve, die Dokumentation sei vorbildlich. In keinem der untersuchten Bereiche weise Quicktest gravierende Schwächen auf, es sei im Gegenteil den Konkurrenten oft einen Schritt voraus. Deutlich werde dies zum Beispiel an der Vielzahl der unterstützten Applikationen, an der stabilen Funktionsweise oder am Umgang mit Passwörtern, die sich im Skript verschlüsseln lassen. In der Summe werde es dem Interessenten leicht gemacht, das einzige Manko des Produkts, den relativ hohen Preis, zu akzeptieren.