Woher wissen wir eigentlich, ob unsere (sicherheits-)kritischen Anforderungen ausreichend getestet sind?
Insbesondere für Safety-kritische Systeme (Medizintechnik, Fahrerassistenzsysteme, Flugsteuerung, …) ist der Abgleich zwischen Anforderungen, Code und Tests inzwischen sogar rechtlich erforderlich. Die entsprechenden Standards für solches Requirements-Tracing gehen dabei von einem Wasserfall-artigen Prozess aus, an dessen Anfang die Anforderungen festgelegt werden, die sich anschließend praktisch nicht mehr ändern. Einen solchen Prozess gibt es allerdings, nach unserer Erfahrung, praktisch nicht.
Vielmehr ändern sich sowohl die Anforderungen als auch Code und Tests iterativ. Sicherzustellen, dass alles drei konsistent zueinander ist, können wir in so einem Szenario eigentlich nur, wenn es sich automatisch bei jeder Änderung aktualisiert und so fortlaufend im Blick überwacht werden kann.
In meinem Vortrag stelle ich modernes, leichtgewichtiges Requirements-Tracing vor, diskutiere die zentralen Herausforderungen bei der Umsetzung und zeige, wie wir mit unseren Kunden eine automatisierte Lösung durch Kombination von statischer Codeanalyse, der Analyse von Anforderungsspezifikationen und von Testergebnissen gestalten konnten.