Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Testresultatsvergleich mit UML-Analysemodellen und OCL-Ausdrücken

Ähnliche Präsentationen


Präsentation zum Thema: "Testresultatsvergleich mit UML-Analysemodellen und OCL-Ausdrücken"—  Präsentation transkript:

1 Testresultatsvergleich mit UML-Analysemodellen und OCL-Ausdrücken
MOTES Bremen, Testresultatsvergleich mit UML-Analysemodellen und OCL-Ausdrücken Rainer Schmidberger, Sascha Biermann Universität Stuttgart Institut für Softwaretechnologie, Abt. Software Engineering

2 Testresultatsvergleich mit UML-Analyse-modellen und OCL-Ausdrücken
Motivation anhand eines Beispiels Kurzbeschreibung der Methode Kurze OCL-Einführung Beschreibung der Methode und des Werkzeugs Grundidee: Sollresultat als OCL-Ausdruck Systemarchitektur Eclipse-Plugin zur Testdurchführung Bewertung Durchgeführte Evaluation Zusammenfassung MOTES 2007, Bremen

3 Motivation anhand eines Beispiels
Es soll ein Seminarverwaltungssystem getestet werden: Testfallnr.: 4711 Beschreibung: Prüfung auf korrektes Nachrücken aus der Warteliste Vorbedingung: „Liese Testperson“ ist bei mehreren „Excel Grundkurs“-Veranstaltungen auf Warteliste gebucht. Aktion: Ein Platz wird für die Veranstaltung am frei; „Liese Testperson“ rückt nach. Sollresultat: „Liese Testperson“ ist in dieser Veranstaltung auf der Teilnehmerliste und in allen anderen Veranstaltungen des Typs von der Warteliste entfernt worden. MOTES 2007, Bremen Die Prüfung derartiger Sollresultate ist aufwändig, da innerhalb der Anwendung an mehreren Stellen geprüft werden muss!

4 Kurzbeschreibung der Methode
Anwendungs-bereich Systemtest bei Systemen, die mit UML-Klassen-diagrammen modelliert wurden Modell UML-Klassendiagramm (z.B. Domänenmodell der Spezifikation), OCL-Ausdrücke Modellautor Fachexperte (aber: es sind OCL-Kenntnisse erforderlich!) Aufwand Je Testfall wird das Sollresultat durch einen OCL-Ausdruck beschrieben Erweiterung des SUT um einen Konnektor Einsatzbereich und Nutzen Testdurchführung, automatischer Resultatsvergleich Schwächen Veränderung des SUT ist erforderlich Keine vollständige Automatisierung, da die Benutzeraktion nicht behandelt wird Gesuchte Fehlerwirkung Falsch abgespeicherte Daten Evaluation Implementierung als Eclipse-Plugin, Einsatz in einem kommerziellen J2EE System, Befragung von drei Fachexperten MOTES 2007, Bremen

5 OCL Die Object Constraint Language ist Teil von UML 2.0
OCL ist eine formale, prädikatenlogikbasierte Sprache zur Ergänzung von UML-Modellen OCL Ausdrücke sind deklarativ, d.h. sie ändern den Systemzustand nicht OCL dient zur Formulierung von Zusicherungen Invarianten von Klassen Vor- und Nachbedingungen von Methoden OCL ist recht mächtig: Auswertung von Attributen und Assoziationen (Kollektionen) Es stehen viele Funktionen — insbesondere zur Auswertung der Kollektionen — zur Verfügung. Aber: OCL ist in der Praxis wenig verbreitet MOTES 2007, Bremen

6 Sollresultat als OCL-Ausdruck
Ausgangspunkt: Das Klassendiagramm der Analyse Person 1 Anmeldung 1 Veranstaltung 1 Typ id name vorname 0..* status 0..* datum maxTln 0..* nummer titel context Veranstaltung inv: typ.titel = 'Excel Grundkurs' and datum = ' ' and anmeldung->exists( person.name ='Testperson' and person.vorname = 'Liese' and status = EINGELADEN) and not typ.veranstaltung.anmeldung->exists( person.name = 'Testperson' and status = AUF_WARTELISTE) Person ist auf der Teilnehmerliste Weitere Wartelistenplätze der Person sind entfernt Kontextueller Bezug OCL-Sollresultat zum Testfall: MOTES 2007, Bremen

7 Systemarchitektur Konnektor-Implantat OCL-Parser OCL-Auswertung Konnektor SUT Dresden OCL Toolkit RMI Eclpse-Plugin Parser und Auswertung stammen aus dem Dresden OCL Toolkit Der Konnektor bildet die Objekte des Domänen-modells auf physische Repräsentationen im SUT ab. Für den Zugriff in das Domänenmodell des SUT wird ein Implantat, also für den Test zusätzlich benötigter Programmcode, eingefügt. MOTES 2007, Bremen

8 Testdurchführung Es wurde ein Eclipse-Plugin implementiert, das die Testfälle verwaltet Direkte Ausführung des Sollresultat-OCL-Ausdrucks 1 Vorbedingung herbeiführen Aktion durchführen 2 SUT Sollresultate prüfen 3 MOTES 2007, Bremen manuell automatisch

9 Bewertung Sollresultate müssen sich als gespeicherte Daten manifestieren. Ein UML-Klassendiagramm des Domänenmodells muss vorliegen. In der Architektur des SUT muss das Domänenmodell präsent und durch einfache Mittel erreichbar sein. Die zu prüfenden Datenmengen dürfen nicht zu groß werden. Die Sollresultate der Testfälle eines Hochschulprojekts konnten etwa zu 30% als OCL-Ausdruck beschrieben werden. Auch recht komplexe Ausdrücke können vergleichs-weise anschaulich formuliert werden (z.B. paarweiser Vergleich). MOTES 2007, Bremen

10 Evaluation Betrachtet wurde ein kommerzielles Informationssystem,
das in Java implementiert war und dessen internes Domänenmodell nahezu vollständig über Reflektion erreichbar war. Bei etwa zehn Testfällen wurden die Sollresultate als OCL-Ausdruck formuliert. Drei Fachexperten wurden zur Praxistauglichkeit der Methode befragt. Die Fachexperten kannten das Domänenmodell, aber hatten keinerlei Kenntnis von OCL. Den Fachexperten wurden die Testfälle präsentiert, deren Sollresultate einmal natürlichsprachlich und einmal mit OCL beschrieben waren. MOTES 2007, Bremen

11 Resultate der Evaluation
Der Aufwand zur Implementierung des Konnektor-Implantats war akzeptabel (etwa ein Tag). Insgesamt wurden die OCL-Ausdrücke als „verständlich“ und überprüfbar bezeichnet. Positiv wurde bewertet, dass die Attribute und Assoziationsbezeichner genau der Begriffswelt der Domäne entsprechen. Ein weiterer Vorteil wurde darin gesehen, dass die formale Beschreibung der Resultate zu mehr Präzision und Systematik beim Erstellen der Testfälle führt. Als Mangel wurde genannt, dass die Benutzeraktion noch von Hand ausgeführt werden musste, da ja nur die Prüfung der Vorbedingung und der Resultatsvergleich automatisiert waren. MOTES 2007, Bremen

12 Zusammenfassung OCL eignet sich zur automatischen Prüfung von Sollresultaten, die auf gespeicherten Daten basieren. Für ein Hochschulprojekt konnten etwa 30% der Sollresultate als OCL-Ausdruck formuliert werden. Die Bezeichner in den OCL-Ausdrücken stammen aus der Anwendungsdomäne. Ein Prototyp wurde als Eclipse-Plugin implementiert und an einem kommerziellen SUT evaluiert. Die freien OCL-Werkzeuge haben eine hohe Reife und können verwendet werden. Das Verfahren lässt sich in bestehende Testprozesse integrieren. MOTES 2007, Bremen Vielen Dank für Ihre Aufmerksamkeit!


Herunterladen ppt "Testresultatsvergleich mit UML-Analysemodellen und OCL-Ausdrücken"

Ähnliche Präsentationen


Google-Anzeigen