Ein Ansatz zum modellgetriebenen Test von EJB-basierten Informationssystemen

Dokumente

Ausarbeitung

Folien – Zwischenvortrag

Hintergrund

In der modellbasierten Softwareentwicklung werden Modelle verwendet, um Anforderungen an ein System, dessen Architektur und Verhalten zu beschreiben. Diese Modelle hängen aber nicht unmittelbar mit dem daraus resultierenden Programmcode zusammen. Änderungen an Modellen wirken sich hier nicht direkt auf den Programmcode aus und umgekehrt.

Im Gegensatz dazu liegt bei der modellgetriebenen Softwareentwicklung der Fokus auf einem starken Zusammenhang zwischen beschreibenden Modellen und dem daraus entstehenden Programmcode. Der Quellcode wird aus den zugrunde liegenden Modellen generiert und steht daher unmittelbar mit den Modellen im Zusammenhang. Besonders zu Beginn eines Entwicklungsprojektes werden viele Änderungen an den Modellen vorgenommen, daher liegt eine automatische Generierung von Quellcode aus den Modellen nahe. Dies hält den Quellcode synchron zu den Modellen und spart wertvolle Zeit, da das initiale Erstellen von Klassen, Attributen  und Methoden aus den Modellen eine einfache, aber zeitaufwändige Tätigkeit ist.

 

In einer vorhergehenden Arbeit [1] wurde ein auf Eclipse basierender Codegenerator für Enterprise JavaBeans (EJB) erstellt, mit dem es möglich ist aus UML-Modellen lauffähige Prototypen für Informationssysteme zu erzeugen. Diese EJB-Komponenten erfüllen meist Standardfunktionen und können daher zu weiten Teilen automatisch generiert werden. Bei der Entwicklung eines Softwaresystems kann der Fokus dadurch schneller auf die wichtigen, nicht generierbaren Programmteile gelegt werden.

Aufgabe

Aufbauend auf den bestehenden EJB-Generator soll eine modellgetriebene Methode entwickelt werden, um für die generierten Prototypen auch zugehörige Regressionstests und Testspezifikationen zu generieren.

Zusätzlich ist zu evaluieren wie diese Tests zur Qualitätssicherung eines Softwareprojektes beitragen können und ob eine modellgetriebene Erstellung von Tests im Hinblick auf Qualität und Aufwand im Vergleich zur manuellen Testerstellung sinnvoll ist. Passend zum EJB-Generator soll ein Testgenerator entwickelt werden, um die Anwendbarkeit einer modellgetriebenen Methode zur Testgenerierung zu demonstrieren.

 

Insbesondere ist zu untersuchen, aus welchen Modellierungsschritten und den dabei entstehen-den Modellinstanzen des bestehenden EJB-Generators Testfälle abgeleitet werden können. Diese Testfälle sollen zuerst in einem plattformunabhängigen Testmodell (PIM, platform independent model) beschrieben werden. Dieses kann zum Beispiel aus der Arbeit von Bora Kiliclar über Testfallgenerierung aus narrativen Use-Cases [2] abgeleitet werden.

Die im PIM modellierten Testfälle sollen anschließend in ein plattformabhängiges Testmodell (PDM, platform dependent model) überführt werden, um daraus auf JUnit basierende Tests [4] für die generierte EJB-Komponente zu realisieren. Durch die Trennung in PIM und PDM wird eine spätere Erweiterung des Systems um neue Testgeneratoren bzw. Testrahmenwerke ermöglicht.

Literatur

[1]     T. Löwenthal, ?Generierung von web-basierten Prototypen für Geschäftsanwendungen?, Diplomarbeit, RWTH Aachen, 2011

[2]     K. B. Kiliclar, ?Entwicklung Meta-Modell basierter Testfall-Spezifikationen aus Narrative Use Case Modellen?, Diplomarbeit, RWTH Aachen, 2010

[3]     J. Ludewig, H. Lichter, ?Software Engineering ? Grundlagen, Menschen, Prozesse, Techniken?, ISBN 978-3-89864-662-8, dpunkt.verlag, 2010

[4]     G. Meszaros, ?xUnit Test Patterns?, ISBN 978-0-13149-505-0, Addison-Wesley, 2007