Komponententests (engl. „Unit-Tests“) sind eine etablierte Methode zur Qualitätssicherung in der Softwareentwicklung. Indem Teile des Softwaresystems automatisiert und häufig getestet werden, können versehentlich eingeführte Änderungen des Verhaltens frühzeitig aufgedeckt und korrigiert werden. Für Softwaresysteme, die auf dem Robot Operating System (ROS) basieren, kommt dafür zumeist das Tool rostest zum Einsatz. Dieses setzt auf unittest für Python- und gtest für C++-Code auf.
In dieser Arbeit soll die Testabdeckung eines bestehenden ROS-Projektes aus dem Bereich autonomer Drohnen erhöht werden. Im Zuge dessen soll eine Teststrategie entwickelt werden, die für die künftigen Entwicklungsarbeiten von größtmöglichem Nutzen ist – d.h. eine günstige Balance zwischen dem Arbeitsaufwand durch das Erweitern und Anpassen der Tests und der Erleichterung durch die Automatisierung darstellt.
Von Interesse sind dabei insbesondere auch Integrationstests, die das Zusammenspiel mehrerer Komponenten abdecken. So sollen bspw. durch das automatisierte Starten und Auswerten von Simulationen auch verhältnismäßig komplexe Zusammenspiele untersucht werden können – z.B. soll ein Test fehlschlagen, wenn es während einer solchen Simulation zu der Kollision einer Drohne mit einem Hindernis kommt.
Art der Arbeit | Projektarbeit |
Anzahl Studierende | 1 |
Betreuung | Merlin Stampa |
Hilfreiche Vorkenntnisse | Python, C++, ROS |