Agitar -單元測(cè)試自動(dòng)化生成利器
根據(jù)客戶的要求,最近項(xiàng)目要用Agitar來(lái)生成單元測(cè)試用例。
Agitar是基于CS的架構(gòu)。客戶端是基于Eclipse的插件,Dev編寫好要測(cè)試的代碼,并編譯后將代碼發(fā)送到服務(wù)端。服務(wù)端分析Class文件,生成Unit test case文件發(fā)送給客戶端,也就是Dev。Dev就可以通過(guò)Junit做單元測(cè)試了,聽起來(lái)是不是很神奇,確實(shí)如此,我試了試,對(duì)于簡(jiǎn)單的代碼而言,測(cè)試代碼的覆蓋率基本都能達(dá)到100%。它的另一個(gè)重要功能是Agitaration,它會(huì)分析你的代碼,在服務(wù)器端測(cè)試代碼的質(zhì)量。比如它會(huì)對(duì)于邊界值等進(jìn)行測(cè)試。
而對(duì)于Dev之上的TL或者PM,通過(guò)服務(wù)端每天產(chǎn)生的DashBoard可以查看整個(gè)項(xiàng)目代碼質(zhì)量,比如有多少TestCase沒(méi)有通過(guò)。它會(huì)分析每一個(gè)類及方法的復(fù)雜度,便于管理確保項(xiàng)目質(zhì)量。
整體而言,這個(gè)軟件還是很不錯(cuò)的,它是根據(jù)分析你的Class文件,生成“Characters test case ”,而不是根據(jù)業(yè)務(wù)邏輯的TestCase。
對(duì)于我們Dev而言,通過(guò)它的Agitaration功能,可以看到我們代碼的具體行為,查看那些不是我們真正希望的行為,也就是Bug。同時(shí)由于不用編寫那些character test case,可以大大減少我們編寫乏味的TestCase的時(shí)間,是我們的重點(diǎn)放在真正的業(yè)務(wù)邏輯。
但是通過(guò)這幾天的實(shí)踐,由于我們要重構(gòu)的方法比較大,行數(shù)基本都在2K以上,代碼生成的效果還是很差。還是需要我們具體的編碼啊!!!!
另外這個(gè)軟件是商業(yè)軟件,它的Trial Version也只是讓你下載客戶端,然后你要把你的代碼發(fā)送到服務(wù)端,但公司在USA,我反正在家里連插件都沒(méi)有下載下來(lái),太慢了。如果代碼發(fā)過(guò)去,然后再把他們生成的代碼發(fā)過(guò)來(lái),不知道到猴年馬月了!!
Agitar是基于CS的架構(gòu)。客戶端是基于Eclipse的插件,Dev編寫好要測(cè)試的代碼,并編譯后將代碼發(fā)送到服務(wù)端。服務(wù)端分析Class文件,生成Unit test case文件發(fā)送給客戶端,也就是Dev。Dev就可以通過(guò)Junit做單元測(cè)試了,聽起來(lái)是不是很神奇,確實(shí)如此,我試了試,對(duì)于簡(jiǎn)單的代碼而言,測(cè)試代碼的覆蓋率基本都能達(dá)到100%。它的另一個(gè)重要功能是Agitaration,它會(huì)分析你的代碼,在服務(wù)器端測(cè)試代碼的質(zhì)量。比如它會(huì)對(duì)于邊界值等進(jìn)行測(cè)試。
而對(duì)于Dev之上的TL或者PM,通過(guò)服務(wù)端每天產(chǎn)生的DashBoard可以查看整個(gè)項(xiàng)目代碼質(zhì)量,比如有多少TestCase沒(méi)有通過(guò)。它會(huì)分析每一個(gè)類及方法的復(fù)雜度,便于管理確保項(xiàng)目質(zhì)量。
整體而言,這個(gè)軟件還是很不錯(cuò)的,它是根據(jù)分析你的Class文件,生成“Characters test case ”,而不是根據(jù)業(yè)務(wù)邏輯的TestCase。
對(duì)于我們Dev而言,通過(guò)它的Agitaration功能,可以看到我們代碼的具體行為,查看那些不是我們真正希望的行為,也就是Bug。同時(shí)由于不用編寫那些character test case,可以大大減少我們編寫乏味的TestCase的時(shí)間,是我們的重點(diǎn)放在真正的業(yè)務(wù)邏輯。
但是通過(guò)這幾天的實(shí)踐,由于我們要重構(gòu)的方法比較大,行數(shù)基本都在2K以上,代碼生成的效果還是很差。還是需要我們具體的編碼啊!!!!
另外這個(gè)軟件是商業(yè)軟件,它的Trial Version也只是讓你下載客戶端,然后你要把你的代碼發(fā)送到服務(wù)端,但公司在USA,我反正在家里連插件都沒(méi)有下載下來(lái),太慢了。如果代碼發(fā)過(guò)去,然后再把他們生成的代碼發(fā)過(guò)來(lái),不知道到猴年馬月了!!
posted on 2007-12-15 19:28 advincenting 閱讀(4234) 評(píng)論(1) 編輯 收藏