JAVA—咖啡館

          ——?dú)g迎訪問(wèn)rogerfan的博客,常來(lái)《JAVA——咖啡館》坐坐,喝杯濃香的咖啡,彼此探討一下JAVA技術(shù),交流工作經(jīng)驗(yàn),分享JAVA帶來(lái)的快樂(lè)!本網(wǎng)站部分轉(zhuǎn)載文章,如果有版權(quán)問(wèn)題請(qǐng)與我聯(lián)系。

          BlogJava 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
            447 Posts :: 145 Stories :: 368 Comments :: 0 Trackbacks
          【IT168 技術(shù)文檔】

            單元測(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à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ā)人員寫測(cè)試用例非常熟練,并且本人根據(jù)實(shí)際情況對(duì)測(cè)試用例做了點(diǎn)小小改動(dòng)(這部分主要在后面代碼中詳述),帶來(lái)很好的效果!

            單元測(cè)試到底給實(shí)際開(kāi)發(fā)帶來(lái)什么好處那?

            (1) (1)首先對(duì)于開(kāi)發(fā)人員來(lái)說(shuō)大大減少調(diào)試工作的時(shí)間,同時(shí)也規(guī)范了對(duì)于代碼安全管理(我們知道那些方法是可以調(diào)用的);

            (2) (2)對(duì)于整個(gè)項(xiàng)目來(lái)說(shuō),有了完整的測(cè)試,保證項(xiàng)目最后交付測(cè)試有了可靠依據(jù);

            (3) (3)對(duì)于測(cè)試人員大大減少bug的反饋;

            (4) (4)對(duì)于項(xiàng)目經(jīng)理整個(gè)項(xiàng)目達(dá)到很好的可控;

            (5) (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)擊“下一步”到下圖:

          選擇你要測(cè)試類中的方法,點(diǎn)擊完成!便生成測(cè)試類的基本框架,如下代碼,我們以對(duì)一個(gè)DAO類測(cè)試為例:


          JUnit單元測(cè)試一共要注意一下幾點(diǎn):
          (1)import junit.framework.TestCase和junit.textui.TestRunner;
          (2)繼承junit.framework.TestCase;
          (3)自行添加一個(gè)main方法 中調(diào)用TestRunner.run(測(cè)試類名.class);
          (4)有一個(gè)調(diào)用super(String)的構(gòu)造函數(shù);
          以上都是JUnit必有的特征,除以上外,我們發(fā)現(xiàn)有許多以test開(kāi)頭的方法,而這些方法正是我們要測(cè)試的方法,Junti測(cè)試其實(shí)采用的是斷言的方式,只要我們?cè)谒衪est開(kāi)頭中的方法對(duì)數(shù)據(jù)添加斷言方法,同時(shí)提供很多斷言的方法,

           

          posted on 2009-03-06 09:55 rogerfan 閱讀(1075) 評(píng)論(0)  編輯  收藏 所屬分類: 【Java知識(shí)】【開(kāi)源技術(shù)】
          主站蜘蛛池模板: 莒南县| 色达县| 沈阳市| 静宁县| 玛纳斯县| 民县| 临高县| 仁布县| 荥阳市| 云阳县| 额济纳旗| 清远市| 北碚区| 大新县| 布拖县| 云浮市| 公安县| 溆浦县| 云霄县| 阿荣旗| 普兰店市| 巫溪县| 怀宁县| 东城区| 全州县| 邢台市| 遂溪县| 博湖县| 平湖市| 同德县| 襄樊市| 台北县| 进贤县| 治县。| 宁强县| 榆社县| 慈溪市| 大同县| 商丘市| 石渠县| 雅安市|