White Box Test, Code Coverage-Messung und modelbasiertes Testen – geht das zusammen?
Für sicherheitskritische Software-Systeme in der Luftfahrt, der Medizin oder auch vermehrt im Automotive Umfeld werden Code-Abdeckungsnachweise zur Freigabe verlangt. Hierfür gibt es verschiedene Werkzeuge wie Tessy der Firma Razorcat Development GmbH oder VectorCast der Firma Vector Software Germany.
Ziel dieser Werkzeuge ist es, den Code so zu instrumentieren, dass mit entsprechenden Testvektoren möglichst alle Zweige des Codes durchlaufen werden und dessen Codeabdeckung gemessen werden kann. Welchen Nutzen sollte hier ein modellbasiertes Vorgehen haben?
Nun, der Aufwand für den Tester beim Messen der Code-Abdeckung ist das Erstellen der Eingangsdaten für das Softwaremodul. Je nach Komplexität des Moduls kann das sehr einfach oder auch beliebig kompliziert und aufwändig sein.
Beispiel: Restaurantbestellsystem
Ein Restaurantbestellsystem ist zwar nicht sicherheitskritisch, aber als Beispiel gut geeignet.
Betrachten wir ein einfaches Restaurantbestellaufnahme-System, dass neben der Tischnummer, Anzahl der Gäste eine begrenzte Anzahl von Getränken und Speisen inklusive der Preise verwaltet. Um in diesem System eine MC/DC (Modified condition/decision coverage) Coverage zu erreichen, kommt man schnell auf eine 5‑stellige Anzahl von Input-Vektoren. Diese z.B. in einem Excel-Sheet zu verwalten und bei etwaigen Änderungen der Speisekarte zu überarbeiten, ist schon mit einem großen Aufwand verbunden.
Eine alternative Beschreibung des gleichen Problems mit einem Testmodell würde einige wenige Diagramme benötigen. Die nötigen circa 20.000 Testvektoren könnten daraus innerhalb von wenigen Minuten erzeugt werden und Änderungen wären praktisch kein Aufwand mehr.
Die MBTsuite liefert daher bereits Schnittstellen für Tessy und VectorCast. Für alle, die mit größeren Mengen von Testvektoren kämpfen müssen, würde sich ein modellbasiertes Arbeiten sehr schnell auszahlen.
Sie möchten mehr über den modellbasierten Ansatz und den Einsatz der MBTsuite erfahren? Dann sprechen Sie mich bitte jederzeit an. Ich freue mich auf das Gespräch mit Ihnen.