變異測試工具配置-muclipse
變異測試是通過改變被測物件的原始碼,比較單元測試用例的結果,來判斷單元測試用例的質量。瞭解不是很深,只能粗粗介紹,歡迎大家補充。
網上發現變異測試的資料很少,大多是學術論文為主。
變異測試的公主要是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. 看結果
點選重新整理按鈕