Modellbasierte Anforderungsspezifikation sicherheitskritischer ...
Modellbasierte Anforderungsspezifikation sicherheitskritischer ...
Modellbasierte Anforderungsspezifikation sicherheitskritischer ...
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