<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    qileilove

    blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問(wèn) http://qaseven.github.io/

    小議測(cè)試驅(qū)動(dòng)開(kāi)發(fā)

     字體:        | 上一篇 下一篇 | 打印  | 我要投稿  | 推薦標(biāo)簽: 軟件測(cè)試 測(cè)試驅(qū)動(dòng)

      在討論測(cè)試驅(qū)動(dòng)開(kāi)發(fā)之前,先澄清一個(gè)問(wèn)題:測(cè)試驅(qū)動(dòng)開(kāi)發(fā)是否包括驗(yàn)收測(cè)試驅(qū)動(dòng)開(kāi)發(fā)。測(cè)試驅(qū)動(dòng)開(kāi)發(fā)(Test Driven Development,簡(jiǎn)稱(chēng)TDD)存在兩種理解:

      1、包括驗(yàn)收測(cè)試驅(qū)動(dòng)開(kāi)發(fā)(Acceptance Test Driven Develop,簡(jiǎn)稱(chēng)ATDD)在內(nèi),這個(gè)是廣義的理解;

      2、TDD是采用單元測(cè)試手段,主要針對(duì)非界面代碼的,與用戶(hù)故事或需求一般沒(méi)有直接關(guān)聯(lián),這個(gè)是狹義的理解,TDD和ATDD是并列的。多數(shù)人認(rèn)為應(yīng)當(dāng)采用第2種理解,主要因?yàn)椋?/p>

      (1)TDD主要采用單元測(cè)試方法,典型工具有xUnit系列,ATDD主要采用界面自動(dòng)化測(cè)試方法,典型工具有SeleniumQTP等;

      (2)TDD主要用于設(shè)計(jì)和編碼,ATDD主要用于需求分析和確認(rèn)。下文TDD即是采用第2種理解的TDD。

       在極限編程(Extreme Programming,簡(jiǎn)稱(chēng)XP)中TDD是與簡(jiǎn)單設(shè)計(jì)、重構(gòu)、持續(xù)集成等緊密配合的,這些組成了一套威力強(qiáng)大的組合裝備。TDD是其中最突出的外在表 現(xiàn),XP中TDD遵循“測(cè)試驅(qū)動(dòng)開(kāi)發(fā)金規(guī)”:先寫(xiě)一個(gè)會(huì)失敗的測(cè)試,再寫(xiě)一個(gè)新特征,永遠(yuǎn)如此。對(duì)比在武俠世界,XP的TDD(下文稱(chēng)為極限測(cè)試驅(qū)動(dòng)開(kāi) 發(fā),英文為eXtreme Test Driven Development,簡(jiǎn)稱(chēng)為XTDD)屬于神器級(jí)別,功力不到者是沒(méi)法自如使用的,反而可能傷了自己。經(jīng)典的單元測(cè)試方法、架構(gòu)方法(比如常見(jiàn)的 MVC)和設(shè)計(jì)方法(包括常用的設(shè)計(jì)模式)是開(kāi)展TDD的基礎(chǔ),TDD的學(xué)習(xí)和 實(shí)施是循序漸進(jìn)的,由簡(jiǎn)入繁的,由淺入深的。所以把XTDD可以看成是一個(gè)極端,把沒(méi)有任何單元測(cè)試視為第二個(gè)極端,把經(jīng)典軟件工程中V模型(其在單元測(cè) 試方面的特征是針對(duì)已經(jīng)有的功能代碼編寫(xiě)單元測(cè)試,以保障代碼的質(zhì)量)的完整單元測(cè)試看成第三個(gè)極端,三者組合為一個(gè)三角型,如圖一所示。從沒(méi)有任何單元 測(cè)試到XTDD,存在多種多樣的中間狀態(tài),比如只對(duì)模塊接口進(jìn)行TDD,比如進(jìn)行模塊級(jí)的架構(gòu)設(shè)計(jì)后開(kāi)始TDD,比如在識(shí)別了主要類(lèi)后再開(kāi)始TDD,比如 對(duì)個(gè)別有把握的模塊先編碼后加抽樣的單元測(cè)試,等等。在這個(gè)三角型中選擇一個(gè)合適的點(diǎn),相信能夠發(fā)揮單元測(cè)試和TDD的最佳效果。在沒(méi)有足夠功力之前,先 不必開(kāi)展XTDD。簡(jiǎn)單否定TDD是不恰當(dāng)?shù)摹?/p>

      從CMMI角度看,TDD能夠滿(mǎn)足CMMI3級(jí)中技術(shù)方案過(guò)程域(TS)、驗(yàn)證過(guò)程域(VER)和產(chǎn)品集成過(guò)程域(PI)的多個(gè)實(shí)踐,是不錯(cuò)的工程實(shí)踐。

      從傳統(tǒng)的瀑布型生命周期方法及其衍生的V模型的角度看,TDD下的基本設(shè)計(jì)比較簡(jiǎn)略,甚至沒(méi)有,難以滿(mǎn)足設(shè)計(jì)里程碑評(píng)審的要求,TDD沒(méi)有詳細(xì)設(shè)計(jì),而單元測(cè)試各項(xiàng)指標(biāo)(比如覆蓋率、測(cè)試頻度、測(cè)試用例數(shù)量等)卻超過(guò)V模型,總體上違反了V模型。但是如果不了解源自于V模型下的單元測(cè)試技術(shù)、面向?qū)ο笤O(shè)計(jì)技術(shù),TDD也是難以開(kāi)展。

      從XP角度看,TDD應(yīng)當(dāng)開(kāi)展到極限。

      從Scrum來(lái)看,TDD本身不屬于Scrum,應(yīng)當(dāng)由團(tuán)隊(duì)來(lái)決定是否采用TDD,如果是,也由團(tuán)隊(duì)來(lái)決定采用何種程度的TDD。

      從ASD(Adaptive Software development)、FDD(Feature Driven Development)等其他敏捷方法流派來(lái)看,并沒(méi)有明確要求,根據(jù)需要來(lái)選擇開(kāi)展TDD。

    posted on 2013-01-18 10:04 順其自然EVO 閱讀(243) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): 測(cè)試學(xué)習(xí)專(zhuān)欄

    <2013年1月>
    303112345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(55)

    隨筆分類(lèi)

    隨筆檔案

    文章分類(lèi)

    文章檔案

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 三级毛片在线免费观看| 免费一级毛片清高播放| aa在线免费观看| 在线a亚洲老鸭窝天堂av高清| 亚洲精品无码av天堂| 成年性羞羞视频免费观看无限| 日本免费A级毛一片| 免费视频精品一区二区| 伊人久久五月丁香综合中文亚洲 | 亚洲国产香蕉碰碰人人| 大胆亚洲人体视频| 日韩高清在线免费观看| 国产精品免费网站| 99热这里只有精品免费播放| 中文字幕看片在线a免费| 免费人成视频在线观看免费| 欧美亚洲精品一区二区| 亚洲欧美日韩国产成人| 亚洲人成精品久久久久| 午夜时刻免费入口| 午夜宅男在线永久免费观看网| 久久午夜羞羞影院免费观看| 免费一区二区三区| 99久久国产精品免费一区二区 | 亚洲婷婷国产精品电影人久久| 日本无吗免费一二区| 成年女人男人免费视频播放| 麻豆最新国产剧情AV原创免费| jjizz全部免费看片| **实干一级毛片aa免费| AV大片在线无码永久免费| 免费在线视频你懂的| 黄色永久免费网站| 99久久免费精品国产72精品九九| 国产在线a免费观看| 免费做爰猛烈吃奶摸视频在线观看 | 福利免费在线观看| 国内永久免费crm系统z在线| 国产又黄又爽胸又大免费视频 | 亚洲精品国产精品乱码视色 | 午夜视频免费在线观看|