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 verschiedene Unternehmen bei der Ein- und Durchführung von strukturiertem Software-Testing im Rahmen der Qualitätssicherung. So werden Fehler, aber auch konzeptionelle Schwächen frühzeitig erkannt und hochwertige Ergebnisse erzielt.

Study (Icon)

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 Applikation 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 Supportanfragen, 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 engere Verzahnung zwischen Entwicklungs- und Test-Team geführt haben. Durch den gewachsenen Austausch zwischen Entwickler und Tester 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.

Ihr Kontakt
Armin Orthmann

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

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!

Wir benutzen Cookies
Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell für den Betrieb der Seite, während andere uns helfen, diese Website und die Nutzererfahrung zu verbessern (Tracking Cookies). Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.