Refine
Document Type
- Bachelor Thesis (2) (remove)
Language
- German (2)
Has Fulltext
- yes (2)
Is part of the Bibliography
- no (2)
Keywords
- Softwaretest (2) (remove)
Institute
- Fakultät IV - Wirtschaft und Informatik (2) (remove)
Bisher wurde die automatisierte Bewertung von Übungsaufgaben in LON-CAPA angeboten und mit mehreren Werkzeugen umgesetzt, darunter der JFLAP-Wrapper, der die Grundlage dieser Arbeit bildet. Daraus soll ein vollständiges eigenstehendes Programm erarbeitet werden, dass auch an andere Lernmanagementsysteme angebunden werden kann. Dabei erhält es den neuen Namen GraFLAP. Dazu wurden die Bewertungsprozesse im JFLAP-Wrapper zusammen gelegt und eine neue Schnittstelle nach ProFormA-2.1-Standard ergänzt. Außerdem sollte die Wartbarkeit verbessert werden, sodass zukünftige weiterführende Arbeiten erleichtert werden. Dazu wurden neue Datenstrukturen und Prozesse integriert, unter anderem ein einheitlicher Build-Prozess mit Maven und automatisierte Tests mit JUnit. GraFLAP bietet nun eine standardisierte Schnittstelle, übernimmt alle Bewertungsprozesse und ist so nun vollständig unabhängig von Lernmanagementsystemen.
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.