Metamorphic Testing: A Simplified Solution To Test Non-Testable Programs And Relieves The Need Of Complex Test Oracles In Testing
Test oracle is an important factor and plays a vital role in testing to determine the test case result correctness.
Most of the automatic testing techniques were adopted test oracle design tools to generate state-of-the-art test oracles to
validate test results. Designing the test oracles become more complex and even not possible for most of the application areas
like multi precision arithmetic, graph theory, machine learning, Bio-Informatics, Network simulations, Computer graphics
and compilers etc. To avoid this test oracle problem, Metamorphic Testing (MT) has been arrived in the area of testing. MT
uses the Metamorphic Relations (MR) to ensure the correctness of test outputs and to test the application by generating
follow-up test cases for efficient detection of flaws. In this paper, we apply the metamorphic testing on various non-testable
programs to relieve the need of complex or unavailable test oracle in testing. To support our research statement, we have
taken up the challenge to implement metamorphic relations for the non-testable areas are Multi Precision Arithmetic (MPA)
and Graph Theory Algorithms (GTA). Case studies on non-testable programs prove the scalability, accuracy and adoptability
of our approach in detailed manner. Results of case studies will be compared to ensure the effectiveness of adopting MT for
testing the non-testable programs.
Index Terms—Metamorphic Testing, Metamorphic Relations, Non-Testable programs, Test Oracles, Test Cases