A Survey on Metamorphic Testing
By Sergio Segura, Gordon Fraser, Ana Belén Sánchez, Antonio Ruiz-Cortés. IEEE Transactions on Software Engineering, 2016
549 citations recorded by the source corpus.
A test oracle determines whether a test execution reveals a fault, often by comparing the observed program output to the expected output. This is not always practical, for example when a program's input-output relation is complex and difficult to capture formally. Metamorphic testing provides an alternative, where correctness is not determined by checking an individual concrete output, but by applying a transformation to a test input and observing how the program output “morphs” into a different one as a result. Since the introduction of such metamorphic relations in 1998, many contributions on metamorphic testing have been made, and the technique has seen successful applications in a variety of domains, ranging from web services to computer graphics. This article provides a comprehensive survey on metamorphic testing: It summarises the research results and application areas, and analyses common practice in empirical studies of metamorphic testing as well as the main open challenges.
Subfields: Software, Signal Processing
View Paper: https://www.semanticscholar.org/paper/59aae60c09f779c8581a5f23711e6b0310198424
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Software
- Lingming Zhang
- Yuqun Zhang
- Sarfraz Khurshid
- Tsong Yueh Chen
- Fei-Ching Kuo
- Sameer Singh
- Chun Xia
- Koushik Sen
In Signal Processing
- Sarfraz Khurshid
- Carlos Guestrin
- Lingming Zhang
- Sameer Singh
- Marco Tulio Ribeiro
- Andreas Krause
- Michael A. Osborne
Citations in the corpus
- Metamorphic Testing (2018, background): “Among the surveys specically about MT [34, 42, 81], Segura et al.”
- DeepRoad: GAN-Based Metamorphic Testing and Input Validation Framework for Autonomous Driving Systems (2018, methodology): “Metamorphic testing is a classical software testing method that identifies software bugs [15, 36, 44].”
- Beyond Accuracy: Behavioral Testing of NLP Models with CheckList (2020, methodology): “We also introduce two additional test types inspired by software metamorphic tests (Segura et al., 2016).”