Forschungsthemen
[DA] Generalisierung des Spannbaumbasierten Regressionstestwerkzeugs RTT auf Objektnetze
Zum Regressionstesten baumbasierter Repositories wurde am Lehrstuhl das Werkzeug RTT (http://code.google.com/p/rtt/) entwickelt. Dieses verwendet Java Annotationen um Bytecode zum Regressionstesten zu instrumentalisieren und zu prüfende Daten zu kennzeichnen. Die entsprechenden Annotationen können von EMF Metamodellen mithilfe eines speziellen Annotationseditors automatisch abgeleitet werden wenn für die zu testende Software ein geeignetes Metamodell vorliegt. Zudem stellt RTT Funktionen zum Erstellen und Verwalten von Testarchiven bereit. Nutzerschnittstelle sind hierbei entweder die Kommandozeile, von RTT bereitgestellte Ant tasks oder ein grafisches Eclipse Plugin.
RTT hat sich insbesondere zum Regressionstesten von Übersetzern bewährt. Für Anwendungen außerhalb des Übersetzerbaus gibt es jedoch Defizite bezüglich Stringenz und Nutzerfreundlichkeit:
- (1) RTT unterscheidet zwei Arten von Testfällen: Lexikalische (Lexer) und Syntaktische (Parser).
- (2) RTT zerteilt die Struktur zu testender Daten in zwei Kategorien: Containment und Non-containment, d.h. die zu vergleichenden Referenz- und Testdaten werden in Spannbäume zerteilt welche der Nutzer mithilfe von Annotationen spezifizieren muss.
Ziel der Diplomarbeit ist die Weiterentwicklung RTTs zum Regressionstesten beliebiger Objektnetze. Dazu sind Konzepte auszuarbeiten welche Probleme (1) und (2) lösen und die entwickelten Lösungen in RTT einzuarbeiten. Hierbei sind folgende Qualitätskriterien zu beachten:
- Unterstützung vorhandener Funktionalität, insbesondere der Archivverwaltung und Testfallversionierung RTTs
- Unterstützung vorhandener Nutzerschnittstellen, insbesondere des Eclipse Plugins
- Vereinheitlichung von Funktionalität, insbesondere soll die erstellte Lösung den EMF Annotationseditor ersetzen können
- Beibehaltung bzw. Vereinfachung der Annotationen
- Automatische Handhabung von Objektnetzen mit Zyklen
Die zu entwickelnde Software baut auf RTT auf und wird deshalb ebenfalls, neben den üblichen nicht exklusiven Verwertungsrechten der TU-Dresden, unter MIT Lizenz (X11 license) zur freien Verfügung gestellt werden.
Betreuer: Dipl.-Inf. Christoff Bürger