Sie befin­den sich hier:Start­sei­te/Blog/White Box Test, Code Covera­ge-Mes­sung und model­ba­sier­tes Tes­ten – geht das zusammen?

White Box Test, Code Coverage-Messung und modelbasiertes Testen – geht das zusammen?

Lese­zeit: 4 Minu­ten
White Box Test, Code Coverage-Messung und modelbasiertes Testen – geht das zusammen?

Für sicherheits­kritische Soft­ware-Sys­te­me in der Luft­fahrt, der Medi­zin oder auch ver­mehrt im Auto­mo­ti­ve Umfeld wer­den Code-Abde­ckungs­nach­wei­se zur Frei­ga­be ver­langt. Hier­für gibt es ver­schie­de­ne Werk­zeu­ge wie Tes­sy der Fir­ma Razor­cat Deve­lo­p­ment GmbH oder Vector­Cast der Fir­ma Vec­tor Soft­ware Ger­ma­ny.

Ziel die­ser Werk­zeu­ge ist es, den Code so zu instru­men­tie­ren, dass mit ent­spre­chen­den Test­vek­to­ren mög­lichst alle Zwei­ge des Codes durch­lau­fen wer­den und des­sen Code­ab­de­ckung gemes­sen wer­den kann. Wel­chen Nut­zen soll­te hier ein modell­ba­sier­tes Vor­ge­hen haben?

Nun, der Auf­wand für den Tes­ter beim Mes­sen der Code-Abde­ckung ist das Erstel­len der Ein­gangs­da­ten für das Soft­ware­mo­dul. Je nach Kom­ple­xi­tät des Moduls kann das sehr ein­fach oder auch belie­big kom­pli­ziert und auf­wän­dig sein.

Beispiel: Restaurantbestellsystem

Ein Restau­rant­be­stell­sys­tem ist zwar nicht sicher­heits­kri­tisch, aber als Bei­spiel gut geeignet.

model 1

Betrach­ten wir ein ein­fa­ches Restau­rant­be­stell­auf­nah­me-Sys­tem, dass neben der Tisch­num­mer, Anzahl der Gäs­te eine begrenz­te Anzahl von Geträn­ken und Spei­sen inklu­si­ve der Prei­se ver­wal­tet. Um in die­sem Sys­tem eine MC/DC (Modi­fied condition/decision covera­ge) Covera­ge zu errei­chen, kommt man schnell auf eine 5‑stellige Anzahl von Input-Vek­to­ren. Die­se z.B. in einem Excel-Sheet zu ver­wal­ten und bei etwa­igen Ände­run­gen der Spei­se­kar­te zu über­ar­bei­ten, ist schon mit einem gro­ßen Auf­wand verbunden.

Eine alter­na­ti­ve Beschrei­bung des glei­chen Pro­blems mit einem Test­mo­dell wür­de eini­ge weni­ge Dia­gram­me benö­ti­gen. Die nöti­gen cir­ca 20.000 Test­vek­to­ren könn­ten dar­aus inner­halb von weni­gen Minu­ten erzeugt wer­den und Ände­run­gen wären prak­tisch kein Auf­wand mehr.

Die MBT­suite lie­fert daher bereits Schnitt­stel­len für Tes­sy und Vector­Cast. Für alle, die mit grö­ße­ren Men­gen von Test­vek­to­ren kämp­fen müs­sen, wür­de sich ein modell­ba­sier­tes Arbei­ten sehr schnell auszahlen.

restaurant 2
restaurant 3

Sie möch­ten mehr über den modell­ba­sier­ten Ansatz und den Ein­satz der MBT­suite erfah­ren? Dann spre­chen Sie mich bit­te jeder­zeit an. Ich freue mich auf das Gespräch mit Ihnen.

Kommentare und Feedback gerne via Social Media:

Blei­ben Sie auf dem Lau­fen­den – mit dem monat­li­chen sepp.med Newsletter: