Im vierten Teil unserer Panelserie Agile widmeten wir uns einem zentralen Thema der modernen Softwareentwicklung: Testing im agilen Kontext. Unter der Leitung von Viktor beleuchteten wir die Besonderheiten des Testens in agilen Projekten, tauschten Erfahrungen aus und diskutierten sowohl Herausforderungen als auch praktische Lösungsansätze. 

Klassisches vs. agiles Testing

Agiles Testing ist ein wesentlicher Bestandteil moderner Softwareentwicklung und zeichnet sich durch Flexibilität und iterative Prozesse aus. Vorgegeben durch das Projektumfeld, spiegelt sich dies auch in der Arbeitsweise des agilen Testens wider. Doch wie unterscheidet es sich vom klassischen Testing?  

Agiles Testing ist eng mit iterativen Entwicklungsprozessen verbunden und zielt darauf ab, Fehler frühzeitig während der Entwicklung zu vermeiden. Im Gegensatz zum klassischen Testing, das meist im größeren Umfang nach der Entwicklung stattfindet, erfolgt agiles Testing kontinuierlich während des gesamten Entwicklungsprozesses. Während klassische Ansätze oft unflexibel sind und Änderungen sich aufwendig integrieren, ermöglicht agiles Testing schnelle Anpassungen. Zudem folgt agiles Testing einem inkrementellen Ansatz wie beispielsweise Scrum, im Gegensatz zum klassischen Wasserfallmodell, welches sequentiell erst die Entwicklung und dann einen Testzeitraum vorsieht. Diese Unterschiede machen agiles Testing besonders flexibel und effizient.  

Gleichzeitig unterstreichen diese Differenzierungen jedoch auch die besonderen Anforderungen, die agiles Testing mit sich bringt – und die Herausforderungen, die es zu bewältigen gilt.

Herausforderungen beim agilen Testing

Obwohl agiles Testing viele Vorteile bietet, bringt es auch Herausforderungen mit sich, die sowohl technischer als auch organisatorischer Natur sind.  

Ein zentraler Aspekt ist die Testautomatisierung. Ohne sie könnte das Testing zum Engpass in den kurzen Sprintzyklen werden. Automatisierung hilft, Testphasen zu verkürzen und Kapazitäten für komplexere Aufgaben zu schaffen, wobei der Fokus auf wiederholbaren Tests liegt. Änderungen der Anforderungen stellen eine weitere Herausforderung dar, da das Testing flexibel auf kurzfristige Anpassungen reagieren muss, was eine enge Zusammenarbeit zwischen Entwicklung und Testing erfordert.

Es sollte jedoch nicht der Anspruch bestehen, alles zu automatisieren, da der effektive Mehrwert ab einem gewissen Automatisierungsgrad von Wartungsaufwand eingeholt werden kann. Vielmehr sollte der Fokus darauf liegen, sich wiederholende Tests zu automatisieren oder substanzielle Teile eines Tests automatisiert durchzuführen, wobei nur geringe Prüfbestandteile für die manuelle Beurteilung übrig bleiben. Ein praktisches Beispiel ist die automatisierte Durchführung eines Vertragsabschlusses für eine Privathaftpflichtversicherung, bei dem der Abschluss automatisch läuft, jedoch eine manuelle Prüfung des Versicherungsscheins folgt (zum Beispiel mit dem Fokus auf Layout und Zeilenumbrüche). So wird die Effizienz der Automatisierung genutzt, während kritische Aufgaben weiterhin manuell überprüft werden.

Zudem ist das richtige Maß an Dokumentation entscheidend: Zu viel behindert die Flexibilität, zu wenig erschwert die Nachvollziehbarkeit und verhindert vollständige Transparenz. Schließlich sind unklare Abnahmekriterien in User-Stories ein häufiges Problem, das die Qualität der Tests beeinträchtigen kann, insbesondere bei sich häufig ändernden Akzeptanzkriterien.

Erfahrungsaustausch zu klassischem und agilem Testing

In der Praxis zeigt sich, dass Projekte selten ausschließlich nach einem Ansatz verlaufen. Vielmehr ergibt sich häufig eine Mischung aus klassischem und agilem Testing. Diese hybride Herangehensweise bietet die Möglichkeit, die Stärken beider Ansätze zu nutzen.  

Das Vorgehen im Testing orientiert sich dabei oft an der konkreten Projektstruktur. Agile Methoden sind besonders vorteilhaft, wenn Anforderungen dynamisch sind, da sich Testszenarien im agilen Umfeld flexibel anpassen lassen. Klassische Ansätze hingegen bieten Stabilität und Planbarkeit, was bei komplexeren und weniger dynamischen Anforderungen von Vorteil ist.  

Fazit: Testing als integrativer Prozess

Agiles Testing ist weit mehr als eine Methodik – es ist ein integrativer Prozess, der eng mit der Entwicklung verzahnt ist. Der Schlüssel zum Erfolg liegt in einer ausgewogenen Kombination von Automatisierung, Flexibilität und klaren Qualitätskriterien. Beide Ansätze, klassisches und agiles Testing, haben ihre Daseinsberechtigung und können sich gegenseitig ergänzen. Ein hybrider Ansatz, der sich an der Projektstruktur orientiert, maximiert die Effizienz und Qualität im Testing und kann somit die Grundlage für erfolgreiche Softwareentwicklung schaffen.

Viktor Fast
Autor:in: Viktor Fast
Viktor Fast ist als Business Analyst bei der BBHT Beratungsgesellschaft tätig. Seine analytischen und technischen Fähigkeiten bringt er seit 2017 in die Projekte unserer Kunden ein.

Blogreihe - Regulatory Roadmap

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.