Frühes Testen senkt die Entwicklungskosten

07.04.2000
Mit der Umsetzung von E-Business-Strategien in den Unternehmen in Richtung Web-Anbindung und der Entwicklung komplexer, mehrschichtiger Systeme gewinnt das Thema Testen und Testautomatisierung an Bedeutung. Nur wer beispielsweise Last- und Performance-Tests macht, erhält ein objektiveres Bild von der Qualität und der Leistungsfähigkeit der Systemarchitektur oder der Website. Mit Kai Ahrendt, hiesiger Geschäftsführer des Testspezialisten Segue Software, sprach CW-Redakteur Sascha Alexander über die aktuelle Situation und die Firmenstrategie.

CW: Mit der Entwicklung vielschichtiger Anwendungen und der Erweiterung in Richtung Web steigt die Komplexität der Systeme. Bedeutet das, dass auch das Thema Testen mehr Beachtung findet?

Ahrendt: Immer mehr Firmen erkennen, dass Testen im Bereich der Qualitätssicherung und zur Risikosenkung wichtig ist. Allerdings oft erst dann, wenn es zu Problemen mit der Performance der Website gekommen ist. Dabei steigt durch verteilte Anwendungen die Gefahr möglicher Engpässe etwa durch nicht performante Web- oder Datenbank-Server. Hinzu kommt, dass sich die Zahl und der Zeitpunkt von externen Zugriffen auf die Systeme über das Web schwer kalkulieren lassen. Es ist daher wichtig, die betroffenen Systeme durch Stresstests mit hohen simulierten Benutzerzahlen an ihre Leistungsgrenze und über diese hinaus zu fahren. Aus den Ergebnissen kann der Anwender Rückschlüsse auf die Leistungsfähigkeit des Systems ziehen. Beispielsweise Online-Broker, die ihren Kunden Transaktionsraten und -zeiten 24 Stunden am Tag garantieren müssen, können sich Systemausfälle nicht erlauben.

CW: Trotzdem kommt das Qualitäts-Management, von dem Testing ja nur ein Teil ist, in den meisten Unternehmen zu kurz. Haben Sie den Eindruck, dass zumindest Firmen, die an einer E-Business-Strategie arbeiten, hier weiter sind?

Ahrendt: Teils, teils. Zumindest Großunternehmen haben heute eine Abteilung für die Qualitätssicherung. Wenn dort E-Business-Strategien aufgesetzt werden, so ist unserer Erfahrung nach das Testen auch ein wesentliches Thema. Zu kurz kommt es insbesondere bei Startup-Unternehmen, die schnell online gehen wollen und müssen. Leider verhindern die engen Budgets und der hohe Zeitdruck oft ein rechtzeitiges Testen. Erst auftretende Performance-Probleme und das Fortbleiben der Kunden sowie damit verbundene Mindereinnahmen führen zum Einsatz von Testlösungen. Segue hat hierfür ein Programm "E-Confidence" aufgesetzt, mit dem wir diesen Unternehmen eine trotzdem kostengünstige Lösung offerieren können.

CW: Was leisten Testwerkzeuge?

Ahrendt: Segue Software bietet eine ganze Reihe von Testlösungen für GUI-, Regressions-, Last- und Performance-Tests, Corba-Tests, Fehlerverfolgung sowie eine Szenario-Test-Tool an. Eierlegende Wollmilchsäue sind aber auch unsere Produkte nicht. Der Anwender kann nicht erwarten, dass sich alle Eventualitäten und Qualitätsprobleme durch den Einsatz solcher Lösungen abdecken lassen. Automatisierte Regressionstests beispielsweise können etwa 90 bis 95 Prozent aller Funktionen einer Anwendung prüfen. Es gibt aber immer Systemaspekte, die sich nur manuell angehen lassen. Tests sind kein Freischein dafür, dass die Software fehlerfrei ist. Wenn Sie einmalig etwa Last- und Performance-Tests für eine Anwendung gemacht haben, heißt das noch nicht, dass sich künftig durch steigende Benutzerzahlen keine Engpässe ergeben können.

CW: Gibt es Möglichkeiten, sich ein Bild von den Kosten und Einsparungen durch den Einsatz solcher Werkzeuge zu machen?

Ahrendt: Einer der nicht zu unterschätzenden Vorteile ist der, dass die IT-Abteilung nur durch Testen tatsächlich einschätzen kann, wie leistungsfähig und stabil ein System läuft und die Anforderungen der Fachbenutzer erfüllt. Nichts ist schlimmer für die IT-Abteilung als sich beschwerende und unzufriedene Anwender oder Kunden, die die Website nicht mehr aufrufen. Je früher ein Unternehmen mit dem Testen beginnt, desto geringer sind die Kosten bei der Fehlerkorrektur. Einer unserer Kunden hat eine Studie erarbeitet, die ergab, dass manuelle Tests eines neuen Produkt-Releases etwa 6,5 Personentage dauern, während automatisierte Tests dies in wenigen Stunden schaffen. Zudem können die Tests beliebig oft wiederholt werden, wenn etwa an der Anwendung etwas geändert wurde.

CW: Es gibt eine Fülle möglicher Testmethoden und entsprechender Tools. Was braucht ein Anwender etwa für den Test seiner Website?

Ahrendt: Minimum sind GUI- und Regressionstests für die Überprüfung der Oberfläche und der Funktionen einer Anwendung sowie Last- und Performance-Tests, um die Anwendung unter Stress zu setzen. Leitfragen sind: Funktioniert die Anwendung und entspricht sie den Erwartungen? Ist das System den zu erwarteten Transformationsaufkommen gewachsen, und läuft es stabil?

CW: Auf was für einen Zeitrahmen muss sich der Anwender bei der Implementierung von Testverfahren einstellen?

Ahrendt: Das hängt von der Komplexität der Anwendung ab. Begleiten Tests den gesamten Entwicklungszyklus einer Software, entfallen etwa 20 bis 25 Prozent des Aufwands auf Tests. Diese Mehrarbeit wird aber dadurch kompensiert, dass sich durch eine frühzeitige Fehlerbehebung der Zeit- und Kostenaufwand im Projekt reduziert.

CW: Betreiber von Websites müssen ihre Anwendungen nicht nur während der Projektierung, sondern auch während des laufenden Betriebs überprüfen, da beispielsweise Seiten kontinuierlich aktualisiert und neue Angebote eingefügt werden, Werbkampagnen anderes laufen sollen. Wie helfen dabei Test-Tools?

Ahrendt: Werkzeuge für Last- und Performance-Tests lassen sich remote starten, registrieren das Antwortzeitverhalten und versenden beim Über- oder Unterschreiten der Grenzwerte Warnmeldungen an den Administrator. Über das Szenariotesten können Regressionstests und Lasttests gestartet und die Ergebnisse dann zentral analysiert werden. Mittels eines Tools wie "Silkmonitor" ist ferner ein Echtzeit-Monitoring des Systems möglich. Dabei wird grafisch dargestellt, wie das System sich unter Last verhält und welche Komponenten eventuell getunt werden können.

CW: Anbieter von Test-Tools sind wie ihre Kunden gezwungen, sich kontinuierlich auf die Weiterentwicklung technischer Standards einzustellen. Dies gilt beispielsweise bei der verteilten Anwendungsentwicklung gemäß Spezifikationen wie Component Object Request Broker Architekture (Corba), Enterprise Javabeans (EJB) oder Distributed Component Model (DCOM). Können Testwerkzeuge mit der Entwicklung Schritt halten?

Ahrendt: Segue versucht immer auf dem neuesten Stand zu sein. So unterstützen wir jetzt das Wireless Application Protocol (WAP) in unserem Last- und Performance-Tool "Silkperformer". Darüber hinaus ist das Testen von Anwendungen gemäß den neuesten Spezifikationen in Corba 3 oder EJB bereits möglich. Zudem ist damit zu rechnen, dass künftig die Vielfalt der Techniken eher abnimmt und sich beispielsweise standardisierte Netzprotokolle oder Komponentenmodelle gegenüber proprietären Ansätzen durchsetzen werden, was uns die Produktentwicklung erleichern wird.

(Zum Thema Site-Performance-Messungen siehe auch Seite 27 in dieser Ausgabe.)