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