Motivation
Beim Einsatz betrieblicher Anwendungssysteme spielen nichtfunktionale Softwarequalitätseigenschaften wie Performance und Verfügbarkeit eine immer größere Rolle. So wirken sich etwa bei Kundenanfragen zu lange Antwortzeiten negativ auf die Kundenzufriedenheit und damit auf den Unternehmenserfolg aus. Um solche Performance-Probleme möglichst frühzeitig und gerade auch im Zusammenhang mit Änderungen an der Software zu erkennen, wird das zu erwartende Nutzungsprofil in einer Testumgebung weitgehend nachgebildet. Diese Lasttests gewinnen angesichts des großen Konkurrenzdrucks bei Anwendungssystemen zunehmend an Bedeutung. Die aktuelle Praxis zeigt jedoch, dass Lasttests häufig gar nicht oder nur unzureichend eingesetzt werden. Typische Gründe dafür sind der hohe Aufwand und die erforderliche Kompetenz zur Erstellung repräsentativer Testskripte. Zudem veralten diese Skripte, sobald sich technische Schnittstellen oder das Nutzungsprofil ändern, und sind aufwendig zu warten. Hinzu kommt, dass durch den verstärkten Einsatz der kontinuierlichen Softwareentwicklung nicht für jede Version ein vollständiger Lasttest durchgeführt werden kann, sodass die problemverursachende Änderung erst mühsam identifiziert werden muss.
Ziele und Vorgehen
Ziel des Verbundvorhabens „ContinuITy“ ist es deshalb, ein effizientes und nachhaltiges Lasttesten, das die fortlaufend aufgezeichneten Messdaten aus dem Produktivbetrieb nutzt, in die kontinuierliche Softwareentwicklung zu integrieren. Dabei sollen geeignete Lasttests automatisiert aus Messdaten abgeleitet und an Änderungen angepasst werden. Diese Tests werden durch eine modulare Beschreibungssprache definiert und können durch zusätzliche Informationen, beispielsweise hinsichtlich Testarten und -zielen, angereichert werden. Die angestrebte Lösung soll so ausgelegt werden, dass die Auswahl relevanter Lasttests sowie die Erkennung von Problemen und deren Diagnose im Rahmen der Automatisierung des Softwareerstellungsprozesses erfolgen. Eine nutzergerecht aufbereitete Ursachenanalyse soll dabei die Problembehebung unterstützen.
Innovationen und Perspektiven
Die praktische Anwendbarkeit des ContinuITy-Ansatzes wird anhand realer Fallstudien assoziierter Anwendungspartner aus dem Mobilitäts- und Software-Engineering-Bereich evaluiert. Im Ergebnis können Performance-Tests gezielter und mit weniger Aufwand durchgeführt werden. Performance-Probleme sollen auf diese Weise bereits in der Entwicklungsphase erkannt und deren Ursachen frühzeitig behoben werden. Dies wird ein höheres Maß an Softwarequalität hinsichtlich nichtfunktionaler Eigenschaften bedeuten, was sich insbesondere für geschäftskritische Anwendungen am Standort Deutschland auszahlt.