Abstract
-
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.