Title Metamorphic relation based test case generation method /
Translation of Title Metamorfiniais ryšiais grįstas testų generavimo metodas.
Authors Michnevič, Lukaš
Full Text Download
Pages 52
Keywords [eng] Testų generavimas, Metamorfinis ryšys, Automatizuotas testavimas Test Case Generation, Metamorphic Relation, Automated Testing
Abstract [eng] Metamorphic testing allows testing soſtware that is typically hard to test extensively since it does not rely on test oracles to verify the correctness of the Soſtware Under Test. In practice, metamorphic relations—the weak specification of a program that encodes certain actions that must occur if required conditions are met — are detected mostly manually by experienced soſtware testing practitioners. Automated metamorphic relation (MR) search procedures are hard to universalize due to the various ways a program can be implemented. This paper proposes Aya – a C++ library capable of detecting MRs in an arbitrary function by checking it against user‑provided inputs and input transformations. It was shown that Aya can detect the same metamorphic relations as they were discovered in analogous Search‑Based methods, positioning it for further experimentation and improvements, such as testing reversible computation mechanisms like encoding/decoding cycles and matrix calculations. Moreover, Aya can detect metamorphic relations during program runtime, capturing immediate results of each MR produced, effectively functioning as a standalone test. To help universally capture MRs for arbitrary functions, meta‑programming techniques like C++ templates were deployed, allowing the user to retain the simplicity of MR generation while providing an option to generate metamorphic relations for a significantly larger number of use‑cases. It was shown that large chains of transformers applied to initial inputs and outputs are not more helpful than shorter chains – in tested soſtware, average mutation score for both short (1‑2 transforms in a chain) to long (3+) was roughly the same: 50‑70% for more complex functions, and nearly 100% for simpler mathematical functions.
Dissertation Institution Vilniaus universitetas.
Type Master thesis
Language English
Publication date 2025