Modellbasierte Anforderungsspezifikation sicherheitskritischer ...
Modellbasierte Anforderungsspezifikation sicherheitskritischer ...
Modellbasierte Anforderungsspezifikation sicherheitskritischer ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
die Szenariensicht ist: Letztere zeigt nur beispielhafte Ausschnitte des tatsächlich modellierten<br />
Verhaltens. Ziel B zielt zudem darauf ab, implizite Annahmen während der Verhaltensmodellierung<br />
explizit zu machen und auf Konsistenz mit dem vorgesehenen Verhalten des Systems zu<br />
prüfen. In der Praxis wurden bei der Erstellung des Beispielmodells Fehlerszenarien für einen<br />
„Fadenfehler Gelblicht” und einen „Fadenfehler Rotlicht” der Lichtzeichenanlage spezifiziert. In<br />
der Verhaltenssicht war implizit jedoch auch das (korrekte) Verhalten für einen kombinierten<br />
Fehlerfall „Fadenfehler Gelb- und Rotlicht” enthalten. Für diesen Fehlerfall wurde durch die<br />
Analyse der Verhaltenssicht ein entsprechendes Sequenzdiagramm ermittelt, wodurch die zuvor<br />
nur implizit vorliegende Spezifikation als Szenario explizit gemacht wurde.<br />
Anzumerken ist, dass das beschriebene Vorgehen dann problematisch sein kann, wenn die Szenariensicht<br />
(also die Testfälle) und die Verhaltenssicht (also der Testling) von der gleichen Person<br />
modelliert werden. Die Gefahr besteht, dass sich ein prinzipieller Denkfehler in beiden Sichten<br />
reproduziert und somit ein eigentlich falsches Verhalten als „korrekt” getestet wird. Auch<br />
wenn innerhalb dieser Arbeit prinzipiell keine Aussagen über Rollen und personelle Abhängigkeiten<br />
getroffen werden, ist es höchst sinnvoll, zumindest die Szenariensicht und die Verhaltenssicht<br />
von zwei unterschiedlichen Personen bearbeiten zu lassen. Es ergeben sich somit für den<br />
mikroskopischen Bereich der Anforderungserstellung zwei Rollen, die der des „Implementierers”<br />
und der des „Testers” bei Softwareentwicklungsprozessesn entsprechen.<br />
Um die genauen Anforderungen an diesen Prozessschritt genauer fassen zu können, werden<br />
im folgenden Unterabschnitt 6.4.5.2 die benötigten Eigenschaften für die Testfallgenerierung<br />
mittels einer Taxonomie genauer klassifiziert.<br />
6.4.5.2. Klassifizierung des Verfahrens zur Testfallgenerierung<br />
Um das benötigte Verfahren zur Testfallgenerierung genauer definieren zu können, sollen die<br />
Anforderungen aus dem vorherigen Abschnitt gegen eine Taxonomie möglicher Verfahren evaluiert<br />
werden. Diese Taxonomie wurde von Utting, Pretschner und Legeard in [UPL06] vorgestellt.<br />
Sie unterscheiden dabei sieben Merkmale mit verschiedenen Ausprägungen, mit denen modellbasierte<br />
Testsfallgenerierungsverfahren differenziert werden können. Im Folgenden werden die<br />
für diese Arbeit relevanten Merkmale kurz vorgestellt und dabei diejenige Merkmalsausprägung<br />
ausgewählt, die ein möglichst gut angepasstes Testfallgenerierungsverfahren beschreibt.<br />
(a) Gegenstand des Modells [UPL06, S. 4/5] - Dieses Merkmal beschreibt, ob das Modell eher<br />
das Verhalten des zu testenden Systems darstellt oder eher das Verhalten der Systemumgebung.<br />
Diese Differenzierung ist entscheidend für die Strategie der Testfallgenerierung.<br />
Für das hier angewendete und oben beschriebene Vorgehen zur Testfallerzeugung ist das<br />
Verhalten des Systems maßgeblich. Das gewählte Werkzeug muss also die Analyse des<br />
Systemmodells unterstützen.<br />
(b) Modellredundanz [UPL06, S. 5/6] - hierbei wird zwischen dem Fall separater Modelle für<br />
Implementierung und Testfallgenerierung und dem Fall eines gemeinsamen Modells für<br />
beide Aufgaben unterschieden. Im vorherigen Abschnitt wurde dargelegt, dass die Tests<br />
innerhalb eines Modells durchgeführt werden sollen. Demnach liegt hier der Fall eines<br />
gemeinsamen Modells vor, den das Werkzeug beherrschen können muss.<br />
(c) Modellcharakteristik [UPL06, S. 6] - das Merkmal dient der Unterscheidung der Charakteristiken<br />
eines Modells im Bezug auf Determinismus seiner Ausgaben, der Berücksichtigung<br />
von Echtzeitanforderungen sowie der Unterscheidung von diskreten und kontinuierlichen<br />
Systemen. Für Anforderungsmodelle gilt dabei, dass sie an der Systemgrenze üblicherweise<br />
ein deterministisches Verhalten aufweisen. Die Berücksichtigung harter Echtzeitan-<br />
135