Forum Safety and Security 2020

Alexander Weiss: Dynamische und strukturelle Tests auf höheren Ebenen

Fehlerfreie Software ist ein unerfüllbarer Traum. Jedoch muss eine Annäherung an dieses Ideal eines der wichtigsten Entwicklungsziele sein, besonders im Bereich der sicherheitskritischen Systeme. Neben einer wohl überlegten Systemarchitektur und einer guten Implementierung sind daher (a) möglichst vollständige funktionale und strukturelle Tests und (b) Vorkehrungen für den Umgang mit Fehlern im Feld unbedingte Voraussetzungen, um die maximal mögliche Sicherheit für ein System zu erreichen. Die entscheidende Voraussetzung für umfassende Tests und effiziente Fehlersuche ist die Beobachtbarkeit, idealerweise ohne das System dabei zu beeinflussen. Bei den funktionalen Tests wird die automatische Überprüfung von Timing-Constraints (dynamische Analyse von Wirketten) immer bedeutsamer, bei den strukturellen Tests wird es zunehmend wichtiger, diese auch auf höheren Testebenen (Integrations- und Systemtests) durchführen zu können. Im Vortrag wird ein Überblick über neue Ansätze zum Umgang mit diesen Herausforderungen gegeben. Es wird erläutert und demonstriert, wie Timing-Constraints mittels einer Hochsprache beschrieben werden und wie sich kleinste Timingverletzungen selbst in langen Testläufen vollautomatisiert erkennen lassen. Der Teilnehmer lernt, wie er die Anzahl verbleibender Fehler im Release-Code abschätzen kann, welche Fehlertypen durch Tests auf höheren Ebenen erkannt werden können und welche Vorkehrungen er in seinem Hard- und Softwaredesign treffen sollte, um möglichst effizient testen und später debuggen zu können.