首页 > 解决方案 > 单元测试总是白盒测试吗?

问题描述

我最近看到一些参考文献在一篇文章中指出或提及单元测试始终是白盒测试。

由于黑盒测试只是查看该单元的规范或要求,并确保它满足这些要求,而不关心它是如何做到的,我至少认为单元测试可以是黑盒测试。事实上,如果你的目标是“干净的代码”和“干净的架构”,那么我认为你的目标是在所有测试级别上只创建黑盒测试。

如果在黑盒测试之外还有需要测试的内部结构,那么我认为规范是不完整的。另一种说法是,如果您完成了黑盒测试,并确认您的单元完成了您期望/希望它做的所有事情,并且您没有 100% 的代码覆盖率,并且必须添加白盒测试以获得 100% 的覆盖率,那么我会非常担心额外的代码会导致不符合规范的副作用(可能在边缘或极端情况下),或者只是不必要并增加不必要的复杂性。

我是否误解了白盒与黑盒测试的含义?说根据定义所有单元测试都是白盒测试是否正确?

标签: unit-testingblack-box-testingwhite-box-testing

解决方案


推荐阅读