Unit tests are an established method for quality assurance in the field of software development. By automatically and frequently testing parts of the system, undesired changes in the system’s behaviour can be identified and corrected early. For software based on the Robot Operating System (ROS) the most common tool is rostest, which builds upon unittest for Python and gtest for C++ code.
In this thesis, the test coverage of an existing ROS-based project concerned with autonomous drones shall be increased. Along the way a testing strategy should be developed that supports future development of the project—i.e., it needs to find a suitable balance between the overhead work for creating and maintaining the tests and the benefits of automation.
A special focus should be put on integration tests, which cover the interactions of multiple units. By automatically starting and analyzing Gazebo simulations, even complex interactions can be covered by the tests. For example, a test should fail when a drone experiences a collision in such a simulation.
|Number of students||1|
|Recommended experiences||Python, C++, ROS|