Testmustergenerierung mit Hilfe von ... - ihmor.de
Testmustergenerierung mit Hilfe von ... - ihmor.de
Testmustergenerierung mit Hilfe von ... - ihmor.de
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
3.3. Ab<strong>de</strong>ckung <strong>von</strong> Strukturmerkmalen<br />
Eingabevektoren erfüllen allerdings für (b > a && b > c) nicht das Kriterium. Die drei<br />
vorgestellten Eingabevektoren führen <strong>de</strong>mnach zu einem Ab<strong>de</strong>ckungsgrad <strong>von</strong><br />
cov MC/DC = 2<br />
1 .<br />
3.3.4.4 Pfadab<strong>de</strong>ckung<br />
Die Pfadab<strong>de</strong>ckung (engl. path coverage) ist das umfangreichste Ab<strong>de</strong>ckungskriterium und<br />
for<strong>de</strong>rt die Ausführung aller möglichen Pfa<strong>de</strong> <strong>de</strong>s Testobjektes. Im Beispiel <strong>von</strong> Abbildung<br />
3-11 sind vier Pfa<strong>de</strong> möglich. Bei komplexeren Systemen übersteigt die Ausführung sämtlicher<br />
Pfa<strong>de</strong> allerdings die Möglichkeiten <strong>de</strong>r Tester. Zu<strong>de</strong>m können im Testobjekt<br />
Schleifen ohne obere Grenzen <strong>de</strong>r Iterationszahl vorkommen, wodurch eine unendliche<br />
Anzahl <strong>von</strong> Pfa<strong>de</strong>n zu testen wäre. Aufgrund <strong>de</strong>ssen wird die Pfadab<strong>de</strong>ckung in <strong>de</strong>r Praxis<br />
nur in einfachen, überschaubaren Systemen verwen<strong>de</strong>t und hat in dieser Arbeit keine<br />
weitere Relevanz. Sie wird in <strong>de</strong>r Literatur als C 7 -Ab<strong>de</strong>ckung bezeichnet [Hart01].<br />
3.3.5 Mo<strong>de</strong>llab<strong>de</strong>ckung<br />
Unter Mo<strong>de</strong>llab<strong>de</strong>ckung wird die Ab<strong>de</strong>ckung <strong>von</strong> Mo<strong>de</strong>llkomponenten verstan<strong>de</strong>n. Je nach<br />
Art <strong>de</strong>s vorliegen<strong>de</strong>n Mo<strong>de</strong>lls sind seine Bestandteile sehr unterschiedlich. Ebenso<br />
variieren <strong>de</strong>mentsprechend die Ab<strong>de</strong>ckungskriterien, unter <strong>de</strong>ren Berücksichtigung das<br />
Mo<strong>de</strong>ll getestet wer<strong>de</strong>n soll. Die für die Co<strong>de</strong>ab<strong>de</strong>ckung genannten Kriterien lassen sich<br />
zum Teil auf Mo<strong>de</strong>lle übertragen. Im Folgen<strong>de</strong>n wer<strong>de</strong>n die Ab<strong>de</strong>ckungskriterien für<br />
Mo<strong>de</strong>lle in Simulink und Stateflow beschrieben, da diese vornehmlich in dieser Arbeit<br />
verwen<strong>de</strong>t wer<strong>de</strong>n.<br />
3.3.5.1 Zustandsab<strong>de</strong>ckung<br />
Die Anweisungsab<strong>de</strong>ckung besitzt keine äquivalente Entsprechung bei <strong>de</strong>r Betrachtung<br />
<strong>von</strong> Mo<strong>de</strong>llen. Ein nahe liegen<strong>de</strong>s Ab<strong>de</strong>ckungskriterium ist die Ab<strong>de</strong>ckung <strong>von</strong> Grundblöcken,<br />
aus <strong>de</strong>nen ein Mo<strong>de</strong>ll besteht. Je<strong>de</strong>r Grundblock entspricht dabei in <strong>de</strong>r Regel<br />
einer Menge <strong>von</strong> Anweisungen. Eine Ausprägung in Bezug auf Stateflowmo<strong>de</strong>lle ist die<br />
Zustandsab<strong>de</strong>ckung (engl. state coverage). Das da<strong>mit</strong> verbun<strong>de</strong>ne Testziel ist, je<strong>de</strong>n im<br />
Statechart vorkommen<strong>de</strong>n Zustand (State) <strong>mit</strong>hilfe <strong>de</strong>r Testdaten min<strong>de</strong>stens einmal zu<br />
durchlaufen. Der Ab<strong>de</strong>ckungsgrad errechnet sich hierbei als Verhältnis <strong>de</strong>r durch die Testdaten<br />
abge<strong>de</strong>ckten Zustän<strong>de</strong> <strong>de</strong>s Statecharts und <strong>de</strong>r insgesamt vorhan<strong>de</strong>nen Zustän<strong>de</strong>.<br />
3.3.5.2 Zweigab<strong>de</strong>ckung<br />
Das Kriterium Zweigab<strong>de</strong>ckung kann auf Mo<strong>de</strong>lle übertragen wer<strong>de</strong>n. Zur Erfüllung<br />
dieses Kriteriums wird eine Menge <strong>von</strong> Testdaten benötigt, die für je<strong>de</strong> Verzweigung im<br />
Simulinkmo<strong>de</strong>ll – beispielsweise an Blöcken wie Logical Operator, Relational Operator,<br />
Switch – alle möglichen Werte berechnet. Für das in Abbildung 3-13 gezeigte Mo<strong>de</strong>ll<br />
wer<strong>de</strong>n zwei Eingabevektoren benötigt, um bzgl. <strong>de</strong>r Zweigab<strong>de</strong>ckung das Mo<strong>de</strong>ll ausreichend<br />
zu testen: e = ( 0)<br />
und e = ( 2)<br />
1 2<br />
. Im ersten Fall wür<strong>de</strong> <strong>de</strong>r Block Relational Operator<br />
<strong>de</strong>n Vergleich <strong>mit</strong> falsch bewerten, im zweiten Fall <strong>mit</strong> wahr. Der Ab<strong>de</strong>ckungsgrad dieses<br />
32