一种自动化测试用例集生成工具——EvoSuite

Evosuite是由Sheffield等大学联合开发的一种开源工具,用于自动生成测试用例集,生成的测试用例均符合Junit的标准,可直接在Junit中运行。

下图为Evosuite插件版的结果截图。左边图为正在生成测试用例,右边图为生成的若干测试用例在Junit下的运行结果。

 一种自动化测试用例集生成工具——EvoSuite_第1张图片

该网站上提供下载的是一个evosuite-20141014.jar文件,但是由于插件只支持Mac系统和Eclipse的Juno版本,现在并不具备此环境,所以我们使用的是该帮助文档提供的命令行模式,假设我们要测试的文件为Input目录下的Test.java文件,则使用如下命令,则可以生成我们需要的测试用例集。

 

之后的输出结果,有两个文件夹,evosuite-report和evosuite-tests。

 

其中evosuite-tests中的Test_ESTest文件保存着生成的测试用例,其与源测试文件Test如下图所示:

 一种自动化测试用例集生成工具——EvoSuite_第2张图片

该工具满足分支覆盖,可看到源测试文件Test中,含有4个if判定,分别位于第4行、第10行、第16行和第23行,而生成的测试文件Test_ESTest中,测试用例0和测试用例1均分别覆盖了这四个判定的真假分支,未显示出来的测试用例2则为空,即不覆盖任何一个分支。

该截图第一行显示了import进来的junit函数,每个测试用例均可直接用于Junit测试直接运行。

 

另外一个输出文件evosuite-report中包含一个csv文件,用于统计覆盖分支的数目和分支覆盖率。

 

可看出,表示测试文件为Test,覆盖标准为Branch分支覆盖,覆盖率为100%,总共分支目标有9个,覆盖了9个。

 

此工具链接为:http://www.evosuite.org/downloads/

使用文档为:http://www.evosuite.org/documentat

 

更多精彩的测试文章请关注微信公众号SogouQA,关注完成之后请发送一条消息wls,谢谢!

你可能感兴趣的:(测试)