Die Überprüfung der Software ist ein wichtiger Bestandteil jeder Softwareentwicklung. Welcher Aufwand hierfür angemessen ist, hängt von dem durch die Software verursachten Risiko ab. Im Fall sicherheitskritischer Anwendungen sind es typischerweise 50 bis 70% des gesamten Software-Entwicklungsbudgets. Derartige Anwendungen sind beispielsweise Steuersysteme im Flugzeug- und Automobilbau, oder zentrale Satellitensysteme. Bei nicht sicherheitskritischen Systemen müssen für Softwaretests etwa 30% des Entwicklungsbudgets eingeplant werden, damit die korrekte Funktionsweise des Systems sichergestellt ist.
Die DLR Simulations- und Softwaretechnik verfügt über langjährige und umfangreiche Erfahrungen mit der Planung, Durchführung und Weiterentwicklung von Test- und Analyseverfahren im gesamten Softwareentwicklungsprozess. Die DLR Simulations- und Softwaretechnik bietet Unterstützung an bei der Planung, Spezifkation, Automatisierung und Durchführung der Tests, sowie bei der Auswahl geeigneter Testwerkzeuge. Die Erfahrungen im Softwaretest erstrecken sich vom Test graphischer Benutzeroberflächen über Tests von Simulationscodes bis hin zum Test von Software in eingebetteten Systemen.
In aktuellen Forschungsprojekten beteiligt sich die DLR Simulations- und Softwaretechnik an der Weiterentwicklung von Testverfahren für eingebettete (kritische) Systeme, an die besonders hohe Anforderungen hinsichtlich ihrer funktionalen und zeitlichen Korrektheit sowie ihrer Integrität gestellt werden. Herkömmliche Testverfahren mit dem Ziel einer möglichst hohen Überdeckung von Pfaden oder Anweisungen sind in der Regel für solche Systeme unzureichend.
Zusätzlich müssen derartige Systeme noch eingebunden in das technische Umfeld getestet werden, damit die Wechselwirkungen zwischen Steuergerät und der Dynamik des technischen Systems überprüft werden können. Typischerweise erfolgen diese Softwaretests in Hardware-in-the-Loop-Testumgebungen. Der Nachteil hierbei sind hohe Kosten, eine geringe Flexibilität, sowie ein Ressourcenengpass durch die notwendige Spezialhardware. Eine Alternative ist der Software-in-the-Loop-Testansatz. In dem BMBF-Verbundprojekt SiLEST wurde in Kooperation mit der Automobilindustrie ein Testprozess und eine Testautomatisierung entwickelt, die für alle In-the-Loop-Testansätze genutzt werden können. Damit kann bereits frühzeitig im Software-Entwicklungsprozess die Funktionalität einer Gerätesoftware, eingebettet in das dynamische System, überprüft werden. Der Testaufwand wird durch die Wiederverwendung der Testfälle über den kompletten Entwicklungszyklus hinweg und die Testautomatisierung auf ein Minimum reduziert.