22.11.2013 Aufrufe

Modellbasierte Anforderungsspezifikation sicherheitskritischer ...

Modellbasierte Anforderungsspezifikation sicherheitskritischer ...

Modellbasierte Anforderungsspezifikation sicherheitskritischer ...

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.

forderungen bei der Testfallgenerierung ist wünschenswert, aber momentan noch Ziel umfangreicher<br />

Forschung und für den Produktionseinsatz noch nicht verfügbar. Ähnliches gilt<br />

auch für kontinuierliche Systeme: Teststrategien für kontinuierliche Systeme wären wünschenswert<br />

(insbesondere, da die SysML derartige Konstrukte explizit unterstützt), sind<br />

aber noch nicht in Form fertiger Produkte verfügbar.<br />

(d) Modellierungsparadigma [UPL06, S. 7] - durch dieses Merkmal wird festgelegt, durch welchen<br />

Modellierungsansatz das Modell erstellt wurde. Im Rahmen des zitierten Papiers fallen<br />

UML und SysML-Modell in die Kategorie der Transitions-basierten Notationen (Zustandsmaschinen)<br />

bzw. Datenfluss-basierten Notationen (Aktivitätsdiagramme).<br />

(e) Testfallgenerierung [UPL06, S. 8/9] - hierbei wird unterschieden, wie Testfälle aus dem<br />

Modell abgeleitet werden. Relevant für die hier angestellten Betrachtungen ist dabei nur<br />

die Unterscheidung in manuelle und automatische Testfallgenerierung. Zur Erfüllung von<br />

Ziel B muss das Werkzeug die automatische Generierung von Testfällen unterstützen.<br />

6.4.5.3. Verfahren und Werkzeuge<br />

Aus den Zielen in Abschnitt 6.4.5.1 und Taxonomie für die Testfallgenerierung im vorherigen<br />

Abschnitt 6.4.5.2 lassen sich das im Folgenden beschriebene, prinzipielle Verfahren und Aussagen<br />

zu den benötigten Werkzeugen ableiten.<br />

Die Umsetzung von Ziel A ist unabhängig von der vorgestellten Taxonomie und erfolgt durch<br />

die Verwendung eines modellbasierten Testausführungswerkzeuges. Dieses soll das Freischneiden<br />

des Systems entlang der in der Systemabgrenzungssicht definierten Systemgrenze, die Stimulierung<br />

des Systems mit den Eingabestimuli aus den Szenarien und die Aufzeichnung der<br />

Reaktionen des Systems ermöglichen. Ein Beispiel für ein geeignetes Werkzeug für UML/SysML-<br />

Umgebungen ist der TestConductor der OSC AG, der sich in IBM/telelogic Rhapsody integrieren<br />

lässt [OSC08-1] und der im Rahmen dieser Arbeit verwendet wurde. Bei entsprechender sorgfältiger<br />

Erstellung der Szenariensicht 4 können deren Diagramme direkt als Testfälle verwendet<br />

werden. Auch die Testausführung erfolgt weitgehend automatisiert: Aus dem ausführbaren Modell<br />

wird Quellcode erzeugt, dieser wird compiliert, ausgeführt und das Modell daraufhin den<br />

in den Testfällen definierten Stimuli (in Form der auf das SuB zulaufenden Nachrichten) unterworfen.<br />

Die Antworten des Modells werden vom TestConductor aufgezeichnet und mit den<br />

in den Szenarien vorgegebenen Soll-Ausgaben (entsprechen den aus dem SuB herausströmenden<br />

Nachrichten) verglichen. Das Ergebnis dieses Vergleichs bestimmt anschließend das Urteil<br />

darüber, ob der Testfall bestanden wurde oder nicht.<br />

Die Erreichung von Ziel B erfordert eine Analyse des tatsächlich vorliegenden Modellverhaltens<br />

und eine darauf basierende automatische Testfallerstellung. Dabei muss das verwendete<br />

Werkzeug die in 6.4.5.2 beschriebenen Merkmale erfüllen. Ein Beispiel für ein entsprechendes<br />

Werkzeug ist ATG der OSC AG [OSC08-2], das sich, wie auch TestConductor, in IBM/telelogic<br />

Rhapsody integrieren lässt. ATG ermöglicht die Analyse von UML/SysML-Modellen des zukünftigen<br />

Systems (erfüllt Merkmal (a)), deren Verhalten in Form von Zustandsmaschinen oder<br />

Aktivitätsdiagrammen definiert ist (erfüllt Merkmal (d)) und erzeugt anhand dieser Analyse innerhalb<br />

des Modells Szenarien, die als Testfälle verwendet werden können (erfüllt Merkmal (b)<br />

und (e)). Die hinter ATG stehende Algorithmik (die Grundlagen sind in [LET05] beschrieben)<br />

versucht, für ein gegebenes Modell Sequenzen von Eingangsstimuli zu finden, die alle Zustände,<br />

Transitionen, Ereignisaufrufe und Operationen in den Verhaltensdiagrammen anfahren. Ergebnis<br />

des ATG-Laufs ist eine Menge an Szenarien, die in ihrer Charakteristik den manuell erstellten<br />

4 Dies betrifft insbesondere die Verwendung korrekter Namen für Signale und Argumente<br />

136

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!