您的位置:軟件測(cè)試 > 開(kāi)源軟件測(cè)試 > 開(kāi)源單元測(cè)試工具 >
NetBeans 5.0 單元測(cè)試實(shí)踐
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/1/29 14:54:55 ] 推薦標(biāo)簽:

    摘要:軟件開(kāi)發(fā)和軟件測(cè)試像兩兄弟,他們密不可分、協(xié)同合作,目標(biāo)只有一個(gè),那是成功開(kāi)發(fā)出高質(zhì)量的軟件。開(kāi)發(fā)與測(cè)試之間的關(guān)系如此密切,讓我們很難徹底的將兩者嚴(yán)格的劃分開(kāi)來(lái)。單元測(cè)試做為測(cè)試的一部分,一般都由編碼人員來(lái)承擔(dān),對(duì)于模塊級(jí)一直都是誰(shuí)編碼、誰(shuí)測(cè)試。因此測(cè)試不僅僅是測(cè)試人員的事情,作為編碼人員也需要懂得測(cè)試的基本方法,以通過(guò)單元測(cè)試提交高質(zhì)量的程序模塊。

    關(guān)鍵字:NetBeans,Junit,單元測(cè)試

    1 引言:

    任何一個(gè)程序員都知道單元測(cè)試的重要性,沒(méi)有經(jīng)過(guò)嚴(yán)格測(cè)試的模塊是“靠不住”的,組裝過(guò)程會(huì)出現(xiàn)越來(lái)越多的Bug,甚至到了客戶那里都不能正常工作,這簡(jiǎn)直是一場(chǎng)災(zāi)難。雖然每個(gè)程序員都深刻的知道這點(diǎn),但是很多時(shí)候在進(jìn)度的壓力下,程序員不得不放棄部分甚至是全部的單元測(cè)試。特別是在我國(guó)現(xiàn)在的國(guó)情下,獻(xiàn)禮項(xiàng)目太多,建設(shè)方的領(lǐng)導(dǎo)為了在某個(gè)“有意義”的日子里使項(xiàng)目上線,往往迫使軟件開(kāi)發(fā)方違背客觀事實(shí),在不可能的工期內(nèi)完工。程序員作為項(xiàng)目的底層人員,自然沒(méi)有力量來(lái)進(jìn)行反抗,當(dāng)他們加班加點(diǎn)都無(wú)法在規(guī)定時(shí)間完成,于是放棄測(cè)試成為了他們的選擇。

    很快這成為一個(gè)惡性循環(huán):壓力越大,編寫的測(cè)試越少。編寫的測(cè)試越少,的效率越低,并且代碼越不穩(wěn)定。而效率越低并且越不精確,開(kāi)發(fā)人員感覺(jué)越有壓力。

    程序員的精力在這樣的惡性循環(huán)中被耗費(fèi)掉。想要打破它需要一種外界的影響。所謂的這種外界的影響,其實(shí)是一個(gè)簡(jiǎn)單的測(cè)試框架,它可以讓我們通過(guò)做很少的測(cè)試,來(lái)達(dá)到完整的測(cè)試,減少我們編寫測(cè)試代碼的時(shí)間。

    2 NetBeans 5.0對(duì)單元測(cè)試的支持

    NetBeans IDE 5.0 引入了對(duì)基于 NetBeans 平臺(tái)的 IDE 模塊和富客戶端程序開(kāi)發(fā)的全面支持,直觀的全新 GUI Builder Matisse,經(jīng)過(guò)重新設(shè)計(jì)的對(duì) CVS 的新支持,對(duì) Sun Application Server 8.2、Weblogic9 和 JBoss 4 的支持,以及很多的編輯器增強(qiáng)功能。同時(shí)集成了Java開(kāi)發(fā)工具中應(yīng)用廣泛的單元測(cè)試工具Junit,使得在NetBeans下進(jìn)行單元測(cè)試變得簡(jiǎn)單容易,提高了程序員進(jìn)行單元測(cè)試的積極性。

    可以使用 NetBeans IDE 創(chuàng)建以下類型的測(cè)試:

    •空測(cè)試:沒(méi)有測(cè)試方法的測(cè)試框架,尚未指定要測(cè)試的任何類。

    •現(xiàn)有類的測(cè)試:包含實(shí)際測(cè)試方法的類,這些方法鏡像了要測(cè)試的源的結(jié)構(gòu)。

    •測(cè)試套件:匯集在一起的幾組測(cè)試類,允許對(duì)整個(gè)應(yīng)用程序或項(xiàng)目進(jìn)行測(cè)試。

    可以使用以下方法生成并找到測(cè)試:在“項(xiàng)目”窗口中選擇任何類或包節(jié)點(diǎn),然后從“工具”> "JUnit" 菜單中進(jìn)行選擇。NetBeans 將單元測(cè)試表示為子樹(shù),這些子樹(shù)反映了項(xiàng)目的 Java 包結(jié)構(gòu)。每個(gè)測(cè)試類都由它所測(cè)試的類的名稱后Test 單詞組成(如 MyClassTest.java)。
每個(gè)項(xiàng)目都有一個(gè)缺省的測(cè)試包,所有的測(cè)試文件都在測(cè)試包內(nèi)被組織。程序文件與測(cè)試文件被分割成兩個(gè)獨(dú)立的部分,在項(xiàng)目下分為一個(gè)SRC文件夾和一個(gè)TEST文件夾,互相不產(chǎn)生影響,測(cè)試完成后,只需要將SRC文件夾單獨(dú)移開(kāi),并不需要TEST文件夾的支持。包結(jié)構(gòu)如下圖:

 3 被測(cè)試模塊的編寫

    新建一個(gè)Java類庫(kù)的項(xiàng)目,項(xiàng)目名稱為:MoneyChange,新建包moneychange,在包中添加類Money.class。(為了閱讀方便,下面代碼中原來(lái)的注釋已經(jīng)被刪除)

軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd