Optimization Methods and Control Theory
Review Article
A systematic review of methods for deriving metamorphic relations
Sofia Fedorovna Iakusheva1, Anton Sergeevich Khritankov2
1,2 | Moscow Institute of Physics and Technology, Moscow, Russia |
2 | Higher School of Economics, Moscow, Russia |
1 | yakusheva.sf@phystech.edu |
Abstract. Metamorphic testing is one of the most effective methods of testing programs with the test oracle problem. This problem declares that it is impossible to know whether the test answer is correct for one reason or another. Metamorphic testing uses metamorphic relations to check the program correctness. Metamorphic relation is a function of several test inputs and corresponding outputs of the program. Developing metamorphic relations can be a non-trivial task.
This systematic review is dedicated to identifying general derivation techniques for metamorphic relation as well as techniques pertinent to particular domains. As a result, we propose a classification of techniques into six main types and compile a comparative table of input data transformations for testing tasks in different domains. Findings of this review will help researchers to apply metamorphic testing in practice. (Linked article texts in Russian and in English).
Keywords: metamorphic testing, metamorphic relation, software testing, test oracle problem
MSC-2020 97P99; 97U99For citation: Sofia F. Iakusheva, Anton S. Khritankov. A systematic review of methods for deriving metamorphic relations. Program Systems: Theory and Applications, 2024, 15:2, pp. 37–86. (In Russ., in Engl.). https://psta.psiras.ru/2024/2_37-86.
Full text of bilingual article (PDF): https://psta.psiras.ru/read/psta2024_2_37-86.pdf (Clicking on the flag in the header switches the page language).
English part of bilingual article (PDF): https://psta.psiras.ru/read/psta2024_2_37-86-en.pdf.
The article was submitted 22.11.2023; approved after reviewing 30.03.2024; accepted for publication 31.03.2024; published online 14.05.2024.