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. Modellbasiertes <strong>Test</strong>en<br />

Anforderungen<br />

Modell<br />

Generierung<br />

Generierung<br />

<strong>Test</strong>fallspezifikation<br />

<strong>Test</strong>fälle<br />

γ/α<br />

Manuelle<br />

Verdikte<br />

Code<br />

HW, OS, Legacy<br />

Abbildung 2.6.: Code und <strong>Test</strong>fälle aus Modell generiert<br />

Abb 2.6 verdeutlicht den Zusammenhang mit der Ableitung von <strong>Test</strong>fällen.<br />

Ausgehend von den Anforderungen, werden Modell und <strong>Test</strong>fallspezifikationen<br />

erstellt. Aus dem Modell werden dann <strong>Test</strong>fälle und Produktionscode generiert.<br />

Wenn die Modelle zur <strong>Test</strong>fallgenerierung herangezogen werden, dann können<br />

sie nicht gleichzeitig als Orakel für eine automatisch erzeugte Implementierung<br />

fungieren: Der generierte Code würde ”<br />

gegen sich selbst“ getestet werden. Deshalb<br />

müssen Verdikte nach der Transformation von <strong>Test</strong>fällen (Konkretisierung<br />

γ der Eingaben, Abstraktion α der Ausgaben; vgl. S. 35) manuell gebildet werden.<br />

Die Verwendung von Modellen für die <strong>Test</strong>fallgenerierung in diesem Szenario<br />

ist trotzdem nicht ganz unsinnig. <strong>Zum</strong> einen ist es u.U. einfacher, für bereits<br />

existierende Stimuli die erwarteten Ausgaben manuell zu validieren, als diese<br />

Stimuli selbst zu finden. Vielversprechend ist in diesem Szenario also die Verwendung<br />

von Modellen zur <strong>Test</strong>datengenerierung für die manuelle Validierung<br />

von Maschinen. Durch den höheren Abstraktionsgrad von Modellen und die<br />

eingängigen Beschreibungstechniken erfordern Reviews eines Modells weniger<br />

Einarbeitung als in Code; Fragen zur Systemfunktionalität lassen sich (auch<br />

zusammen mit dem Auftraggeber) effizienter klären.<br />

<strong>Zum</strong> anderen können die <strong>Test</strong>fälle zur Überprüfung von Umweltannahmen<br />

und der Korrektheit von Codegeneratoren oder Übersetzern und insb. Optimierern<br />

(Simon, 1999) verwendet werden. Insbesondere im Kontext kontinuierlicher<br />

<strong>Systeme</strong>, in denen ein formaler Nachweis der Übereinstimmung von<br />

Simulations- und Produktionscodegeneratoren wegen auftretender numerischer<br />

Probleme i.a. sehr schwierig ist, wird der Sinn eines solchen Ansatzes deutlich.<br />

Hier ist das Problem, daß die Semantik der Codegeneratoren nicht exakt festgelegt<br />

oder festlegbar ist und zwei Generate (Produktions- und Simulationscode)<br />

u.U. sogar mit Werkzeugen zweier verschiedener Hersteller erstellt werden, wie<br />

das Beispiel der Erzeugung von Produktionscode aus Matlab-Modellen mit TargetLink<br />

oder Beacon illustriert. Ein weiteres Problem sind Umweltannahmen,<br />

die beispielsweise in Form einer zeitkritischen Einbettung in den Hardware- und<br />

Betriebssystemkontext Einfluß auf die korrekte Funktion des generierten Codes<br />

ausüben.<br />

58

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!