Masterarbeit

Entwicklung und Analyse von Software-Testing Strategien für das Modellierungswerkzeug TOOL

Betreuer/in:
Philip Winkler
Status:
Themenangebot
Jahr:
2022

Einführende Erläuterungen und Motivation:

Konzeptuelle Modelle sind von zentraler Bedeutung für die Analyse von Geschäftsprozessen, sowie die Entwicklung von Software und Datenbanken. Der Modellierungsprozess ist eine komplexe kognitive Leistung, die nicht auf eine Folge von einfachen mechanistischen Schritten zurückgeführt werden kann. Vielmehr handelt es sich um eine kreativ-schöpferische Tätigkeit, die Abstraktions- und Konzeptualisierungsvermögen, sowie die Fähigkeit zu Abwägungen, Entscheidungen und Reflexion erfordert.

Um diesen komplexen Modelleriungsprozess zu erforschen, wurde in der EvIS-Gruppe die Webapplikation TOOL entwickelt. Diese dient als Modellierungssoftware zum Erstellen von konzeptuellen Modellen, aber gleichzeitig auch als Forschungsobservatorium zur Erhebung von Daten über den Modellierungsprozess der Benutzer (Rosenthal, Ternes und Strecker 2020; Strecker 2020; Ternes u. a. 2020).

Für die Qualitätssicherung von Software sind Softwaretests unabdingbar. Software-Testing ist ein komplexes Thema, zu dem viel geschrieben und geforscht wurden. Wegen der hohen Relevanz für die betriebliche Praxis sind viele Einführungen sehr anwendungsnah orientiert (z.B. Aniche 2022; Crispin und Gregory 2009; Khorikov 2020; McLeod Jr und Everett 2007). Softwaretests werden nach verschiedenen Aspekten klassifiziert. Es werden Tests für unterschiedliche Ebenen der Software unterschieden (z.B. Unit-, Integration- und System- Tests), funktionale/nicht-funktionale Tests, Tests mit unterschiedlichen Prüftechniken (statische/dynamische Tests), etc. Für ein komplexes Softwaresystem wie TOOL muss eine umfassende Teststrategie gut geplant werden. Ziel der Arbeit ist es, so eine Teststrategie für TOOL zu entwickeln.

TOOL wird regelmäßig für Forschungsprojekte eingesetzt und soll zukünftig auch in die Lehre der FernUniversität eingebunden werden. Es ist daher von großer Bedeutung, die Softwarequalität sicherzustellen. Mit dieser Arbeit leisten Sie einen wichtigen Beitrag dazu. Zudem erwerben Sie Fähigkeiten in den Bereichen Web-Entwicklung und Software-Testing, die für viele Arbeitgeber attraktiv sind.

Aufgabenstellung:

Der/die Studierende soll sich mit der Softwarearchitektur von TOOL vertraut machen. Der Quellcode der Software wird dafür zur Verfügung gestellt. In Hinblick auf das Software-Testing sollen Teilsysteme identifiziert werden, die von eigenen Teststrategien profitieren. Als »Teilsysteme« sollen hier nicht nur isolierte Systemkomponenten verstanden werden, sondern auch unterschiedliche »Sichten« – also Abstraktionsebenen, Systemaspekte, Modulcluster – des gesamten Softwaresystems.

Basierend auf der Literatur zur Testmethodik kann dann für die Teilsysteme eine Teststrategie entwickelt werden. Es ist von zentraler Bedeutung für den wissenschaftlichen Anspruch der Arbeit, diese Entscheidungen gut zu begründen. Gegebenenfalls sollten mehrere Alternativen gegeneinander abgewägt werden.

Grafische Benutzeroberflächen (GUIs) stellen eine besondere Herausforderung für Softwaretests dar. Zentraler Bestandteil der Funktionalität von TOOL ist die Modellierungsoberfläche. Eine umfassende Teststrategie muss daher auch diese Thematik addressieren. Anhaltspunkte können in der wissenschaftlichen Literatur gefunden werden (z.B. Banerjee u. a. 2013), aber auch eine Recherche nach Online-Resourcen kann potentiell interessante Einblicke in anwendungsorientierte Praktiken und Werkzeugen liefern. Es bietet sich an, derartige Techniken systematisch zusammenzustellen und auf Anwendbarkeit für TOOL zu prüfen.

Ein Teil der Arbeit besteht auch in der Implementierung von Softwaretests für TOOL. Es wird nicht erwar- tet, dass alle vorgeschlagenen Tests vollständig implementiert werden. Dazu reicht die Zeit nicht. Der/die Studierende kann sich dazu gegebenenfalls – nach Abstimmung mit dem Betreuer – auf einige Testfälle beschränken.

Hinweise und Literaturempfehlungen zum Einlesen:

Aniche, Mauricio (2022). Effective Software Testing: A Developer’s Guide. Simon und Schuster.

Banerjee, Ishan u. a. (2013). »Graphical user interface (GUI) testing: Systematic mapping and repository«. In: Information and Software Technology 55.10, S. 1679–1694.

Crispin, Lisa und Janet Gregory (2009). Agile testing: A practical guide for testers and agile teams. Pearson Education.

Khorikov, Vladimir (2020). Unit Testing Principles, Practices, and Patterns. Simon und Schuster.

McLeod Jr, Raymond und Gerald D Everett (2007). Software Testing: Testing Across the Entire Software Development Life Cycle. John Wiley & Sons.

Rosenthal, Kristina, Benjamin Ternes und Stefan Strecker (2020). »Understanding individual processes of conceptual modeling: A multi-modal observation and data generation approach«. In: Modellierung 2020. Hrsg. von D. Bork, D. Karagiannis und H. C. Mayr. Bonn: Gesellschaft für Informatik e.V., S. 77–92.

Strecker, Stefan (2020). »Enterprise Modelling Research Group at University of Hagen«. In: 40 Years EMISA 2019. Hrsg. von A Koschmider und M Weidlich. Bonn: Gesellschaft für Informatik e.V., S. 195–199.

Ternes, Benjamin u. a. (2020). »TOOL–Modeling Observatory & Tool: An Update«. In: Joint Proceedings of Modellierung 2020 Short, Workshop and Tools & Demo Papers. Vienna, Austria: CEUR-WS, S. 198–202.

Lehrstuhl EvIS | 08.04.2024