Metamorphic testing: A new student engagement approach for a new software testing paradigm
Software testing, as part of the software quality assurance processes in software engineering (SE), is seldom cited as the most engaging part of a software engineer's training. In spite of its importance, it was often a neglected area, and only recently, with the adoption of more agile methodologies, has testing come to the fore. Testers face challenges, including the need to be able to identify when software is not behaving as expected. Metamorphic Testing (MT) first appeared twenty years ago in an effort to help testers facing the oracle problem (not having a mechanism to determine correct software behavior). Although MT is simple in concept, it has demonstrated very impressive fault-finding ability, and has recently been attracting a great deal of interest. Training students and practitioners to effectively apply MT has become an important goal, but to date, no textbook or guidelines have been made readily available. This paper, written by some of the leading voices in the MT community, is a sharing of some of the experiences, reflections and insights gained through teaching MT (and other related subjects). These experiences indicate that not only is MT effective in industry and at fault-finding, it has the potential to really engage students in creative SE classroom activities.