變異測試載入器配置-muclipse

來源:互聯網
上載者:User

標籤:測試載入器   變異   配置   

變異測試是通過改變被測對象的源碼,比較單元測試用例的結果,來判斷單元測試用例的品質。瞭解不是很深,只能粗粗介紹,歡迎大家補充。

網上發現變異測試的資料很少,大多是學術論文為主。

變異測試的公主要是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

650) this.width=650;" src="http://img.blog.csdn.net/20140626151614031?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2hlbmppYXpodQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" />


in source tab, 可以修改output folder,就是編譯後的.class檔案的地址,這裡預設是bin

650) this.width=650;" src="http://img.blog.csdn.net/20140626151642718?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2hlbmppYXpodQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" />


2. 編譯項目,可以在bin裡面看到編譯後的.class檔案

右鍵項目名,build project



3. 產生變異後的源檔案

1. 右鍵項目名-> run as -> run configuration...



配置Deriectories

650) this.width=650;" src="http://img.blog.csdn.net/20140626151701218?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2hlbmppYXpodQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" />

配置Operator

650) this.width=650;" src="http://img.blog.csdn.net/20140626151709265?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2hlbmppYXpodQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" />


click run 產生變異代碼,具體見result目錄


4.eclipse裡顯示mutation結果

windows -> show view

650) this.width=650;" src="http://img.blog.csdn.net/20140626151729093?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2hlbmppYXpodQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" />


注意這邊只有method-level有變異的執行個體


650) this.width=650;" src="http://img.blog.csdn.net/20140626152038703?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2hlbmppYXpodQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" />

650) this.width=650;" src="http://img.blog.csdn.net/20140626152049093?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2hlbmppYXpodQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" />



5. 執行test

配置muclipse test:右擊項目名->run as -> run configuration

650) this.width=650;" src="http://img.blog.csdn.net/20140626152107984?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2hlbmppYXpodQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" />


配置testing operation : 由於生產的變異執行個體只有method level的,所以class-level的不要勾上,不然會有錯誤,click run button


650) this.width=650;" src="http://img.blog.csdn.net/20140626152826156?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2hlbmppYXpodQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" />

6. 看結果


點擊重新整理按鈕

650) this.width=650;" src="http://img.blog.csdn.net/20140626152514296?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2hlbmppYXpodQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" />


本文出自 “愛工作愛生活” 部落格,轉載請與作者聯絡!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.