Software Unit Testing
Generell bilden die Simulationsmöglichkeiten im Umfeld der modellbasierten Software-Entwicklung auch zum Testen eine geeignete Plattform. TargetLink unterstützt die von der ISO 26262 als geeignet angesehenen Testlevel Model-in-the-Loop (MiL), Software-in-the-Loop (SiL) und Processor-in-the-Loop (PiL). PiL-Tests sind auch geeignet, um im Rahmen des Software-Unit-Tests geforderte Ressourcen-Bedarfsnachweise wie Laufzeitmessungen zu erbringen, da in diesem Modus der Target Compiler und die Target Hardware im Spiel sind (Bild 3).
Um nachzuweisen, dass die Software-Units den Software-Unit-Spezifikationen entsprechen und keine unerwünschten Funktionen enthalten, sind sowohl funktionale als auch strukturelle Tests durchzuführen. Darüber hinaus empfiehlt ISO 26262 für alle ASILs die Durchführung von Back-to-Back-Tests zwischen Simulations-Modell und automatisch erzeugtem Code.
Externe Testwerkzeuge, welche die Ableitung von Testvektoren aus den Anforderungen, die Ausführung von Tests in den oben angeführten Simulationsmodi MiL, SiL, PiL sowie die Auswertung und Dokumentation der Testergebnisse unterstützen, stehen dem Simulink/TargetLink-Anwender zur Verfügung [10, 11]. Auch für den Nachweis der für die unterschiedlichen ASIL geforderten strukturellen Abdeckung auf Modell- und Code-Ebene gibt es entsprechende Werkzeugunterstützung [12, 13, 14, 15].
Software-Integration und -Test
Bei der modellbasierten Entwicklung erfolgt die Software-Integration durch die Integration der Komponenten-Modelle auf Modellebene. Hierzu wird das im Software-Architektur-Design erstellte Software-Architektur-Modell verwendet. Aus diesem Integrations-Modell kann Code für die Verschaltung der einzelnen Komponenten-Modelle erzeugt werden. Der in der Software-Unit-Testphase bereits abgesicherte Code für die einzelnen Komponenten-Modelle muss hingegen nicht neu erzeugt werden.