Metamorphic testing (MT) is an established testing methodology suitable for testing various types of systems. While performing MT, software testers face the challenge of identifying and implementing metamorphic relations (MRs) for their software systems. This paper introduces GeMTest, a general-purpose metamorphic testing framework that is domain-independent, enabling software testers to implement MRs in Python and execute them with pytest. The implementation of MRs is done by annotating Python functions, which implement the follow-up generation function, the metamorphic oracle, and the system under test with decorators provided by GeMTest. This allows GeMTest to automatically create and execute a pytest test suite, containing multiple metamorphic test cases derived from the user-defined MRs. We evaluate GeMTest by implementing 218 MRs from 16 program domains, ranging from SAT solvers to deep learning image classifiers. To enable the adoption and encourage further extension, an open-source implementation of GeMTest is available. Our demo video is available at https://youtu.be/Ec5SK-meu90.
Fri 2 MayDisplayed time zone: Eastern Time (US & Canada) change
16:00 - 17:30 | Testing and QA 6Journal-first Papers / Research Track / Demonstrations at 205 Chair(s): Majid Babaei McGill University | ||
16:00 15mTalk | Characterizing Timeout Builds in Continuous Integration Journal-first Papers Nimmi Weeraddana University of Waterloo, Mahmoud Alfadel University of Calgary, Shane McIntosh University of Waterloo | ||
16:15 15mTalk | GeMTest: A General Metamorphic Testing Framework Demonstrations Pre-print | ||
16:30 15mTalk | Mole: Efficient Crash Reproduction in Android Applications With Enforcing Necessary UI Events Journal-first Papers Maryam Masoudian Sharif University of Technology, Hong Kong University of Science and Technology (HKUST), Heqing Huang City University of Hong Kong, Morteza Amini Sharif University of Technology, Charles Zhang Hong Kong University of Science and Technology | ||
16:45 15mTalk | History-Driven Fuzzing for Deep Learning Libraries Journal-first Papers Nima Shiri Harzevili York University, Mohammad Mahdi Mohajer York University, Moshi Wei York University, Hung Viet Pham York University, Song Wang York University | ||
17:00 15mTalk | Towards a Cognitive Model of Dynamic Debugging: Does Identifier Construction Matter? Journal-first Papers Danniell Hu University of Michigan, Priscila Santiesteban University of Michigan, Madeline Endres University of Massachusetts Amherst, Westley Weimer University of Michigan | ||
17:15 15mTalk | Janus: Detecting Rendering Bugs in Web Browsers via Visual Delta Consistency Research Track Chijin Zhou Tsinghua University, Quan Zhang Tsinghua University, Bingzhou Qian National University of Defense Technology, Yu Jiang Tsinghua University |