Abstract

Metamorphic testing is the youngest testing ap-proach among other members of the testing family. It is de-signed to test software, which are complex in nature and it is difficult to compute test oracle for them against a given set of inputs. Metamorphic testing approach tests the software with the help of metamorphic relations that guide the tester to check if the observed output can be produced after applying a certain input. Since its first appearance, a lot of research has been done to check its effectiveness on different complex families of software applications like search engines, compilers, artificial intelligence (AI) and so on. Artificial intelligence has gained immense attention due to its successfully application in many of the computer science and even other domains like medical science, social science, economic, and so on. AI-based applications are quite complex in nature as compared to other conventional software applications and because of that they are hard to test. We have selected specifically testing of AI-based applications for this research study. Although all the researchers claim to propose the best set of metamorphic relations to test AI-based applications but that still needs to be verified. In this study, we have performed a critical review supported by rigorous set of parameters that we have prepared after thorough literature survey. The survey shows that researchers have applied metamorphic testing on applications that are either based on Genetic Algorithm (GA) or Machine Learning (ML). Our analysis has helped us identifying the strengths and weaknesses of the proposed approaches. Research still needs to be done to design a generalized set of metamorphic rules that can test a family of AI applications rather than just one. The findings are supported by strong arguments and justified with logical reasoning. The identified problem domains can be targeted by the researchers in future to further enhance the capabilities of metamorphic testing and its range of applications.

Highlights

  • Before using any type of machinery or equipment, it is necessary to make sure that it is needed, that it is accurate, and that its output is in line with the requirements of whatever process it will be used in

  • Metamorphic testing aims at solving the test oracle problem

  • We identify certain metamorphic relations that we can later on use to generate test cases

Read more

Summary

INTRODUCTION

Before using any type of machinery or equipment, it is necessary to make sure that it is needed, that it is accurate, and that its output is in line with the requirements of whatever process it will be used in. Some software are extremely difficult to test because of their application and complex input scenarios like intelligence-based 3D games, search engines, compilers, machine learning based applications and so on. For those and similar other applications, it is very difficult to compute expected outputs for a set of given inputs. AI-based applications are difficult to test as they are extremely complex in nature (implementing www.ijacsa.thesai.org (IJACSA) International Journal of Advanced Computer Science and Applications, Vol 11, No 4, 2020 complex algorithms or may be manipulating huge amount of data) and its hard to generate test oracles for them Due to this very reason, metamorphic testing techniques have been designed and proposed to test them. They are executed and results are recorded, which later can be verified with the help of metamorphic relations to ensure if a give test case is passed or failed

RELATED WORK
METAMORPHIC TESTING
Metamorphic Relations
Literature Reviewed
Domain of the Subject
Automation
Complexity
Time Efficiency
Case Study
ANALYSIS
CONCLUSION
FUTURE WORK
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.