Testresultatsvergleich mit UML-Analysemodellen und OCL-Ausdrücken

Slides:



Advertisements
Ähnliche Präsentationen
Business Engineering Philipp Osl, Alexander Schmidt
Advertisements

Prüfung objektorientierter Programme -1
Integrations- und Funktionstests im Rahmen des V-Modelles
Submodell Softwareentwicklung (SE)
Phasen und ihre Workflows
Prof. Dr. Liggesmeyer, 1 Software Engineering: Dependability Prof. Dr.-Ing. Peter Liggesmeyer.
Christian A. Kopf Institut für Informatik FU Berlin Episode Recognizer Framework - Rahmenwerk zur Episodenerkennung.
Konzeption und prototypische Implementierung eines zentralen Informationssystems für Systemmanagement Motivation Oft wird es schwierig, die benötigten.
LE LM 10 - LO3 Verfahren zur Qualitätssicherung
Erfahrungen aus Tests komplexer Systeme
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Aufgaben des Testens Vergleich des Verhaltens einer Software mit den an sie gestellten.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme System- und Abnahmetests Inhalt Testen des Systems unter Mitwirkung des Auftraggebers.
Java: Objektorientierte Programmierung
Java: Grundlagen der Objektorientierung
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/22
Deklaratives Debugging (Seminar Software Engineering) Tim Sender Deklaratives Debugging Seminar Software Engineering.
Der Testprozess als Bestandteil des SE Prozesses:
Software-Technik: (fortgeschrittene) Klassendiagramme
Rational Rose und UML: Erstellung einer Kontoverwaltung
UML Begleitdokumentation des Projekts
Anpassung des RUP an ein konkretes Projekt - 1
Spezifikation von Anforderungen
12. Vorlesung: Aktivitätsdiagramme
Kollektionen in Java Aufzählungstypen, Generische Typen
Datenbankentwurf Abstraktionsebenen des Datenbankentwurfs
Framework for Integrated Test (FIT)
UML WS 09/10: Datenbanken vs MarkUp Dozent: Prof. Dr. Manfred Thaller
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #3 ER Modellierung.
Kompetenz -, Lern - und Prüfungsbereiche Anforderungsbereiche
Paradigmenwechsel in der Unternehmensmodellierung Prof. Dr. Wolfgang Voigt Dipl.-Ing. Päd. Alexander Huwaldt UML Extrakt UML Seminar, Chemnitz
Software-Technik: (fortgeschrittene) Klassendiagramme
Von UML 1.4 zu UML 2.0 InfoPoint vom Mittwoch
SOFTWARE TECHNOLOGY 2009/2010 Faculty of Electrical Engineering and Technical Informatics Budapest University of Technology and Economics OO problems 1.
Software Engineering Grundlagen
Excel Grundlagen.
Meta-Modell für Story-Diagramme und Expressions
Kurze Rekapitulation aus der Einführungsvorlesung Stunde VII: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 20. Oktober 2011.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 9. Vorlesung WS 2001/2002.
Software-Demo: CASE-Tool „Together“
WiWi WS2015 Excel Grundlagen Fachbereich Wirtschaftswissenschaften.
Tutorium Software-Engineering SS14 Florian Manghofer.
SEMINARVORTRAG Von Jonas Robers METHODEN UND TOOLS ZUR ERFASSUNG VON TESTFÄLLEN.
Tutorium Software-Engineering SS14 Florian Manghofer.
WebServices Vortrag zur Diplomarbeit WebServices Analyse und Einsatz von Thomas Graf FH Regensburg
Seminar Softwareproduktlinien Domänenspezifische Sprachen Sascha Draffehn von.
Domänenmodellierung Georg Marth. Definition Domänenmodell ● Eine Zusammenfassung von Funktionen, Objekten, Daten und Relationen in einer Domäne. -Kang.
WISSENSCHAFTLICHES PROJEKT Projekttitel Ihr Name | Name Ihres Lehrers| Ihre Schule.
SE: Systementwurf, © Till Hänisch 2003 Systemarchitektur nach Sommerville, Software Engineering, Addison Wesley.
Anforderungen an die neue Datenstruktur
SQL Basics Schulung –
Module und Modularisierung
Vernetzte Forschungsumgebung in den eHumanities
Habe Konzept zum Vorgehen Lennart Bucher Seminararbeit
HCS Übung 3 Von: Patrick Denk Oleg Arenz
OCL – Object Constraint Language
von Valentin Durst und Steffi Klein
Einführung DI Harald Sander.
Das IT - Informationssystem
Abschließender Bericht der Verteilungs-Kommission
Spracherkennung mit dynamisch geladenen, spezifischen Akustikmodellen
Struktur-Funktions-Modelle von Pflanzen
Lernmodul Einführung Nutzen Sie diese Powerpoint-Präsentation beim Selbstlernen oder in Veranstaltungen zur Einführung in das jeweilige Thema. Nutzungsbedingungen:
Fachbereich Wirtschaftswissenschaften
Finanzbuchhaltung Einführung der Vollstreckungssoftware „avviso“
Methodische Grundlagen des Software-Engineering
Struktur-Funktions-Modelle von Pflanzen
Wissenschaftliches Projekt
ReduSoft Ltd. Kurzbeschreibungen zu einigen Modulen, die im Programm MathProf 5.0 unter dem Themenbereich Sonstiges implementiert sind.
Business IN THE FAST LANE
Datenbanken Von Amed und Alicia.
 Präsentation transkript:

Testresultatsvergleich mit UML-Analysemodellen und OCL-Ausdrücken MOTES 2007 Bremen, 27.09.2007 Testresultatsvergleich mit UML-Analysemodellen und OCL-Ausdrücken Rainer Schmidberger, Sascha Biermann Universität Stuttgart Institut für Softwaretechnologie, Abt. Software Engineering rainer.schmidberger@informatik.uni-stuttgart.de

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 21.09.2018 MOTES 2007, Bremen

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 17.10.2007 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. 21.09.2018 MOTES 2007, Bremen Die Prüfung derartiger Sollresultate ist aufwändig, da innerhalb der Anwendung an mehreren Stellen geprüft werden muss!

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 21.09.2018 MOTES 2007, Bremen

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 21.09.2018 MOTES 2007, Bremen

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 = '17.10.2007' 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: 21.09.2018 MOTES 2007, Bremen

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. 21.09.2018 MOTES 2007, Bremen

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

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). 21.09.2018 MOTES 2007, Bremen

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. 21.09.2018 MOTES 2007, Bremen

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. 21.09.2018 MOTES 2007, Bremen

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. 21.09.2018 MOTES 2007, Bremen Vielen Dank für Ihre Aufmerksamkeit!