Evan's Blog

          Java, software development and others.

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            28 隨筆 :: 0 文章 :: 73 評論 :: 0 Trackbacks
          Andrew Glover在最近的developerWorks上發表了一篇文章《追求代碼質量: 不要被覆蓋報告所迷惑》,我覺得又是一篇防止被忽悠的好文章。當然,作為單元測試的狂熱分子,作者在文章中反復強調的不是不要單元測試和達到較高的測試覆蓋率,而是苦口婆心地勸告大家,高的測試覆蓋率并不代表測試良好的代碼。所以,作為項目經理的你當被項目成員拿著極高測試覆蓋率報告來交差時,你得留個心眼;而當你拿著覆蓋報告去忽悠客戶的時候,是不是也要想想客戶也有可能會讀這篇文章呢?這又讓我想起幾位熱心讀者在《我為什么討厭框架》中的留言,所以,我得聲明一下:沒采用框架的系統,80%不是架構良好的系統,但反過來不一定成立,所以不要因為采用了框架而高枕無憂;沒有單元測試或者極低覆蓋率的代碼,80%是難以維護的代碼,同樣反過來也不一定成立,所以,不要為了高測試覆蓋率而逼著項目成員編寫無用的單元測試。

          稍稍記錄一下文章的主要內容:

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

          測試覆蓋的作用
          • 估計修改已有代碼所需的時間
          • 評估代碼質量
          • 評定功能測試
          文中用Cobertura工具來生成測試覆蓋度報告,我一直認為沒有可執行代碼的技術文章不是好的文章,但原文沒有給出相應的例子下載,而如果你沒有使用Ant甚或JUnit的經驗,那么搞定Cobertura可能也還是要花點工夫的,所以,如果你想偷懶的話,那就到這里下載吧。
          posted on 2006-03-18 23:23 Evan 閱讀(1216) 評論(0)  編輯  收藏 所屬分類: SE筆記
          主站蜘蛛池模板: 缙云县| 灵武市| 临沧市| 安多县| 平塘县| 高唐县| 图们市| 上思县| 长白| 邢台市| 于都县| 甘洛县| 西充县| 新闻| 东乌| 阜平县| 恭城| 岳普湖县| 鄂托克前旗| 诸暨市| 四平市| 喀喇| 三门峡市| 哈尔滨市| 定远县| 三江| 咸丰县| 论坛| 浏阳市| 石嘴山市| 南城县| 惠水县| 宝坻区| 宁陵县| 富川| 东丽区| 台安县| 衡南县| 濮阳县| 屏东市| 嫩江县|