您是否应该为测试应用程序行为的代码编写单元测试?

时间:2019-09-24 04:06:49

标签: unit-testing

我想知道您是否应该为属于主应用程序的代码编写单元测试,并且即使代码仅负责应用程序的一部分压力测试,也可以由客户调用。

实际上,我也许应该解释一下我问的原因:过去,我认为无论代码做什么,所有生产代码都应该进行单元测试。但是我现在有两个人告诉我不要为这样的代码编写单元测试,其中一个是一个教其他人有关TDD和单元测试的人,我对此非常尊重。他的解释是: 单元测试的目的是验证良好的设计规范,提供对需求和设计决策的理解的内部文档,并作为代码单元功能正确性(不一定是整个交付件的功能正确性)的连续证明。这与压力测试无关,压力测试只是为了产生性能或可靠性证明的产物。'

如果我多年来对所有需要单元测试的生产代码的想法是错误的,那么我现在真的很困惑。

1 个答案:

答案 0 :(得分:0)

单位测试生产代码库中的所有单位

每个单位到底做什么都没关系。如果需要 unit 来提供产品中的某种功能,则最好测试该 unit

这就是生产代码所要涉及的:定义您的产品的所有代码都是您的客户花钱买的,用来执行应做的事情。

或者,从客户的角度来看这个问题:如果他想进行一些压力测试,例如测量其安装方式,该怎么办?然后,这些测试失败。因为您没有测试该功能,但是客户可以使用它?仔细想一想:当客户使用产品中“正式存在”的东西并且以某种方式记录了这些东西……但后来却行不通时,您会告诉客户什么呢?

如果有的话,您可以声明“我们具有压力测试功能,但尚未得到官方支持”,从而使您脱身,但这在您的销售传单中看起来并不好。再说一遍:预先测试是这里的关键。没有什么比使用功能X的需要更糟糕的了,然后计算出“糟糕,功能X当前已损坏”。