Eine fehlerfreie Software zu entwickeln, insbesondere für komplexe und geschäftskritische Anwendungen, ist immer eine Herausforderung. Dennoch hat sich die Qualitätssicherung in der Softwareentwicklung inzwischen so weit entwickelt, dass die Anzahl von Systemfehlern erheblich reduziert werden kann.
In Enterprise-Projekten dominieren bisher spezifikationsbasierte, effizienzbasierte und strukturbasierte Testentwurfsverfahren. Risikobasiertes Testen hingegen spielte bislang eine untergeordnete Rolle. Angesichts der steigenden Komplexität und des Umfangs von Software stellt sich die Frage, unter welchen Bedingungen risikobasiertes Testen eine größere Rolle spielen könnte.
Risikobasiertes Testen, wie es im ISTQB-Glossar definiert ist, orientiert sich an Risikotypen und Risikostufen bei der Auswahl, Priorisierung und Anwendung von Testaktivitäten und Ressourcen. Die Stärke des risikobasierten Testens liegt also in der gezielten Fehlerfindung in den System- oder Softwareteilen mit dem höchsten Risiko. Die effiziente Steuerung von Testaufwänden, wie Testspezifikation, Testskript-Erstellung und Testdurchführung, ermöglicht eine zielgerichtete Teststrategie. Transparente Kommunikation während des gesamten Prozesses, involviert man Projektleiter, Kunden und weitere Verantwortliche, trägt dazu bei, exzellente Ergebnisse zu erzielen.
Schwächen des risikobasierten Testens
Jedoch weist das risikobasierte Testen auch Schwächen auf, insbesondere bei der Identifikation und Auswahl der zu erstellenden Tests. Hier fehlt eine ausreichende Systematik, und die Qualität der Ergebnisse hängt oft stark von der Person ab, die die Tests auswählt. Eine transparente Kommunikation allein kann grobe Fehler bei der Testauswahl nicht vollständig verhindern. Dies führt dazu, dass die Testergebnisse oft nur bedingt aussagekräftig sind, insbesondere wenn sie überwiegend positiv sind.
Um die Identifikation der Tests zu systematisieren und die Stärken des risikobasierten Testens voll auszuschöpfen, setzen neue, toolgestützte Ansätze auf belastbare und nachvollziehbare Daten. Diese Daten stammen aus verschiedenen Quellen wie Versionierungstools, Bug-Reporting-Tools und Tools zur Messung der strukturellen Source Code-Abdeckung. Die systematische Auswertung dieser Daten ermöglicht es, Tests mit höchster Priorität zuerst zu erstellen und durchzuführen. Nach der ersten Durchführung können die Ergebnisse systematisch analysiert werden, und Tests können gezielt ergänzt werden.
Wann eignet sich risikobasiertes Testen?
Insgesamt zeigen sich risikobasierte Testentwurfsverfahren als empfehlenswert für verschiedene Anwendungsszenarien. Besonders in Tests von sehr großen, komplexen Software-Systemen sowie in Situationen, in denen erfolgskritische Aspekte nicht effizient mit Requirements definierbar sind, erweisen sie sich als nützlich. Auch bei der Notwendigkeit eines schnellen Feedbacks über Softwareänderungen, bei denen die Ausführung aller Tests länger als eine Nacht dauert, sowie in sicherheitsrelevanten Software-Systemen in frühen Entwicklungsphasen können risikobasierte Testentwurfsverfahren ihre Stärken ausspielen.
Angesichts der kontinuierlichen Zunahme der Komplexität von technischen Systemen wird die Softwareentwicklung weiterhin eine entscheidende Rolle spielen. Risikobasiertes Testen könnte sich dabei langfristig als immer bedeutender erweisen, insbesondere wenn die neuen toolgestützten Ansätze erfolgreich in der Praxis umgesetzt werden können.
Entdecken Sie die Vorteile von Q12-TMT und optimieren Sie Ihr Testmanagement in agilen Umgebungen! Besuchen Sie die TMT-Webseite, um mehr über unsere Lösung zu erfahren.