软件开发测试中的争议点及解决方案
在软件开发过程中,测试是确保代码质量的关键环节。然而,在测试过程中会遇到一些争议性的问题,比如私有方法的测试以及 new 操作符带来的测试难题。下面我们将详细探讨这些问题及相应的解决方案。
私有方法测试
在软件开发中,对于是否测试私有方法存在争议。虽然从设计原则上来说,好的设计应该通过公共 API 来保证代码的可测试性,避免直接测试私有方法,但在某些情况下,我们可能不得不对私有方法进行测试。
应对私有方法测试困境的策略
- 采用 TDD 方法避免问题 :TDD(测试驱动开发)是一种有效的方法。在 TDD 中,先编写测试用例,然后编写代码使测试通过,私有方法通常在重构阶段创建,其内容会被测试覆盖。例如,按照 TDD 规则,只有在测试失败时才编写代码,这样就不会出现“未测试的私有方法需要被测试”的问题。但这种方法只适用于从头开始编写软件,对于遗留代码则无能为力。
- 遗留代码的处理困境 :处理遗留代码时,我们常常陷入“鸡与蛋”的困境。一方面,类需要重构,但由于缺乏测试用例,无法确定重构是否会破坏现有功能;另一方面,要为类编写测试用例,又需要先对类进行重构。
- 小步重构与测试 :对于遗留代码,可以采用小步前进的方式,即每次进行少量的重构,然后进行测试,再继续重构和测试。可以先从集成测试开始,因为对于由多个紧密耦合的类和外部资源(如数据库)组成的遗留应用程序,集成测试有时更容易编写,然后逐渐使测试更加聚焦。这种方法虽然最终能得到一个松耦合
超级会员免费看
订阅专栏 解锁全文
20万+

被折叠的 条评论
为什么被折叠?



