【不要使用虚拟对象】- 撕开谎言的面纱

在软件开发中,测试是必不可少的部分,而「Mock objects」(虚拟对象)似乎成为了测试人员的一种「神器」。但是,我们是否真的应该在测试中使用虚拟对象呢?

虚拟对象,指的是在测试中模拟出一个对象,以便于测试人员可以更好地掌控测试环境,从而提高测试覆盖率等指标。然而,在实际的软件开发中,虚拟对象也存在非常多的问题。

首先,虚拟对象破坏了程序的封装性。在程序运行时,对象与对象之间是通过接口来通信的。如果使用虚拟对象,就像是在一张面纱下进行测试,很难真实地反映出程序在真实环境中的运行效果。

其次,使用虚拟对象很容易产生错误的测试结果。由于虚拟对象的行为与实际对象可能会存在差异,所以在使用虚拟对象进行测试时,很容易遗漏一些重要的测试点,从而得到错误的测试结果。

最后,虚拟对象也存在着维护成本的问题。虚拟对象需要一个单独的代码库进行维护,而且随着程序的演化,虚拟对象也需要不断进行更新和修改,增加了软件维护成本。

因此,在实际的软件开发中,使用虚拟对象的风险很高,而且增加了软件测试和维护成本,所以我们尽量避免使用虚拟对象。

在软件开发中,测试是非常重要的一环,但是,要求我们使用正确的测试方法与工具,以保证测试效果。作为一名开发人员,我们应当尽可能地开发出具有可测试性的程序,这样就可以避免使用虚拟对象这类风险较高的测试方法。

详情参考

了解更多有趣的事情:https://blog.ds3783.com/