Metamorphic Testing has seen an immense increase in popularity among software engineers and scientists ever since it was first introduced in 1998. It is a software testing technique that focuses on relations between inputs and outputs of a program rather than the inputs and outputs themselves. These relations are referred to as Metamorphic Relations, whose construction is non-trivial and usually requires expertise and domain knowledge. The nature of this strategy facilitates the testing of programs even in the absence of a test oracle. Examples for such programs are search engines, compilers, or simulators, the latter of which will provide the basis for the implementation within this project.
In autonomous systems, it can be extremely difficult to decide whether the behaviour of some autonomous system meets its specifications, hence why applying Metamorphic Testing to this domain should show positive results. Autonomous drones, in particular, are becoming more and more popular for purposes like
surveillance or search operations, while software testing in this field is complex.
The goal of this project is to explore the applicability of Metamorphic Testing in autonomous systems by implementing the technique in respect of testing autonomous drones.