單元測(cè)試基礎(chǔ)
當(dāng)今軟件測(cè)試十分盛行時(shí),本人通過(guò)項(xiàng)目實(shí)踐和個(gè)人親身體會(huì)淺談單元測(cè)試,本人一直堅(jiān)持“用代碼說(shuō)話的原則”,同時(shí)也希望個(gè)人能給出寶貴意見(jiàn),共同探討、共同進(jìn)步,為中國(guó)軟件事業(yè)有更大的發(fā)展共同奮斗!
早我們項(xiàng)目組開(kāi)發(fā)的項(xiàng)目時(shí),寫(xiě)代碼都是從底層一直寫(xiě)到表現(xiàn)層到j(luò)sp,然后開(kāi)發(fā)人員在web層調(diào)試頁(yè)面,近乎98%都會(huì)報(bào)一大堆exception,然后再在代碼中加斷點(diǎn)一步一步查到底哪一層代碼出現(xiàn)問(wèn)題……,比較好點(diǎn)做法是在各個(gè)類中加上main方法測(cè)試,但總體很不理想,給web層開(kāi)發(fā)人員的調(diào)試和質(zhì)量控制人員帶來(lái)繁重的工作壓力;使用單元測(cè)試后,針對(duì)每一個(gè)方法都做嚴(yán)格的把關(guān),大大減少調(diào)試的時(shí)間;同時(shí)質(zhì)量控制人員返回過(guò)來(lái)的bug少了近60%,現(xiàn)在對(duì)于開(kāi)發(fā)人員寫(xiě)測(cè)試用例非常熟練,并且本人根據(jù)實(shí)際情況對(duì)測(cè)試用例做了點(diǎn)小小改動(dòng)(這部分主要在后面代碼中詳述),帶來(lái)很好的效果!
單元測(cè)試到底給實(shí)際開(kāi)發(fā)帶來(lái)什么好處那?
(1)首先對(duì)于開(kāi)發(fā)人員來(lái)說(shuō)大大減少調(diào)試工作的時(shí)間,同時(shí)也規(guī)范了對(duì)于代碼安全管理(我們知道那些方法是可以調(diào)用的);
(2) 對(duì)于整個(gè)項(xiàng)目來(lái)說(shuō),有了完整的測(cè)試,保證項(xiàng)目后交付測(cè)試有了可靠依據(jù);
(3)對(duì)于測(cè)試人員大大減少bug的反饋;
(4)對(duì)于項(xiàng)目經(jīng)理整個(gè)項(xiàng)目達(dá)到很好的可控;
(5)主要的完整的單元測(cè)試給后期維護(hù)人員帶來(lái)很大的便捷!
單元測(cè)試好處可能還有很多,但本人只能理解和感悟這么多,希望觀者補(bǔ)充!
單元測(cè)試配置:
我將使用eclipse+myEclopse給大家介紹關(guān)于JUNIT的環(huán)境的簡(jiǎn)單配置;右鍵點(diǎn)擊項(xiàng)目選擇“屬性”,在彈出窗口中到環(huán)境變量中添加junit.jar包,這樣下一步我們可以進(jìn)行單元測(cè)試了;
使用eclipse快速開(kāi)發(fā)test Case:
如下圖:右鍵選擇你要測(cè)試的類,在新建中點(diǎn)擊“JUnit 測(cè)試用例”,
彈出對(duì)話框,配置測(cè)試名稱和根目錄,添加注釋等,再點(diǎn)擊“下一步”到下圖: