Evan's Blog

          Java, software development and others.

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            28 隨筆 :: 0 文章 :: 73 評(píng)論 :: 0 Trackbacks
          Andrew Glover在最近的developerWorks上發(fā)表了一篇文章《追求代碼質(zhì)量: 不要被覆蓋報(bào)告所迷惑》,我覺得又是一篇防止被忽悠的好文章。當(dāng)然,作為單元測(cè)試的狂熱分子,作者在文章中反復(fù)強(qiáng)調(diào)的不是不要單元測(cè)試和達(dá)到較高的測(cè)試覆蓋率,而是苦口婆心地勸告大家,高的測(cè)試覆蓋率并不代表測(cè)試良好的代碼。所以,作為項(xiàng)目經(jīng)理的你當(dāng)被項(xiàng)目成員拿著極高測(cè)試覆蓋率報(bào)告來(lái)交差時(shí),你得留個(gè)心眼;而當(dāng)你拿著覆蓋報(bào)告去忽悠客戶的時(shí)候,是不是也要想想客戶也有可能會(huì)讀這篇文章呢?這又讓我想起幾位熱心讀者在《我為什么討厭框架》中的留言,所以,我得聲明一下:沒(méi)采用框架的系統(tǒng),80%不是架構(gòu)良好的系統(tǒng),但反過(guò)來(lái)不一定成立,所以不要因?yàn)椴捎昧丝蚣芏哒頍o(wú)憂;沒(méi)有單元測(cè)試或者極低覆蓋率的代碼,80%是難以維護(hù)的代碼,同樣反過(guò)來(lái)也不一定成立,所以,不要為了高測(cè)試覆蓋率而逼著項(xiàng)目成員編寫無(wú)用的單元測(cè)試。

          稍稍記錄一下文章的主要內(nèi)容:

          測(cè)試覆蓋度量
          行覆蓋也叫語(yǔ)句覆蓋,用以指出代碼的哪些行被執(zhí)行了
          分支覆蓋 則試圖度量決策點(diǎn)(比如包含邏輯 ANDOR 的條件塊)的覆蓋率

          測(cè)試覆蓋的作用
          • 估計(jì)修改已有代碼所需的時(shí)間
          • 評(píng)估代碼質(zhì)量
          • 評(píng)定功能測(cè)試
          文中用Cobertura工具來(lái)生成測(cè)試覆蓋度報(bào)告,我一直認(rèn)為沒(méi)有可執(zhí)行代碼的技術(shù)文章不是好的文章,但原文沒(méi)有給出相應(yīng)的例子下載,而如果你沒(méi)有使用Ant甚或JUnit的經(jīng)驗(yàn),那么搞定Cobertura可能也還是要花點(diǎn)工夫的,所以,如果你想偷懶的話,那就到這里下載吧。
          posted on 2006-03-18 23:23 Evan 閱讀(1208) 評(píng)論(0)  編輯  收藏 所屬分類: SE筆記
          主站蜘蛛池模板: 浦北县| 阳东县| 中西区| 沈阳市| 奉贤区| 景宁| 朝阳县| 红安县| 从化市| 台中市| 麻栗坡县| 东城区| 全南县| 平江县| 东源县| 恩施市| 隆回县| 赤城县| 湾仔区| 临桂县| 吕梁市| 云林县| 梅州市| 乌拉特中旗| 大宁县| 华蓥市| 平定县| 安乡县| 民丰县| 柳林县| 永康市| 惠安县| 双牌县| 彩票| 五河县| 松滋市| 天等县| 徐闻县| 德保县| 柳州市| 平舆县|