# Fault Detection Effectiveness of Source Test Case Generation Strategies for Metamorphic Testing

**Authors:** Prashanta Saha, Upulee Kanewala  
**arXiv:** [1802.07361](https://arxiv.org/abs/1802.07361)  
**Date:** 2018-02-20  
**Summary page:** https://www.summarizepaper.com/en/arxiv-id/1802.07361v1/

## Key points

- Metamorphic testing is a widely used approach in software testing to address the oracle problem.
- Source test cases are used as seeds to generate follow-up test cases in metamorphic testing.
- The quality of source test cases is crucial for the effectiveness of metamorphic testing.
- Previous studies have mainly used random test data or existing test cases as source test cases.
- Limited research has been done on systematic source test case generation for metamorphic testing.
- The authors provide a comprehensive evaluation of different source test case generation techniques and their impact on fault finding effectiveness.
- Line coverage, branch coverage, weak mutation, and random test generation strategies are evaluated for generating source test cases.
- Experiments are conducted on 77 methods from 4 open-source code repositories.
- Systematically creating source test cases using these strategies significantly increases fault finding effectiveness.
- The authors introduce a simple metamorphic testing tool called "METtester" for conducting metamorphic testing.
- Other related work includes partitioning the input domain of the program under test into multiple equivalence classes and generating test cases covering these classes.
- This paper provides valuable insights into the importance of systematic source test case generation for improving fault detection effectiveness in metamorphic testing.

## Summary

Metamorphic testing is a widely used approach in software testing to address the oracle problem. It involves using source test cases as seeds to generate follow-up test cases. The quality of these source test cases plays a crucial role in the effectiveness of metamorphic testing. While previous studies have mainly used random test data or existing test cases as source test cases, there has been limited research on systematic source test case generation for metamorphic testing. In this paper, the authors provide a comprehensive evaluation of different source test case generation techniques and their impact on the fault finding effectiveness of metamorphic testing. They specifically evaluate the effectiveness of line coverage, branch coverage, weak mutation, and random test generation strategies for generating source test cases. The experiments are conducted on 77 methods from 4 open-source code repositories. The results show that by systematically creating source test cases using these strategies, there is a significant increase in the fault finding effectiveness of metamorphic testing. The authors also introduce a simple metamorphic testing tool called "METtester" that they use to conduct metamorphic testing on these methods. Additionally, the paper discusses other related work in this area. For example, Chen et al. proposed partitioning the input domain of the program under test (PUT) into multiple equivalence classes for metamorphic testing and developed an algorithm to generate test cases covering these equivalence classes. Overall, this paper provides valuable insights into the importance of systematic source test case generation for improving the fault detection effectiveness of metamorphic testing. The evaluation results and introduction of METtester contribute to advancing research in this field.
