In software testing, something which can verify the correctness of test case execution results is called an oracle. Frequently, however, this oracle does not exist, or exists but is too expensive to be used, a situation known as the oracle problem. Metamorphic testing (MT) is a testing approach which uses metamorphic relations, properties of the software under test represented in the form of relations among inputs and outputs of multiple executions, to help verify the correctness of a program. MT has been used to alleviate the oracle problem in various applications and to enhance several software analysis and testing techniques. It has been observed that identification of a sufficient number of appropriate metamorphic relations for testing, even by inexperienced testers, is possible with a very small amount of training. Furthermore, the cost-effectiveness of the approach can be enhanced through the use of more diverse metamorphic relations. In this talk, I will outline some of the background and success stories of metamorphic testing, and highlight some of the current and future research in the area. |
Back to School Seminar Webpage |