Refine
Document Type
- Bachelor Thesis (1)
- Report (1)
Language
- German (2)
Has Fulltext
- yes (2)
Is part of the Bibliography
- no (2)
Keywords
- Softwaretest (2)
- Computerunterstütztes Lernen (1)
- E-Assessment (1)
- E-Learning (1)
- Grader (1)
- Graja (1)
- Lernaufgabe (1)
- ProFormA (1)
- Programmierung (1)
- Regressionstest (1)
Institute
Der Autobewerter Graja, der in der Lehre zum Bewerten studentischer Java-Programme verwendet wird, stellt ein komplexes Softwaresystem dar. Aufgrund einer kaum vorhandenen Testabdeckung durch Modul- und Integrationstests, ist die Gewährleistung der fehlerfreien Funktionalität in Hinsicht auf die Weiterentwicklung nicht garantiert. Da sich Graja auf das ProFormA-Aufgabenformat stützt, stellt sich die Frage, inwiefern sich die im ProFormA-Aufgabenformat vorausgesetzten Musterlösungen, für einen automatisierten Regressionstestmechanismus eignen.
Das Ziel dieser Forschung ist es ein Konzept, für einen solchen Regressionstestmechanismus zu erstellen und mithilfe einer Referenzimplementierung als Graja-Erweiterung in die Praxis umzusetzen. Der daraus entstandene Mechanismus operiert durch Verhaltensaufzeichnung und Verhaltensabgleich und konvertiert so das in Graja beobachtete Bewertungsverhalten einer Musterlösung in einen Testfall. In der Testphase findet anschließend ein Abgleich des Soll-Verhaltens eines Testfalls und des beobachteten Ist-Verhaltens einer Musterlösung statt. Die Differenzen dieses Abgleichs sind als potenzielle Regressionen zu behandeln, da diese eine semantische Änderung des Bewertungsergebnisses darstellen.
Um diesen Verhaltensabgleich robust und mit möglichst wenigen Fehlalarme zu realisieren, wurden die in Graja verwendeten Datenmodelle auf Eignung bezüglich einer Verhaltensaufzeichnung untersucht. Außerdem fand eine Datenaufzeichnung mit einer Teilmenge der Musterlösungen statt. Nachfolgend wurde eine Analyse dieser Rohdaten, mit dem Ziel potenzielles Rauschen innerhalb der Aufzeichnungen zu detektieren, durchgeführt. So konnte letztendlich eine Strategie für eine Rauschunterdrückung innerhalb der Verhaltensaufzeichnung entwickelt werden.
Abschließend wurde ein Datenmodell entwickelt, das erlaubt, die durch den Verhaltensabgleich detektierten Regressionen verständlich und lokalisierbar darzustellen. Der durch diese Arbeit entstandene automatisierte Regressionstestmechanismus stellt somit eine Grundlage für die Gewährleistung der korrekten Bewertungsfunktionalität innerhalb des Graja-Entwicklungsprozesses dar. Durch das Detektieren von Regressionen mithilfe der Musterlösungen, lassen sich nun Änderungen an Graja gewissenhaft in eine Produktionsumgebung übernehmen.
Automatische Bewertungssysteme für Programmieraufgaben (Grader) sind komplexe Softwaresysteme. Automatisch ausführbare Regressionstests können kostengünstig potenzielle Fehler im Grader aufdecken. Im vorliegenden Beitrag soll beschrieben werden, wie Musterlösungen als Eingabedaten für automatische Regressionstests fungieren können. Es geht also um die Vorstellung einer Lösung eines Software Engineering Problems für E-Learning-Systeme. Wir betrachten, welche Eigenschaften des ProFormA-Aufgabenformats für automatische Regressionstests genutzt werden können und schlagen Erweiterungen des Formats vor. Der Beitrag beschreibt die beispielhafte Implementierung eines automatischen Black Box Systemtests für den Autobewerter Graja und geht dabei u. a. auf die Gestaltung eines Record-Playback-Vorgehens, auf einen unscharfen Soll-Ist-Vergleich sowie auf die Frage der Lokalisierbarkeit von entdeckten Regressionen ein.