On guiding the augmentation of an automated test suite via mutation analysis

被引:0
|
作者
Ben H. Smith
Laurie Williams
机构
[1] North Carolina State University,Department of Computer Science
来源
Empirical Software Engineering | 2009年 / 14卷
关键词
Mutation testing; Line coverage; Fault injection; Empirical effectiveness; Test case augmentation; Mutation analysis; Mutation testing tool; Statement coverage; Test adequacy; Web application; Open source; Unit testing;
D O I
暂无
中图分类号
学科分类号
摘要
Mutation testing has traditionally been used as a defect injection technique to assess the effectiveness of a test suite as represented by a “mutation score.” Recently, mutation testing tools have become more efficient, and industrial usage of mutation analysis is experiencing growth. Mutation analysis entails adding or modifying test cases until the test suite is sufficient to detect as many mutants as possible and the mutation score is satisfactory. The augmented test suite resulting from mutation analysis may reveal latent faults and provides a stronger test suite to detect future errors which might be injected. Software engineers often look for guidance on how to augment their test suite using information provided by line and/or branch coverage tools. As the use of mutation analysis grows, software engineers will want to know how the emerging technique compares with and/or complements coverage analysis for guiding the augmentation of an automated test suite. Additionally, software engineers can benefit from an enhanced understanding of efficient mutation analysis techniques. To address these needs for additional information about mutation analysis, we conducted an empirical study of the use of mutation analysis on two open source projects. Our results indicate that a focused effort on increasing mutation score leads to a corresponding increase in line and branch coverage to the point that line coverage, branch coverage and mutation score reach a maximum but leave some types of code structures uncovered. Mutation analysis guides the creation of additional “common programmer error” tests beyond those written to increase line and branch coverage. We also found that 74% of our chosen set of mutation operators is useful, on average, for producing new tests. The remaining 26% of mutation operators did not produce new test cases because their mutants were immediately detected by the initial test suite, indirectly detected by test suites we added to detect other mutants, or were not able to be detected by any test.
引用
收藏
页码:341 / 369
页数:28
相关论文
共 50 条
  • [1] On guiding the augmentation of an automated test suite via mutation analysis
    Smith, Ben H.
    Williams, Laurie
    EMPIRICAL SOFTWARE ENGINEERING, 2009, 14 (03) : 341 - 369
  • [2] Should software testers use mutation analysis to augment a test set?
    Smith, Ben H.
    Williams, Laurie
    JOURNAL OF SYSTEMS AND SOFTWARE, 2009, 82 (11) : 1819 - 1832
  • [3] On the Use of Mutation Analysis for Evaluating Student Test Suite Quality
    Perretta, James
    DeOrio, Andrew
    Guha, Arjun
    Bell, Jonathan
    PROCEEDINGS OF THE 31ST ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, ISSTA 2022, 2022, : 263 - 275
  • [4] Directed test suite augmentation: an empirical investigation
    Xu, Zhihong
    Kim, Yunho
    Kim, Moonzoo
    Cohen, Myra B.
    Rothermel, Gregg
    SOFTWARE TESTING VERIFICATION & RELIABILITY, 2015, 25 (02) : 77 - 114
  • [5] Test Suite Reduction for Mutation Testing Based on Formal Concept Analysis
    Li, Liping
    Gao, Honghao
    2015 16TH IEEE/ACIS INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, ARTIFICIAL INTELLIGENCE, NETWORKING AND PARALLEL/DISTRIBUTED COMPUTING (SNPD), 2015, : 443 - 447
  • [6] Validating Test Case Migration via Mutation Analysis
    Jovanovikj, Ivan
    Yigitbas, Enes
    Nagaraj, Achyuth
    Anjorin, Anthony
    Sauer, Stefan
    Engels, Gregor
    2020 IEEE/ACM 15TH INTERNATIONAL CONFERENCE ON AUTOMATION OF SOFTWARE TEST, AST, 2020, : 31 - 40
  • [7] Instructor-Written Hints as Automated Test Suite Quality Feedback
    Perretta, James
    DeOrio, Andrew
    Guha, Arjun
    Bell, Jonathan
    PROCEEDINGS OF THE 56TH ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, SIGCSE TS 2025, VOL 2, 2025, : 910 - 916
  • [8] Instructor-Written Hints as Automated Test Suite Quality Feedback
    Perretta, James
    DeOrio, Andrew
    Guha, Arjun
    Bell, Jonathan
    PROCEEDINGS OF THE 56TH ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, SIGCSE TS 2025, VOL 1, 2025, : 1120 - 1126
  • [9] Instructor-Written Hints as Automated Test Suite Quality Feedback
    Perretta, James
    DeOrio, Andrew
    Guha, Arjun
    Bell, Jonathan
    PROCEEDINGS OF THE 56TH ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, SIGCSE TS 2025, VOL 2, 2025,
  • [10] Instructor-Written Hints as Automated Test Suite Quality Feedback
    Perretta, James
    DeOrio, Andrew
    Guha, Arjun
    Bell, Jonathan
    PROCEEDINGS OF THE 56TH ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, SIGCSE TS 2025, VOL 1, 2025, : 1071 - 1077