Theses

Automatisierung von System-Regressionstests

Bachelorarbeit in der Abteilung Softwaretechnik



Motivation

In einem Kundenprojekt der BTC AG wird eine Online-Plattform zur Verwaltung von Telekommunikationsinfrastruktur entwickelt. Dabei ist die Qualität der ausgelieferten Software ein essentieller Faktor für dessen Akzeptanz bei dem Kunden. Darum werden in regelmäßigen Abständen manuelle Regressionstests auf Systemstufe vor der Auslieferung durchgeführt, welche das korrekte Verhalten der bereits implementierten Funktionen sicherstellen sollen. Die Erstellung und Ausführung dieser manuellen Regressionstests übernehmen agile Tester. Bedingt durch sich verändernde Anforderungen und einem wachsenden Funktionsumfang der Online-Plattform, wächst das Set an Regressionstests, die auszuführen sind. Mit der steigenden Anzahl des Sets, wird ebenfalls mehr Zeit für die manuelle Ausführung dieses benötigt. Jedoch bleibt das dafür zur Verfügung stehende Zeitpensum unverändert.


Aufgabenstellung

Dadurch konkurriert die Zeit zunehmend mit dem Testen des Systems, da die Zeit nicht reicht um die manuellen Regressionstests auszuführen und Tests für aktuelle User Stories zu erstellen. Die Durchführung der System-Regressionstests ist jedoch notwendig, um den Nachweis erbringen zu können, dass es durch neue oder geänderte Funktionen zu keinen Beeinträchtigungen nicht geänderter Funktionalitäten kommt. Ziel dieser Bachelorthesis ist es deshalb, diesen zeitlichen Engpass zu reduzieren. Darum wird eine System-Testumgebung geschaffen, in dem die agilen Tester selbstständig System-Regressionstests implementieren können, um dessen Durchführung und Auswertung zu automatisieren. Darüber hinaus wird ein Leitfaden erarbeitet, der neue und bestehende System- Regressionstests analysieren soll. Ziel dieser Analyse ist die Überprüfung, ob es sich bei dem untersuchten Testfall um System-Regressionstestfall handelt und ob dieser in der System-Testumgebung implementiert werden kann. Durch den Leitfaden werden die System-Regressionstestfälle reduziert, da vermeintliche System-Regressionstestfälle auf andere Teststufen und Testarten delegiert werden.

Die System-Testumgebung bietet dann die Möglichkeit System-Regressionstests zu automatisieren, um so die manuelle Durchführungszeit zu reduzieren. Sodass die System-Regressionstests weiter ausgeführt werden und dennoch mehr Zeit für die aktuellen User Stories des Sprints verbleibt. Um dies zu erreichen, wird zunächst eine Analyse erstellt, welche Probleme bei einem vorangegangenen, gescheiterten Testautomatisierungsversuch auftraten. Im Anschluss wird der Leitfaden entwickelt, dazu werden Merkmale identifiziert die einen System-Regressionstestfall ausmachen. Zudem wird der Aufwand für Implementierung und Wartung untersucht. Im Anschluss wird die System-Testumgebung aufgebaut, in der sich durch den Leitfaden als geeignet identifizierte Testfälle automatisieren lassen. Diese beiden Artefakte werden in einem Zyklus in das Kundenprojekt eingebunden, um überprüfen zu können, ob das zeitliche Problem dadurch reduziert werden kann.


Betreuer
Prof. Dr. Andreas Winter ()
Dr. Christian Schönberg ()

Related Projects
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: 19 Jan 2024)  | 
Zum Seitananfang scrollen Scroll to the top of the page