Strukturiertes

Software-Testing

Das effiziente, strukturierte und zielgerichtete Testen ist ein wesentlicher Erfolgsfaktor in der Software-Entwicklung. Mit unserer langjährigen Erfahrung unterstützen wir verschie­dene Unternehmen bei der Ein- und Durchführung von strukturiertem Software-Testing im Rahmen der Qualitäts­sicherung. So werden Fehler, aber auch konzeptionelle Schwächen frühzeitig erkannt und hochwertige Ergebnisse erzielt.

Case Study

Unser Kunde ist ein namhafter Automobilhersteller mit Hauptsitz in München.

Seit vielen Jahren betreuen wir unseren Kunden im Bereich des Software-Testings für eine intern eingesetzte Appli­kation zur Planung und Steuerung der Systemintegration und Absicherung im Gesamtfahrzeug.

Kunde:
Großer Automobilhersteller in München (Hauptsitz), ca. 125.000 Mitarbeiter (weltweit)
Projekt:
Multi-Tier-Applikation (Server, Datenbank, Desktop-Client (.NET) und Web-Client (React)), mit 365000 Lines of Code,
Teamgröße:
Test-Team: 2, Gesamt-Team: 11
Projektvorgehen:
Agil (Scrum-ähnlich)
Bild: weisser Pfeil

Herausforderung

Ungefährdeter Produktiveinsatz trotz hoher Entwicklungsdynamik

Die Software ist bereits seit 10 Jahren mit etwa 1.000 Usern im Produktiveinsatz. Einige systemrelevante Prozesse sind von der Verfügbarkeit und korrekten Funktion der Applikation abhängig. Änderungen bei internen Betriebsabläufen und der allgemeine technologische Fortschritt im IT-Umfeld führen zu einem steten Weiterentwicklungsdruck. Neue Funktionen müssen rasch zur Verfügung gestellt werden, neue Technologien müssen adaptiert und integriert werden. Dabei darf jedoch der Produktiveinsatz der Software nicht behindert werden.

Zu Beginn des Projekts erfolgte der Softwaretest relativ unstrukturiert und impulsgetrieben. Neue Funktionen wurden zwar intensiv, aber nur teilweise anhand nachvollziehbarer Kriterien getestet. Weniger naheliegende Testaspekte (z.B Datensicherheit) wurden häufig übersehen und Testergebnisse nur sehr lückenhaft dokumentiert. Der Versuch, das Testing allein durch den Aufbau von Testfallkatalogen und den Einsatz von Testmanagementsystemen auf ein angemessenes Niveau zu heben, wurde aufgrund des immensen Aufwands für die Erstellung und das Änderungsmanagement des Testfallkatalogs bei gleichzeitig relativ geringem Mehrwert wieder eingestellt. Da es - insbesondere durch unerwartete Regressionsfehler - immer wieder zu ungeplanten Downtimes kam, musste die Wirksamkeit des Testings erhöht werden, um damit unmittelbar Ausfallzeiten zu reduzieren.

 


Lösung

Anpassung des Entwicklungsprozesses und strukturiertes Software-Testing

Qualität lässt sich nicht in ein Produkt "hineintesten", sondern wird dadurch erreicht, dass bereits der Entwicklungsprozess im Hinblick auf ein erfolgreiches Testing optimiert wird und sich die Testphase nicht auf eine einfache Fehlersuche beschränkt. So wird nun bereits bei der Erstellung und Strukturierung der Spezifikation, aber auch bei der Aufteilung der Umfänge in einzelne Tickets darauf geachtet, dass der Test auf Spezifikationskonformität leicht und effizient möglich ist.

Der in Sprints organisierte Entwicklungsprozess wurde so verändert, dass die Entwickler am Sprintende im Rahmen einer sogenannten Stabilisierungsphase die entstandenen Artefakte gemäß dem 4-Augen-Prinzip testen und gefundene Fehler nach Möglichkeit sofort beheben. Je nach Situation und Auslastung kann das Test-Team bereits in dieser Phase unterstützen, die eigentliche Übergabe erfolgt aber erst im gemeinsamen Review, in dem die Entwickler unter anderem darstellen, welche automatisierten Tests implementiert und welche manuellen Tests durchgeführt wurden. Zudem zeigen die Entwickler dem Test-Team technische Abhängigkeiten und kritische Applikationsbereiche auf, sofern diese Art und Inhalt der durchzuführenden Tests beeinflussen könnten.

Das Test-Team erarbeitet auf Basis der Spezifikation, der im Sprint geplanten Tickets und den Erkenntnissen aus dem Sprint-Review einen Testplan. Dabei werden alle relevanten Testaspekte (wie z.B. Spezifikationskonformität, Validierung (Eignungsprüfung), Misuse, UX-Design, Performance, Regression, Bugfixing, etc.) betrachtet und die durchzuführenden Test-Aktivitäten ausgeplant und (zeitlich) abgeschätzt. Steht nicht genügend Zeit für einen vollumfänglichen Test zur Verfügung wird bereits vorab entschieden, welche Testaspekte zwingend betrachtet werden müssen und wo Einschränkungen in Kauf genommen werden können. Die Testdurchführung wird im Testprotokoll dokumentiert. Gefundene Fehler oder auch Verbesserungsvorschläge (z.B. aus der Validierung) werden in neuen Tickets dokumentiert. Schließlich werden die Testergebnisse zusammengefasst und dem Kunden zur Verfügung gestellt. Bei ausreichender Reife kann in Abstimmung mit Projektleiter und Kunden die Produktivfreigabe erteilt werden.

 


Mehrwert

Gleichbleibend hohe Qualität und Verfügbarkeit der Software mit gut planbarem Aufwand beim Test

Die konsequente Planung und Durchführung der Software-Tests schlugen sich unmittelbar in einem Rückgang der Support­anfragen, Fehlermeldungen und Störungen nieder. Die "sichtbare" Qualität der Software wurde also nachhaltig gesteigert und konnte auf einem hohen Niveau gehalten werden. Durch die gesamthafte und frühzeitige Betrachtung aller qualitätsrelevanten Aspekte werden zudem konzeptionelle Schwachstellen früher erkannt und notwendige Änderungen können daher früher wieder in den Entwicklungsprozess einfließen. Der befürchtete Mehraufwand beim Test wurde daher mittelfristig durch Einsparungen beim Entwicklungsaufwand kompensiert. Dieser Effekt wurde durch die Umstellungen im Entwicklungsprozess verstärkt, die zu einer engeren Verzahnung zwischen Entwicklungs- und Test-Team geführt haben. Durch den gewachsenen Austausch zwischen Entwicklern und Testern wurde die Zusammenarbeit effektiver und die Kommunikationswege kürzer.

Das beschriebene Vorgehen zur Qualitätserhöhung durch strukturiertes Software-Testing ist effektiv, effizient, skalierbar und anpassbar. Wir bieten unsere Leistungen in diesem Bereich sowohl als eigenständiges Produkt als auch in Kombination mit der agilen Software-Entwicklung an, um damit insbesondere mittelständische Unternehmen bei der Bereitstellung hochwertiger, individueller Software-Lösungen zu unterstützen.

    Referenz

    Was Kunden sagen...

    Die Firma iXTS hat ihre Kompetenz beim Testen der Software „ICLx“ im über 10-jährigen Einsatz bewiesen. In diesem langen Zeitraum gab es beim weltweiten Einsatz mit über 1000 Anwendern kaum Ausfälle, die auf Fehler in der Software zurückzuführen waren, die beim Testen „durchgerutscht“ sind.
    Das strukturierte und systematische Vorgehen sowohl beim Testen neuer Funktionen als auch beim Regressionstest bestehender Funktionalität führte zu einer sehr stabilen Software. Die Kombination aus Expertentests mit tiefem, fachlichem Domänenwissen und Anwendertests beschleunigten den Rollout neuer Releases.

    Anführungzszeichen
    Alexander Höfer

    Damals Leiter des
    Software-Entwicklungsprojekts ICLx


    BMW Group, München

Ihr Kontakt
    Armin Orthmann, Geschäftsführer

    Armin Orthmann


    Geschäftsführer
    TEL: +49 89 958408-16
    Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.

    Alois Flammensböck, Geschäftsführer

    Alois Flammensböck


    Geschäftsführer
    TEL: +49 89 958408-25
    Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.

TOP