【发布时间】:2012-12-12 03:41:08
【问题描述】:
如果我们必须在动态黑盒测试和静态白盒测试之间做出选择,我们应该更喜欢哪一种? 动态黑盒测试是在不了解底层代码的情况下进行测试,而静态白盒测试是在不执行代码的情况下进行代码审查。
【问题讨论】:
标签: testing white-box black-box-testing
如果我们必须在动态黑盒测试和静态白盒测试之间做出选择,我们应该更喜欢哪一种? 动态黑盒测试是在不了解底层代码的情况下进行测试,而静态白盒测试是在不执行代码的情况下进行代码审查。
【问题讨论】:
标签: testing white-box black-box-testing
如果您必须选择,请进行黑盒测试。如果代码做错了,如果代码处于完美状态,这将无济于事。测试还应验证产品是否可以实际用于解决客户的问题。
也就是说,我不明白您为什么应该(或可以)将测试限制为仅一种类型。不同的策略会带来不同的问题,最好每一种都做一点,而不是把所有时间都花在做一件事上。
【讨论】:
这取决于要求,但静态白盒测试更可取,因为以下几点:
总体而言,白框检测到许多类别的流行率较高,我们可以推断出这一点 FN(假阴性)率较低。 在 7 个类别中的 5 个类别中,静态优于动态:
SQL 注入、路径遍历和操作系统征用可能会更好地使用静态,因为这些是静态的好方法,具有 100% 的代码覆盖率。
【讨论】: