- Advertisement -spot_img
HomeSoftware TestingAgile Testmethoden und die Testpyramide

Agile Testmethoden und die Testpyramide

- Advertisement -spot_img

Autoren: Christian Odenthal, Andreas Paul

Wenn Unternehmen nach ihren aktuellen oder geplanten Testvorgehensweisen gefragt werden, lautet die Antwort häufig: „Wir möchten agil testen.“ Das ist auch verständlich. Agile Modelle, wie Scrum oder Kanban, sind weit verbreitet und Unternehmen möchten dazu passende Testorganisationen und Testprozesse implementieren.

Agiles Testen: Konzepte und Praktiken

Agiles Testen umfasst unterschiedliche Vorgehensweisen und Praktiken, wie frühzeitiges, paralleles und regelmäßiges Testen auf mehreren Teststufen, Pairing, exploratives Testen und einen hohen Grad an Testautomatisierung. Ein in diesem Zusammenhang häufig genanntes und in vielen Teststrategien erwähntes Konzept ist die Testpyramide. Diese besagt, dass der wesentliche Aufwand der Tests auf unteren Teststufen erfolgen soll, da die dort stattfindenden Testaktivitäten schnell und kostengünstig sind. Im Gegensatz dazu sind die Testaktivitäten auf den höheren Teststufen langsamer und teurer, was den Aufbau, die Durchführung und die Automatisierung der Tests betreffen.

Herausforderungen bei E2E-Tests

Eine Testart auf der oberen Stufe der Testpyramide ist der E2E-Test (Ende-zu-Ende-Test). Daher ist es auch nicht verwunderlich, warum diese Testart bei der Beantwortung der Frage nach der gewünschten Testvorgehensweise eher zaghaft genannt wird. Denn Aufbau, Durchführung und Wartung von aussagekräftigen E2E-Tests sind in der Praxis oft sehr ressourcenintensiv. Dies liegt an verschiedenen Aspekten, wie die oft nicht einfache Erstellung und Konfiguration von produktionsnahen und aus mehreren Teilsystemen bestehenden Testumgebungen. Weiterhin sind Modellierung und Realisierung von Testdaten, welche synchron und konsistent über die Teilsysteme verteilt sein müssen, sehr aufwendig. Um gebräuchliche Testdaten nutzen zu können, entstehen nicht selten eigene Projekte zur Anonymisierung oder Pseudonymisierung von Produktivdaten oder zum Aufbau von realistischen synthetischen Daten.

E2E-Tests im Testquadranten

E2E-Tests sind oben rechts im Testquadranten Q3 angesiedelt. Sie sind daher geschäftsorientierend auf der Systemebene auszuführen. E2E-Tests betrachten die wesentlichen Geschäftsprozesse von Anfang zu Ende über mehrere integrierte Teilsysteme hinweg aus Sicht der Nutzer oder Kunden. Aus diesem Grund sind oft fachliche Beteiligte an den Tests involviert. Neben der Prüfung des Zusammenspiels der Teilsysteme lassen sich auf oberen Teststufen zudem Informationen von nicht-funktionalen Qualitätsmerkmalen wie der Benutzbarkeit ableiten. Ein weiterer und wertvoller Aspekt ist die Schaffung von Vertrauen in das System. Und genau dieses Vertrauen kann hervorragend in produktions- und kundennahen Umgebungen aufgebaut werden.

Das Round Earth Model als Alternative zur Testpyramide

Eine alternative Darstellung zur Testpyramide ist das von James Bach entwickelte „The Round Earth Model“ 1). Es zeigt, dass die Aufmerksamkeit auf der Oberfläche des Produkts liegen, welche innerhalb von E2E-Tests geprüft wird.

Planung und Koordination von E2E-Tests

E2E-Tests müssen frühzeitig geplant und koordiniert werden, zu betrachten sind neben dem Umgebungsmanagement und Testdatenmanagement auch die Identifikation der wesentlichen zu testenden Prozesse. Eine mögliche Testbasis zur Erstellung der Testfälle sind Customer Journeys oder Epics. Daher sollte eine Abstimmung mit prozessnahen Stakeholdern, wie Fachbereich oder Prozess Owner, erfolgen. Die von uns aufgebauten zu testenden Prozesse nennen wir Perlenketten, da sie die sequenzielle Ausführung und das Zusammensetzen aus einzelnen Teilfunktionen gut darstellen.

Perlenketten: Ein Beispiel und deren Bedeutung

Die Idee dahinter ist, dass die Perlen hintereinander ausgeführt werden und jede Perle eine Aktivität beschreibt. Ein entscheidender Punkt zum Aufbau der Perlenketten ist, dass der Übergang von Perle zu Perle einen Verantwortlichkeitsübergang symbolisiert. Ein Verantwortungsübergang kann sowohl technisch als auch fachlich bedingt sein. Technisch sind Schnittstellen hervorzuheben, fachlich wären Wechsel in den Rollen zu nennen. Die untere Farbe einer Perle gibt den Status des Tests an. Die obere Farbe gibt das Team oder Teilsystem an, welches für diesen Schritt verantwortlich ist. Dieses Team hat die Verantwortung, dass als Vorbereitung auf den E2E-Test die einzelnen Bestandteile in einem Integrationstest erfolgreich vorgetestet wurden (test the bricks before the wall).

Visuelle Darstellung und Monitoring von Perlenketten

Ein Beispiel einer einfachen Perlenkette ist der folgende Prozess „Bücherkauf“. Ein Kunde besucht die Startseite eines Versandhauses und loggt sich in das System ein. Er füllt den Warenkorb mit einem Buch und führt die Bestellung aus. Das Buch wird versendet und die Folgeaktivitäten Rechnung versenden und verbuchen werden ausgeführt. Durch geeignete Tools können die Farben der Perlen automatisch je nach Status der Testergebnisse gesetzt werden. Dadurch wird schnell und transparent der Fortschritt der Perlenketten ersichtlich. Das obere Darstellung zeigt, dass der Prozess „Bücherkauf“ ab dem Teilprozess „Bestellung ausführen“ fehlerhaft ist. Der Grund dafür ist in der Zeile „Fehler“ angegeben, dass ein Button nicht reagiert. In der Regel müssen mehrere Prozesse betrachtet werden. Wenn diese kompakt und zusammenhängend dargestellt werden, kann dies für eine schnelle und gute Gesamtübersicht der wesentlichen Prozesse auf einen Blick dienen.

Der Wert von E2E-Tests in heterogenen Systemlandschaften

Auch wenn der obere Bereich der Testpyramide nur einen kleinen Teil ausmacht, spielen E2E-Tests in einer heterogenen Systemlandschaft eine wichtige Rolle, nicht nur um Fehler zu finden, sondern auch um das Vertrauen in die entwickelte Software zu stärken. Insgesamt erhöhen E2E-Tests die Transparenz und die Fokussierung auf die wesentlichen Prozesse. Der Mehrwert von E2E-Tests hinsichtlich fachlicher Akzeptanz ist ebenfalls nicht von der Hand zu weisen, denn gerade sequenzierte und fachbereichsnahe Tests eignen sich hervorragend als Basis für Abnahme- und Freigabetests.


1 https://www.satisfice.com/blog/archives/4947

Artikel teilen
Redaktion
Redaktion
Die SQ-Magazin Redaktion ist Ihr Ansprechpartner für alle Fragen, Anregungen und Ideen rund um das SQ-Magazin. Kontaktieren Sie uns gern unter redaktion@sq-magazin.de Wir freuen uns auf Ihre Nachricht!
- Advertisement -Certified DevOps Portfolio
Neueste Artikel
Weitere interessante Artikel
- Advertisement -spot_img
[js-disqus]