摘要
自动化单元测试是现代软件开发研究的热点。Randoop自动化单元测试用例生成工具针对Java和.NET代码,基于反馈指导随机生成测试用例,在业界应用广泛。为了有效使用Randoop进行自动化测试,采用经验软件工程的方法,通过实验分析Randoop的性能特点;实验选取4个有代表性的Java开源项目,分析Randoop生成测试用例的代码覆盖率和变异体检测能力,以及它们与时间成本和被测类源代码的代码结构之间的关系。实验发现,Randoop可以在短时间内生成有效的测试用例,生成测试用例的性能随时间增加而上升,并在测试用例生成时间为120 s时趋于稳定,其平均变异体覆盖率达55.59%,且平均变异体杀死率为28.15%。Randoop生成的测试用例的性能与被测类源代码的代码结构和复杂度存在一定的关系。该研究为软件测试人员有效使用Randoop工具提供了有价值的参考。
- 单位