Theses

Änderungsbasierte Testselektion

Bachelorarbeit in der Abteilung Softwaretechnik



Motivation

Das systematische Testen von umfangreicher Software führt häufig zu einer großen Anzahl von Testfällen. Diese auszuführen kann, abhängig vom Projekt, viel Zeit in Anspruch nehmen. Bei der Entwicklung kommt es jedoch häufig vor, dass kleinere Änderungen am Produktcode erfolgen, etwa um Bugfixes durchzuführen. Müssen bei diesen Änderungen alle Tests erneut ausgeführt werden, verzögert sich das Feedback an die Entwickler um die Gesamtlaufzeit der Testsuite.


Aufgabenstellung

Testselektion versucht, diesen Effekt einzudämmen, indem nur diejenigen Tests erneut ausgeführt werden, die durch Änderungen betroffen sein könnten. Hierbei ist die Sicherheit wichtig, d.h. alle Fehler, die ohne Testselektion angezeigt werden, müssen auch von der reduzierten Testmenge aufgedeckt werden. Diese Arbeit erarbeitet ein solches Verfahren und implementiert es in einem Java-Tool. Das Tool wird genutzt, um den Effekt einer Testselektion auf das Beispielprojekt Q-MIG un weitere Open-Source-Projekte zu evaluieren.


Betreuer
Prof. Dr. Andreas Winter ()
M.Sc. Johannes Meier ()

Related Projects
Q-MIG

Building a Quality-Driven, Generic Tool-Chain for Software Migration | Aufbau einer qualitätsgetriebenen, generischen Werkzeugkette für die Software-Migration.

The Q-MIG project aims at enabling quality monitoring and comparison of a software system in a migration process. Quality comparison between legacy and migrated system enables strategically choosing between migration and redevelopment. Also, analysis of the quality of migrated software against the set of migration tools used helps in choosing an optimum migration toolchain.

 
Software Quality and Testing
The Quality is an important aspect of software and has high impact on the evolution of software and the possibilities of their modernization. Testing is an important technique to improve the quality of software. This research area targets approaches, techniques, and tools to detect, measure, and improve the quality of software among the whole software life cycle.
 


(Changed: 2021-04-30)