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