28.12.2013 Aufrufe

Zum modellbasierten funktionalen Test reaktiver Systeme

Zum modellbasierten funktionalen Test reaktiver Systeme

Zum modellbasierten funktionalen Test reaktiver Systeme

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

2.2. <strong>Test</strong>en<br />

Beispiel 3 (<strong>Test</strong>ziel, <strong>Test</strong>fallspezifikation, <strong>Test</strong>fall). Im Fall der Chipkarte<br />

ist eine relevante Eigenschaft E die, daß eine Signatur nur dann berechnet<br />

werden kann, wenn die zugehörige PIN verifiziert ist. Bei intuitivem Verständnis<br />

der Zustandsprädikate lautet die zugehörige Formel<br />

E ′ ≡ AG(CardResponse = SignatureComputed ⇒ PINStatus = Verified). 4<br />

E und E ′ sind das <strong>Test</strong>ziel. Eine zugehörige <strong>Test</strong>fallspezifikation beschreibt dann<br />

eine endliche Menge endlicher Kommandofolgen, die schließlich das Kommando<br />

zur Berechnung der digitalen Signatur enthalten.<br />

• Das können z.B. alle Traces des zugehörigen Modells bis zur Länge 5<br />

sein, die vom zugehörigen <strong>Test</strong>fallgenerator mit einem Kommando der<br />

Art ”<br />

computeAllTracesUpToLength(5)“ berechnet werden. Da diese Tracemenge<br />

sehr groß ist, wird in der Praxis ein weiteres Selektionskriterium<br />

angewendet, z.B. ”<br />

zufällig ausgewählte 2% aller Traces der Länge 5“. Die<br />

berechneten Traces sind dann die <strong>Test</strong>fälle.<br />

• Da der Status der PIN in der tatsächlichen Karte nun noch nicht überprüft<br />

wurde, muß an jeden dieser Traces eine Kommandosequenz angehängt<br />

werden, die den Zustand der PIN überprüft. Dazu kann das Kommando<br />

VerifyCheck“ verwendet werden, das für eine gegebene PIN deren Status<br />

liefert. In der <strong>Test</strong>fallspezifikation muß also spezifiziert werden, daß<br />

”<br />

an jeden erzeugten Trace der Länge 5 das Kommando VerifyCheck“ angehängt<br />

”<br />

wird.<br />

Offenbar stellt die Einschränkung auf Traces der Länge 5 eine Approximation<br />

der ursprünglichen Eigenschaft E ′ dar, die für alle Traces spezifiziert wurde.<br />

Darüberhinaus ist nicht gewährleistet, daß das Kommando ”<br />

VerifyCheck“ auch<br />

tatsächlich den in der Karte vorhandenen Status der PIN ausgibt. Das kann<br />

durch weitere Kommandos überprüft werden, auf die die Karte in Abhängigkeit<br />

vom tatsächlichen internen PIN-Zustand unterschiedliche Antworten liefert.<br />

Dieses Beispiel wird in Beispiel 13 auf den Seiten 77 ff. weiter ausgeführt.<br />

Die Unterscheidung ist nicht trennscharf: <strong>Test</strong>ziele können bereits <strong>Test</strong>fallspezifikationen<br />

oder sogar <strong>Test</strong>fälle sein.<br />

Intuitiv ergibt sich eine ungefähre Analogie, wenn<br />

• <strong>Test</strong>ziele mit Lasten- oder Pflichtenheften,<br />

• <strong>Test</strong>fallspezifikationen mit Spezifikationsdokumenten und<br />

• <strong>Test</strong>fälle mit (Maschinen-)Implementierungen<br />

verglichen werden. Der Übergang von <strong>Test</strong>ziel zu <strong>Test</strong>fallspezifikation kann,<br />

wenn ersteres formalisiert vorliegt, als Verhaltensverfeinerung verstanden werden.<br />

Dasselbe gilt für den Übergang von <strong>Test</strong>fallspezifikationen zu <strong>Test</strong>fällen.<br />

4 Dabei wird der Einfachheit halber davon abstrahiert, daß in der WIM die Berechnung der<br />

Signatur die PIN wieder in einen nicht-verifizierten Zustand versetzt, vgl. Beispiel 13 auf<br />

S. 77 ff.<br />

29

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!