摘要
在软件测试中,测试用例对被测软件的覆盖率,是发现软件缺陷的重要前提之一.本文采用软件工程实验方法,基于Defects4J数据集,对Evosuite和Randoop工具在不同的生成时间限制下,生成的测试用例对程序模块的覆盖率,程序分支的覆盖率等进行实验分析,发现当生成时间超过20 s时,虽然Randoop生成的测试用例多于Evosuite,但Evosuite测试用例的覆盖率明显优于Randoop.本文同时对影响覆盖率的因素进行了分析.该研究对于如何使用这两种工具生成高覆盖率的测试用例,以及对工具的改进具有参考价值.
In the software testing,coverage of test cases is one of the important prerequisites to find software defects.In this study,the experiment method in software engineering was used to analyze the coverage of program modules and program branches.Based on the Defects4J dataset,Evosuite and Randoop tools were used to generate test cases under different generating time limits.When the generation time exceeded 20 s,the numbers of test cases produced by Randoop was more than that produced by Evosuite,but the coverage of Evosuite test cases was significantly higher than the coverage of Randoop.At the same time,this study also analyzed the factors affecting the coverage.It is a good reference for how to use these tools to generate high coverage test case and for the improvement of tools.
作者
杨正卉
洪玫
郭丹
王潇
刘芳
黄小丹
YANG Zheng-Hui;HONG Mei;GUO Dan;WANG Xiao;LIU Fang;HUANG Xiao-Dan(College of Computer Science(College of Software Engineering),Sichuan University,Chengdu 610065,China)
出处
《计算机系统应用》
2020年第9期40-46,共7页
Computer Systems & Applications