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