变异测试是通过改变被测对象的源码,比较单元测试用例的结果,来判断单元测试用例的质量。了解不是很深,只能粗粗介绍,欢迎大家补充。
网上发现变异测试的资料很少,大多是学术论文为主。
变异测试的公主要是mujava与muclipse,muclipse是基于mujava的,并且集成于eclipse上的插件,官网介绍
mujava http://cs.gmu.edu/~offutt/mujava/
muclipse http://muclipse.sourceforge.net/index.php
根据官网一步步来,居然没有成功,逐个改变参数摸索,终于能出结果了,所以写下这边文章,希望减少大家研究的时间
1. 安装muclipse
由于官网提供的下载url打不开,只好网上找个edu.ncsu.muclipse_1.3.0.jar下载,放入eclipse plugins目录下,重新启动eclipse,就算安装上啦,eclipse的这种安装方法真简单。
2. 准备的测试案例
package demo1;
public class Example {
public int multiply(int a, int b) {
return a * b;
}
}
package demo1;
public class ExampleTest {
public void setUp() throws Exception {
}
public void tearDown() throws Exception {
}
public int testMultiply()
{
Example ex = new Example();
return ex.multiply(1, 1);
}
}
3. 配置环境
1. 新建或者导入项目,下载extendedOJ.jar包,导入到Libraries
右击project name -> properties -> java build path -> Libraries -> Add External JARs, select it and click ok
in source tab, 可以修改output folder,就是编译后的.class文件的地址,这里默认是bin
2. 编译项目,可以在bin里面看到编译后的.class文件
右键项目名,build project
3. 生成变异后的源文件
1. 右键项目名-> run as -> run configuration...
配置Deriectories
配置Operator
click run 生成变异代码,具体见result目录
4.eclipse里显示mutation结果
windows -> show view
注意这边只有method-level有变异的实例
5. 执行test
配置muclipse test:右击项目名->run as -> run configuration
配置testing operation : 由于生产的变异实例只有method level的,所以class-level的不要勾上,不然会有错误,click run button
6. 看结果
点击刷新按钮
变异测试工具配置-muclipse,布布扣,bubuko.com