Anforderungsbasiertes Testen Richtig verbunden?

Zentrales Element in einer Werkzeugkette, die ein anforderungsbasiertes Testvorgehen unterstützt, ist ein Testmanagement, das die Verbindung zur Anforderungswelt herstellt und die verwendeten Testwerkzeuge und Testumgebungen anbindet. Die Verlinkung von Anforderungen, Testfällen und Testergebnissen liefert dabei die gewünschte vollständige Nachvollziehbarkeit, ermöglicht die gezielte Absicherung von Anforderungen und ist Basis für umfassende Übersichten und Reports zur Anforderungsabdeckung.

Neue Normen haben im Rahmen der Embedded-Software-Entwicklung neue technische Möglichkeiten und Kundenwünsche in den vergangenen Jahren zu wachsenden Anforderungen geführt. Die Validierung und Verifikation von Embedded Software gegen verschiedene Anforderungen und für eine Vielzahl von Varianten, die Fähigkeit, die aktuelle Abdeckung der Anforderungen jederzeit vor Augen zu haben, und die Umsetzung eines effizienten, anforderungsbasierten Testprozesses sind mehr denn je wichtige Schlüssel zum Erfolg. Im Testalltag stellen sich somit unter anderem folgende Fragen:

  • Wie lässt sich eine Anforderung oder ein bestimmter Satz von Anforderungen testen?
  • Wie kann überprüft werden, ob sämtliche Anforderungen getestet und erfüllt werden?
  • Wie kann effizient auf Anforderungsänderungen reagiert werden?

Bei der Beantwortung solcher Fragen und zur Implementierung eines effizienten, anforderungsbasierten Testprozesses ist eine Werkzeugkette, die die Anforderungswelt und die Testwelt verbindet, von entscheidender Bedeutung.

Die Anforderungswelt

Voraussetzung für anforderungsbasiertes Testen ist natürlich, dass die zu überprüfenden Anforderungen erfasst werden und vorliegen – egal ob es sich um funktionale Anforderungen, Sicherheitsanforderungen oder bereits konkrete Testanforderungen handelt. Nachfolgend wird allgemein die Bezeichnung Anforderungen verwendet, wenn eine Unterscheidung der Anforderungstypen nicht nötig ist.

Eine systematische Erfassung der Anforderungen wird spätestens seit Einführung der Norm ISO 26262 für funktionale Sicherheit in der Automobil­industrie adressiert. Meist sind daher schon Anforderungsmanagement-­Lösungen im Einsatz; wo das noch nicht der Fall ist, werden Anforderungen vielfach in Word- oder Excel-Dateien erfasst.

Unabhängig von den verwendeten Werkzeugen ist die Anforderungswelt, bestehend aus unterschiedlichen Anforderungstypen, Dokumenten, Anforderungsebenen, Rollen, Zuständigkeiten und Prozessen, komplex und unterscheidet sich von Unternehmen zu Unternehmen und häufig auch innerhalb eines Unternehmens.

Schnittstelle zur Testwelt

Für ein anforderungsbasiertes Testvorgehen ist es wichtig, die Schnittstelle zwischen Anforderungswelt und Testwelt zu verstehen. Wer leitet Testanforderungen aus funktionalen, aus nichtfunktionalen oder aus Sicherheitsanforderungen ab? Werden bereits im Anforderungsmanagement oder in separaten Dokumenten textuelle Testanforderungen erstellt, gegen die Tests zu erstellen sind und gegen die getestet wird? Oder erfolgt eine Ableitung von Testfällen erst durch den Tester und in der Testwelt? In jedem Fall müssen auf Basis der verfügbaren Anforderungen Testfälle abgeleitet und erstellt werden.

Je nach Ausprägung der Anforderungswelt sind die Testfälle direkt mit funktionalen Anforderungen verlinkt oder verweisen auf bereits existierende Testanforderungen. Dabei hängt es sowohl vom Detaillierungsgrad der Anforderungen als auch von der Granularität der Testfälle ab, in welcher Beziehung Anforderungen und Testfälle zueinander stehen. Eine 1:N-Beziehung liegt beispielsweise dann vor, wenn eine Anforderung mit Hilfe mehrerer Testfälle überprüft wird und dementsprechend mit mehreren Testfällen verlinkt ist.