BDD&测试覆盖率

时间:2017-01-01 17:10:53

标签: unit-testing bdd

我已经开始使用Quick和Nimble为iOS编写我的第一个BDD测试,我对测试覆盖率有疑问。

我意识到在传统的单元测试中,开发人员的目标是获得100%的测试覆盖率。但是,我没有读过BDD的内容。如果我正确理解BDD,当我测试代码的行为时,那么实现的细节并不重要;重要的是我从我的代码中得到了预期的结果,对吗?

我开始尝试获得100%的代码覆盖率,但似乎我开始编写脆弱的测试,因为我没有关注代码的结果,而是试图涵盖我的代码可以采用的所有路径。

  1. 我是否正确理解BDD?
  2. 100%代码覆盖的目标是否会破坏BDD的目的?

1 个答案:

答案 0 :(得分:6)

正如其中一篇评论所述,BDD的核心方面是为您提供测试(可以自动化),以确保您的产品完全按照预期的方式进行。显然:“不低于那个”。

从这个意义上说,BDD plus 覆盖率可以帮助您确保您的产品没有更多

换句话说:假设您的所有BDD测试通过;并且您的覆盖率为75%......而可能意味着:25%的代码库不需要,以便提供BDD测试用例中指定的行为。含义:您可以仔细查看那些25%未触及的线条,以了解为什么不需要它们;然后确定是否有机会删除未使用的源代码的相同部分。

正如:作为软件开发人员可以做的第二好的:从代码库中删除代码而不会降低产品的功能。

(以及记录:SW开发人员可以做的最佳事情:为他的产品添加新功能以吸引新客户 - 从长远来看,删除代码有助于提高质量,但客户短期,中期和长期支付工资)