测试套件
代码覆盖率
冗余(工程)
计算机科学
测试用例
随机测试
自动测试模式生成
可靠性工程
故障覆盖率
模糊测试
测试管理方法
软件质量
测试压缩
测试中的系统
考试(生物学)
软件
基于模型的测试
故障检测与隔离
软件开发
程序设计语言
人工智能
机器学习
工程类
软件建设
操作系统
回归分析
古生物学
执行机构
电子线路
生物
电气工程
标识
DOI:10.1145/3545258.3545280
摘要
Software testing plays a very important role in the software development process. Automated test generation tools increase the effectiveness and efficiency of software testing, and alleviate the problem of low efficiency caused by writing hand-crafted test cases. However, different test case generation methods vary in the size, code coverage, and fault detection capacity of the automatically-produced test suites. Automated test case generation tool based on random testing, Randoop as a representative, randomly and incrementally generates a large number of method sequences, which gives various possible combinations of calling methods, but the size of the test suite is not proportional to test quality. Therefore, there exists a lot of redundancy in the test cases. This paper proposes Randoop-TSR, an approach for identifying and eliminating redundant test cases on the basis of Randoop to improve the process of test generation. Our approach adopts three strategies to realize the removal of redundancy, namely: (i) similarity-based input sequence selection; (ii) redundant and duplicate assert statements elimination based on test smell detection; (iii) redundant test cases elimination without breaking test requirements (i.e., code coverage and mutation score). Randoop-TSR can eliminate redundancy effectively, and greatly reduce the size of test suites and execution time. Furthermore, our approach improves the efficiency and understandability of test cases while retaining code coverage and mutation score.
科研通智能强力驱动
Strongly Powered by AbleSci AI