在实际开发过程中,可以通过两种方式消除bug。一种是开发者的单元测试,一种是测试人员的集成测试后的调试。
  单元测试对模块进行测试,其优点是:bug定位时范围小,容易排除。缺点是,如果对太多的模块进行单元测试,工作量太大,浪费时间和金钱。调试的优点是,不需要进行大规模的单元测试,但出现bug时,很难定位bug发生的位置。
  如何在工作中进行折中?首先分析系统,找出那些容易出现难定位bug的模块,特别是内存访问错误的bug(比如内存泄露、内存越界),对这些模块进行有针对性的单元测试。所谓有针对性的单元测试,并不是对本模块进行完备的单元测试;而是在设计测试用例时,只针对难定位的bug进行设计。