Warum ist Anforderungsmanagement für den Software-Test so wichtig?
Anforderungsmanagement sorgt dafür, dass alle Beteiligten dasselbe Bild davon haben, was eine Software leisten soll. Fachbereich, Entwicklung und Test sollen unter einer Anforderung dasselbe verstehen und später nachvollziehen können, woher sie stammt. Davon hängt ab, wie gut der Test werden kann. Umgekehrt legt jeder Testfall, den wir entwerfen, Schwächen in den Anforderungen offen.
Sind die Anforderungen halbgar, gleicht selbst ein guter Test einer Schatzsuche. Wir testen vielleicht in die falsche Richtung oder vergessen wichtige Aspekte. Steht in der Anforderung dagegen, welches Ergebnis das System bei welcher Eingabe liefern soll, lässt sich daraus direkt ein Testfall mit erwartetem Ergebnis ableiten.
Im ISTQB-Glossar heißt alles, woraus Tests entstehen, Testbasis: alle Informationen, die als Grundlage für Testanalyse und Testentwurf dienen können. Aus ihr leitet das Team in der Testanalyse ab, was es testen soll, und legt dafür messbare Überdeckungskriterien fest.
Muss jede Anforderung detailliert spezifiziert sein?
Nein. User Stories mit Akzeptanzkriterien, Diagramme oder Scribbles tun es auch. Es kommt darauf an, dass in allen Köpfen ein ähnliches Bild der Anforderungen verankert ist.
Akzeptanzkriterien helfen dabei besonders. Sie beschreiben die Bedingungen, die eine Umsetzung erfüllen muss, damit die Stakeholder sie akzeptieren. Damit sind sie zugleich die Testbedingungen, die die Tests ausführen sollen. Sie entstehen meist im Gespräch, etwa beim gemeinsamen Schreiben von User Stories oder im Refinement des Backlogs. Ob das Team sie als Gegeben/Wenn/Dann-Szenario oder als Regelliste formuliert, ist zweitrangig. Klar und eindeutig müssen sie sein.
Wie wird das Testfall-Design zum Review der Anforderungen?
Jedes Mal, wenn wir Testfälle entwerfen, nehmen wir die Anforderungen erneut unter die Lupe, bewusst oder unbewusst. Ist alles logisch? Fehlen wichtige Szenarien? Passt der Anforderungstext zu den gewünschten Ergebnissen? So wird jedes Testfall-Design gleichzeitig zum Review der Anforderungen. Diesen Effekt unterschätzen wir oft. Dabei finden wir Fehler auf diesem Weg früh, solange sie noch wenig kosten.
Im ISTQB-Lehrplan Foundation Level gehört dieser Blick fest zur Testanalyse: Das Team prüft dort die Testbasis auch auf Fehlerzustände und auf Testbarkeit. Typisch für Anforderungen sind Inkonsistenzen, Mehrdeutigkeiten, Widersprüche, Auslassungen, Ungenauigkeiten und Duplikationen. Der frühe Blick lohnt sich, denn ein Fehlerzustand, den das Team früh beseitigt, verursacht keine weiteren in abgeleiteten Arbeitsergebnissen.
Als Tester sind wir hier besonders kritisch. Lässt sich aus einer Anforderung kein guter Testfall ableiten, müssen wir die Lücke klären. Architekten und Entwickler füllen solche Lücken oft automatisch, mit Kreativität und logischem Verknüpfen. Dem Tester bleibt nur die Rückfrage beim Anforderer.
Verfolgbarkeit hält Anforderungen und Tests zusammen
Anforderungen bleiben selten so, wie jemand sie zuerst aufgeschrieben hat. Die Anforderungsanalyse verfeinert die Projektziele zu konkreten Anforderungen. Das Anforderungsmanagement behält danach den Überblick, wenn sie sich ändern.
Im Test geschieht das über Verfolgbarkeit. Sie verbindet über den gesamten Testprozess die Bestandteile der Testbasis mit den zugehörigen Testbedingungen und Testfällen, den Testergebnissen und den Fehlerzuständen. Über die Verbindung von Testfällen zu Anforderungen lässt sich prüfen, ob Testfälle jede Anforderung überdecken. Ändert sich eine Anforderung, zeigt dieselbe Verbindung, welche Tests betroffen sind.
Damit das klappt, braucht jede Anforderung eine eindeutige Kennung und einen nachvollziehbaren Stand. Das ist Aufgabe des Konfigurationsmanagements: Es kennzeichnet Elemente eindeutig, versioniert sie und verfolgt ihre Änderungen, damit die Verfolgbarkeit über den ganzen Testprozess hält.
Für eine Anforderungsmanagement-Software heißt das: Sie hält Anforderung, Testfall, Testergebnis und Fehlerzustand verbunden. Das kann ein eigenes Werkzeug leisten oder ein Testmanagementwerkzeug, das Anforderungen, Tests, Fehlerzustände und Konfiguration gemeinsam verwaltet.
Was KI bei der Prüfung von Anforderungen leistet
Neu ist, dass uns dabei künstliche Intelligenz unterstützt. Sie arbeitet wie ein statisches Analysetool für Anforderungen. Vier Beispiele:
- Konsistenzprüfung: Die KI sucht in den Requirements nach Widersprüchen. Vielleicht ist Feature A laut Anforderung X Pflicht, kollidiert aber mit Anforderung Y.
- Sprachliche Klarheit: Eine KI erkennt Mehrdeutigkeiten oder Füllwörter, die viel Raum für Interpretation lassen. So fallen schwammige Formulierungen auf, bevor jemand danach testet.
- Vollständigkeits-Check: Kein Requirement soll unbemerkt fehlen. KI-basierte Tools können Lücken in der Spezifikation erschnüffeln, bevor sie in der Testphase Ärger machen.
- Traceability und Impact-Analyse: Ändert sich ein Requirement, verfolgt die KI die Änderung durch alle betroffenen Bereiche. Sie zeigt, welche anderen Features und Tests davon betroffen sind. Niemand muss dafür alle Dokumente von Hand durchforsten.
Der ISTQB-Lehrplan zum Testen mit generativer KI beschreibt dieselben Einsatzfelder. Große Sprachmodelle können in der Testbasis Unklarheiten, Inkonsistenzen und fehlende Informationen markieren. Sie können Anforderungen und User Stories den Testbedingungen zuordnen und so zeigen, wo die Überdeckung Lücken hat. Und sie können Fragen vorschlagen, mit denen das Team Anforderungen im Gespräch mit den Stakeholdern klärt.
Es gibt auch eine Grenze. Ein Sprachmodell kann halluzinieren und zum Beispiel Testfälle vorschlagen, die nicht existierende Akzeptanzkriterien prüfen. Jeder Befund der KI braucht deshalb jemanden, der ihn gegen die Anforderung hält und bewertet.
Anforderungen und Test arbeiten an derselben Frage
In kurzen Iterationen bleibt wenig Zeit, eine Lücke in den Anforderungen erst kurz vor dem Release zu finden. Sie sollte früher auffallen: beim Schreiben der Akzeptanzkriterien oder spätestens beim Entwurf der Testfälle. Anforderungsmanagement und Test arbeiten dabei an derselben Frage: Was soll die Software leisten? Der Test stellt sie mit jedem Testfall neu. Das Anforderungsmanagement sorgt dafür, dass die Antwort auch nach jeder Änderung noch stimmt.
Häufig gestellte Fragen
Welche Probleme entstehen beim Testen durch unklare Anforderungen an Software?
Unklare Anforderungen schicken den Test in die falsche Richtung oder lassen wichtige Aspekte aus. Typische Schwächen sind Mehrdeutigkeiten, Widersprüche und Auslassungen. Lässt sich aus einer Anforderung kein eindeutiger Testfall ableiten, muss der Tester beim Anforderer nachfragen. Bleibt der Fehlerzustand unentdeckt, verursacht er weitere in abgeleiteten Arbeitsergebnissen und wird später teurer.
Was sollte eine Software für Anforderungsmanagement aus Testsicht können?
Sie sollte jede Anforderung eindeutig kennzeichnen, versionieren und Änderungen nachverfolgen. Vor allem muss sie Anforderungen mit Testfällen, Testergebnissen und Fehlerzuständen verbinden. Erst dann zeigt sie, ob Tests jede Anforderung überdecken und welche Tests eine Änderung betrifft. Ob das ein eigenes Werkzeug oder ein Testmanagementwerkzeug leistet, hängt vom Projekt ab.
Was bedeutet Anforderungsüberdeckung im Test?
Anforderungsüberdeckung gibt in Prozent an, welcher Anteil der Anforderungen durch Testfälle überdeckt ist. Grundlage ist die Verfolgbarkeit zwischen Anforderungen und Testfällen. Legt das Team messbare Überdeckungskriterien schon in der Testbasis fest, dienen sie als Kennzahl dafür, wie weit es die Testziele erreicht hat.


