A項目一開始code的時候,沒有加任何test。現在需要重構了,我們根據use case設計了一些automation的high level 的接近integration test的functional tests. 但跑下來發現code coverage不高。于是老大讓我看看想些方法提高一下code coverage。總結一下。
首先我們不是要追求100%的測試覆蓋率,不是為了提高測試覆蓋率而不斷地增加測試。測試只是為了提高代碼和產品的質量。不需要測試覆蓋100%的代碼,但要覆蓋100%的需求。
· Review需求和測試用例設計,看測試用例是否覆蓋所有需求
· 檢查是不是所有重要的功能性測試都覆蓋了
· 檢查測試覆蓋率過低的代碼
· 檢查復雜性高,但測試低的代碼
· 對dirty case,增加測試,有人說理想的情況下一個正確的case需要5個dirty test
· 盡量使用和production類似的數據進行測試,提高數據量
· Test code review 提高測試質量,包括review測試覆蓋率
· 對于很難cover到的代碼,是不是要和QA商量,讓QA幫助通過UI測試
· 測試功能的粒度要更細一點
· 循序漸進地增加Unit test, bug fix,新代碼
· 對于開發人員,需要在eclipse裝上檢查提高代碼和測試質量的插件,預先即時發現相關的問題,我現在用的是eclemma
· TDD,慢慢來
· 60%-90% may be ok