Blog

Wie führt man Softwaretests in einer Scrum-Umgebung durch?

Anirban Guha

Aktualisiert Dezember 5, 2025
3 Minuten

Die Softwareentwicklung hat sich im Laufe der letzten Jahrzehnte immer weiter perfektioniert und ist in ihrem Ansatz und ihrer Vorhersagbarkeit immer wissenschaftlicher geworden. Dennoch hat die Softwareentwicklung auch eine starke künstlerische Seite, die sich in den Bereichen Design und Architektur manifestiert.

Kreativität und Innovation spielen eine wichtige Rolle bei der Entwicklung hochwertiger Software, die die Probleme der Benutzer löst und ein reibungsloses Benutzererlebnis bietet. Der Qualitätsaspekt von Software ist ein direktes Ergebnis des rigorosen Testprozesses, der während der Design- und Entwicklungsphasen angewandt wird. Auch das Testen von Software in einer Scrum-Umgebung kann sich an den Leitprinzipien der Kunst orientieren.

Robuste Code-Verzweigung

Von grundlegender Bedeutung für den Erfolg einer Softwareproduktveröffentlichung ist das Konfigurationsmanagement, insbesondere die Planung der Verzweigung des Codes. Ein sich ständig bewegender Stamm, ein höchst instabiler Sprint/Feature-Zweig und ein stabiler Release-Zweig bilden die wesentlichen Abgrenzungen des Codes. Testen ist die Qualitätskontrolle, die diesen Zweigen als Voraussetzung für die Synchronisierung untereinander auferlegt wird. Das Maß für die Stabilität des Stammzweigs ist zum Beispiel die erfolgreiche Durchführung eines Regressionstests. Die Stabilität des Sprint-Zweigs ist der erfolgreiche Abschluss des Systemtests. Die Stabilität des Release-Zweigs ist der Erfolg des Akzeptanztests.

Drittel-Regel

Das Prinzip der "Drittel-Regel" scheint wie selbstverständlich auf den Prozess des Softwaretestens in einer agilen Entwicklungsumgebung anwendbar zu sein. Die Drittel-Regel bezieht sich auf ein imaginäres Raster, das über eine Leinwandfläche gezogen wird und diese in neun gleiche Quadrate unterteilt. Die interessantesten Punkte für Motive befinden sich an den Schnittpunkten dieser Linien. Wenn Sie die wichtigen Elemente auf diesen Punkten/Linien platzieren, entsteht eine ausgewogene Komposition, die dem Auge sofort gefällt.

In ähnlicher Weise liefern Softwaretests, die in einem Drittel der Intervalle des Entwicklungslebenszyklus (Iteration/Sprint) durchgeführt werden, die besten Ergebnisse. Agile schreibt zwar kontinuierliche Interaktionen während des Entwicklungslebenszyklus vor, aber in der Realität bleibt es dem Team überlassen, dies zu bestimmen und auszuführen, was zu einem maßgeschneiderten, personalisierten Prozess führt. Als Faustregel gilt jedoch, dass Interaktionen in Abständen von einem Drittel für den Entwickler und den Tester in dreierlei Hinsicht produktiv sein können.

Automatisierte Regressionen

Eine automatisierte Regressionstestsuite ist ein Muss, um die häufigen Validierungen zu bewältigen, die erforderlich sind. Das ist leichter gesagt als getan, und in der Praxis haben Misserfolge bei diesem Ansatz zu Skepsis gegenüber der Eignung der Testphase in einer Scrum-Umgebung geführt. Der beste Weg, dies zu umgehen, besteht darin, die Automatisierung als ernsthafte Investition zu betrachten und sie daher als vollwertiges Projekt mit der Unterstützung der Beteiligten durchzuführen. Auch bei der Automatisierung hilft die Trennung von Benutzeroberflächen-Automatisierung und funktionaler Automatisierung sehr, diese Tests besser zu organisieren, insbesondere im Hinblick auf die Wahl der Automatisierungstools.

Selenium, ein Open-Source-Tool, könnte beispielsweise für UI-Flow-Tests verwendet werden, während ein SOAP UI-Tool die Tests im Hintergrund ausführt, um die Input-Output-Antworten der Webservices zu prüfen. Eine Automatisierungssuite, die auf einem nächtlichen Build läuft, stellt sicher, dass das, was funktioniert, auch nach der Codeänderung ungestört bleibt - im Grunde ein Regressionstest. Die automatisierte Regression kann auf verschiedenen Ebenen durchgeführt werden, nämlich auf der Ebene der Einheiten, der funktionalen Ebene und der Systemebene. Während die Unit-Ebene der Regression ein Teil der Qualitätssicherung für Entwickler ist, sind die Regressionstests auf Funktions- und Systemebene für den Gesamterfolg der Qualitätssicherung des Produkts von zentraler Bedeutung.

[contact-form-7 id="21032" title="Das Rätsel des Scrum-Testens knacken"]

Verfasst von

Anirban Guha

Software Engineer at coMakeIT

Contact

Let’s discuss how we can support your journey.