Experience Embedded

Professionelle Schulungen, Beratung und Projektunterstützung

Vom Anwendungsfall zum Testfall

Autor: Alexander Huwaldt, Laser & Co. Solutions

Beitrag - Embedded Software Engineering Kongress 2015

 

 

Ausgangspunkt und Anwendungsbereich der hier vorgestellten Methodik bilden anwenderzentrierte funktionale Systemanforderungen und daraus hergeleitete Nutzungsszenarien sogenannter User Storys eingebetteter Systeme. Für die Notation wurden UML-Anwendungsfall- und Aktivitätsdiagramme genutzt. Die so erfassten Systemanforderungen dienen als Basis zur automatischen Generierung von Testfällen für den System- und Abnahmetest.

Das UML-Anwendungsfalldiagramm ist geeignet, nach einem einfachen fast schlichten Schema Systemanforderungen mit grober Granularität zu erfassen und zu visualisieren. Dabei steht der Anwender des Systems im Mittelpunkt der Betrachtung (Use Case Driven Design, siehe dazugehörige Abbildung, PDF).

Der Anwendungsfall repräsentiert in dieser Form das Nutzungsszenario des Systems als  Mensch-Maschine-Interaktion. Das Nutzungsszenario selbst wird als Aktivitätsmodell verfeinert. Dabei kann im Idealfall einer Systemanforderung genau ein typisches Nutzungsszenario zuge­ordnet werden. Es ist aber auch möglich, einem primären Nutzungs­szenario weitere sekundäre Szenarien beizustellen, um die Komplexität der Visualisierung zu verringern. Die Interaktion wird als abwechselnde Aktivitäten und Entscheidungen zwischen Anwender und System notiert. Es entsteht ein auf den Anwender und dessen Handlungen fokussierter Ablauf, eine User Story. Die funktionalen Anforderungen an das System werden dabei systematisch weiter ausformuliert. Das Aktivitätsmodell sollte in lediglich zwei Partitionen untergliedert werden - den Anwender und das System. Die notierten Systemfunktionen müssen für den Anwender später sichtbares und somit verifizierbares Systemverhalten sein (siehe dazugehörige Abbildung, PDF).

Das Aktivitätsmodell sollte so formuliert werden, dass es für einen typischen  Systemanwender leicht nachvollziehbar bleibt. Es wird somit aus dem Fundus des UML-Aktivitätsdiagramms lediglich ein kleiner Teil der möglichen Notationselemente benötigt. Neben der Generierung transparenter Testszenarien haben sich die Aktivitätsmodelle auch als Anwenderdokumentation bewährt. Änderungen der Systemanforderungen müssen immer über die Anwendungsfälle und User Storys in das Modell eingepflegt werden. Die Generierung von Testszenarien aus dem vorliegenden Modell kann mit verschiednen Überdeckungsgraden angefordert werden. Der Testdesigner hat die Möglichkeit, die generierten Szenarien zu sortieren bzw. zu priorisieren und ggf. Vor- und Nebenbedingungen der Tests zu ergänzen.

Anhand des folgenden Fallbeispiels soll der Einsatz der Methodik und der Werkzeuge kurz demonstriert werden. Bei dem vorgestellten System handelt es sich um eine Anlage zum Befüllen von Isolierfenstern mit Edelgas. Das Modell wurde zwar vereinfach, stellt jedoch die wesentlichen Elemente dar. Zunächst der schematische Aufbau der Anlage als SysML-Blockdefinitionsdiagramm. Für die Formulierung der User Storys ist die Kenntnis der Systemstruktur essentiell. Das später zu formulierende "sichtbare" Systemverhalten lässt sich nicht nur auf optische und akustische Anzeigeelemente reduzieren. So sind auch die Magnetventile, welche hörbar arbeiten, durchaus geeignet, Systemverhalten für den Tester verifizierbar zu machen (siehe dazugehörige Abbildung, PDF).

Dem Modell der Systemstruktur wird die Anwendersicht auf oberster Abstraktionsebene beigestellt, das Anwendungsfalldiagramm. Dieses bildet den Ausgangspunkt für die weitere Verfeinerung der Nutzungsszenarien. Dazu werden die Anwendungsfälle als Aktivitätsdiagramme verfeinert (siehe dazugehörige Abbildung, PDF).

Das folgende Diagramm (siehe dazugehörige Abbidlung, PDF) zeigt ein hinreichend vollständiges Nutzungsszenario der Anlage. Dabei könnte zur Verringerung der Komplexität nach Bedarf der Fall des Abbruchs des Befüllvorgangs durch den Benutzer als sekundäres Szenario noch ausgegliedert werden.

Aus diesem Aktivitätsmodell werden jetzt automatisch die möglichen Pfade mit einem vorgegebenen Überdeckungsgrad ermittelt. Die verschiedenen Pfade können im verwendeten Werkzeug als Layer visualisiert werden. Die verkleinerten Darstellungen zeigen einen Auszug aus den ermittelten Kontrollflusspfaden des obigen Ablaufmodells (siehe dazugehörige Abbildung, PDF).

Für den Testdesigner sind die ermittelten Pfade die Basis für das Erstellen der Testdokumente. Dazu kann er durch Sortieren die primären bzw. aus Anwendersicht typischen Pfade priorisieren und zusätzliche Testbedingungen ergänzen. Im nächsten Schritt generiert er aus dem so vorbereiteten Material eine Darlegung der Testfälle und Testszenarien, zum Beispiel als Textdokumente oder HTML. Weitere Ausgabeformate, wie XML zur Übergabe der Testfälle an weitere Werkzeuge, sind ebenfalls möglich. Das Testszenario wird sowohl in Textform als auch grafisch dargelegt. Die folgenden Beispiele zeigen mögliche Darlegungsformen.

Monteur:   schaltet das System an

FGFS:     System fährt hoch

FGFS:      Geht auf Standby, LED-Anzeige Aus

Monteur:   [möchte den Befüllvorgang starten] / betätigt START

FGFS:       System automatisch kalibrieren

FGFS:       Befüllvorgang starten, LED "füllen" an

FGFS:       20s Zwangsbefüllung

FGFS:       Füllstand ermitteln

FGFS:       [Gasanteil ermittelt] / Füllstand anzeigen

FGFS:       [reines Gas ermittelt, Scheibe voll] / Befüllvorgang beenden

FGFS:       geht auf Stand By, LED Anzeige Aus

Monteur:   [möchte die Anlage ausschalten] / schaltet das System aus

(siehe dazugehörige Abbildung, PDF).

 

Monteur:  Schaltet das System an

FGFS:     System fährt hoch

FGFS:       Geht auf Standby, LED-Anzeige Aus

Monteur:   [möchte den Befüllvorgang starten] / betätigt START

FGFS:       System automatisch kalibrieren

FGFS:       Befüllvorgang starten, LED "füllen" an

FGFS:       20s Zwangsbefüllung

FGFS:       Füllstand ermitteln

FGFS:       [Gasanteil ermittelt] / Füllstand anzeigen

Monteur:   [möchte den Befüllvorgang abbrechen] / betätigt STOPP

FGFS:       Befüllvorgang beenden, LED "füllen" aus

FGFS:       Geht auf Standby, LED-Anzeige Aus

Monteur:   [möchte die Anlage ausschalten] / schaltet das System aus

(siehe dazugehörige Abbildung, PDF).

 

Monteur:   Schaltet das System an

FGFS:     System fährt hoch

FGFS:      Geht auf Stand By, LED Anzeige Aus

Monteur:   [möchte den Befüllvorgang starten] / betätigt START

FGFS:       System automatisch kalibrieren

FGFS:       Befüllvorgang starten, LED "füllen" an

FGFS:       20s Zwangsbefüllung

FGFS:       Füllstand ermitteln

FGFS:       [Gasanteil ermittelt] / Füllstand anzeigen

FGFS:     [ermittelt MaxFüllzeit überschritten] / Befüllvorgang beenden

FGFS:       Geht auf Standby, LED-Anzeige Aus

Monteur:   [möchte die Anlage ausschalten] / schaltet das System aus

(siehe dazugehörige Abbildung, PDF).


Die vorgestellte Methodik zeichnet sich durch leicht verständliche und leicht zu notierende Darstellungen aus. Es wird bewusst nur auf wenige Modellierungselemente der UML zugegriffen. Dadurch ist deren Einführung mit wenig Lernaufwand verbunden, und es kann mit einem hohen Akzeptanzgrad bei Nicht-UML-Kundigen, wie Anwender, Auftraggeber, Techniker etc., gerechnet werden. Bei entsprechender Werkzeugunterstützung und verfügbaren Generatoren können neben den anschaulichen Diagrammen weitere Repräsentationsformen, wie Listen, Tabellen, Matrizen für Systemanforderungen, Systemfunktionen, Testszenarien und Benutzerdokumentationen, aus den einmal erstellten Modellen gewonnen werden.

 

Beitrag als PDF downloaden


Test, Qualität & Debug - unsere Trainings & Coachings

Wollen Sie sich auf den aktuellen Stand der Technik bringen?

Dann informieren Sie sich hier zu Schulungen/ Seminaren/ Trainings/ Workshops und individuellen Coachings von MircoConsult zum Thema Test, Qualität & Debug.


Training & Coaching zu den weiteren Themen unseren Portfolios finden Sie hier.


Test, Qualität & Debug - Fachwissen

Wertvolles Fachwissen zum Thema Test, Qualität & Debug steht hier für Sie zum kostenfreien Download bereit.

Zu den Fachinformationen

 
Fachwissen zu weiteren Themen unseren Portfolios finden Sie hier.