malphi

          follow my heart

            BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
            2 Posts :: 0 Stories :: 1 Comments :: 0 Trackbacks
               很意外我選擇了一個(gè)自己還算比較感興趣的論文課題TDD(測(cè)試驅(qū)動(dòng)開發(fā)),而導(dǎo)師讓我挑選的另外一個(gè)主題性能測(cè)試一不太感興趣,二大概想了想不同的軟件和硬件環(huán)境可以搭配出無(wú)限種的測(cè)試環(huán)境,這樣的試驗(yàn)和研究實(shí)在是讓人頭疼,而且根據(jù)測(cè)不準(zhǔn)原理,萬(wàn)一答辯時(shí)老頭跟我較真說(shuō):我怎么保證我的測(cè)試用例是正確的?我只能回答不能保證;再問我既然測(cè)試用例都不正確由它測(cè)試出來(lái)的程序怎么能是正確的?那時(shí)候我只能無(wú)奈加無(wú)語(yǔ)了。
              所以選擇了TDD。經(jīng)過(guò)了一段時(shí)間才發(fā)現(xiàn),原來(lái)測(cè)試雖然復(fù)雜尚有可操作的余地,而這個(gè)掛著測(cè)試之名但不是測(cè)試的東西讓我思前想后沒有覓得門路。最開始看來(lái)TDD這個(gè)名詞的提出,以為內(nèi)容是驅(qū)動(dòng)程序的測(cè)試呢,心想這種東西實(shí)在無(wú)聊,不知道也罷。看過(guò)之后才知,TDD正所謂掛羊頭賣狗肉者,重點(diǎn)不是測(cè)試而是開發(fā),其實(shí)是開發(fā)方法而非測(cè)試方法,這里驅(qū)動(dòng)二字實(shí)為動(dòng)詞而非名詞,意指:由測(cè)試驅(qū)動(dòng)的、帶動(dòng)的開發(fā)。不知當(dāng)初誰(shuí)人最先翻譯成此,實(shí)在誤人子弟。
              TDD是XP方法學(xué)中很重要的一部分,倡導(dǎo)測(cè)試先行,由測(cè)試驅(qū)動(dòng)代碼開發(fā)。沒有代碼測(cè)試什么?最初我也是這樣理解。但實(shí)際上TDD是一個(gè)非常fantastic的東西,加上現(xiàn)在的編譯器十分智能,代碼自然而然運(yùn)用而生。舉個(gè)簡(jiǎn)單的例子:
              我就寫一個(gè)狗叫的程序,具體怎么寫先不管,先寫測(cè)試:
              Dog xiaobai = new Dog(); //創(chuàng)建一只小狗-小白
                  assertEquals("wangwang!",xiaobai.bark() ) //判斷小白的吠聲是不是汪汪
          好了,測(cè)試寫完,run一下,肯定是red bar,同時(shí)編譯器會(huì)告訴你,沒有發(fā)現(xiàn)Dog這個(gè)類,很簡(jiǎn)單,創(chuàng)建一個(gè),如果你的編譯器夠智能的話你都不用寫 class Dog這句話,點(diǎn)一下錯(cuò)誤提示的解決方法就可以了。接著,還有錯(cuò)誤,bay這個(gè)方法不存在,編譯器還會(huì)提示你:是否創(chuàng)建一個(gè)呢?OK,創(chuàng)建一個(gè):public String bark(){ return "wangwang";} 再run一下,OK,測(cè)試通過(guò),是green bar,好了,現(xiàn)在看看是不是想要的代碼都出來(lái)了?
             所以說(shuō)TDD是個(gè)很妙的東西,amazing。然而我的大腦并不妙,還是找不到切入點(diǎn),TDD這么大的樹林里我還都沒有發(fā)現(xiàn)自己要打的那只鳥,更別提逮到它了。總之埋頭苦干,繼續(xù)努力了。
          posted on 2005-12-07 20:31 嗎啡 閱讀(294) 評(píng)論(1)  編輯  收藏

          Feedback

          # re: 由TDD想到的和沒有想到的 2006-10-20 01:40 skywalker
          我提個(gè)題目給你參考 從UML 到 TDD  回復(fù)  更多評(píng)論
            


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 贺州市| 玉溪市| 盖州市| 石柱| 夏邑县| 汶川县| 岚皋县| 雷山县| 阜阳市| 芦溪县| 库尔勒市| 高清| 永胜县| 班玛县| 咸宁市| 淮南市| 兴文县| 台州市| 纳雍县| 青冈县| 德格县| 定襄县| 罗源县| 驻马店市| 耿马| 五台县| 凤阳县| 马鞍山市| 小金县| 伊通| 林口县| 武冈市| 大埔县| 日土县| 临颍县| 德化县| 富川| 四川省| 双峰县| 淮安市| 台湾省|