3

你能想到白盒测试的任何缺点吗——除了测试人员需要了解和理解代码(这可能会产生成本)吗?

谢谢,

4

6 回答 6

5

恕我直言,主要缺点是您的测试计划、执行和覆盖率更容易受到底层实现变化的影响,因此对回归和验收测试的用处不大。

白盒测试在较低级别和黑盒测试之外很有用,但如果我要交付只有白盒测试的软件,我会感到紧张。

于 2010-05-17T23:43:15.847 回答
2

黑盒测试的优势

  • 由于测试人员不必关注应用程序的内部工作,因此创建测试用例更容易。
  • 测试用例开发速度更快,因为测试人员无需花时间识别内部流程;他唯一关注的是用户可能通过 GUI 采取的各种路径。
  • 它使用简单,因为它只关注有效和无效的输入,并确保获得正确的输出。

黑盒测试的缺点

  • 不断变化的 GUI 使脚本维护变得困难,因为输入也可能发生变化。
  • 与 GUI 交互可能会导致测试脚本变得脆弱,并且可能无法始终如一地正确执行。

白盒测试的优势

  • 由于重点是内部工作,因此测试人员可以以编程方式识别对象。当 GUI 频繁更改时,这可能很有用。
  • 如果应用程序的对象保持不变,它可以提高测试用例的稳定性和可重用性。
  • 通过完全测试每条路径,测试人员有可能实现彻底性。

白盒测试的缺点

  • 为白盒测试开发测试用例涉及高度复杂性,因此需要高技能的人员来开发测试用例。
  • 尽管白盒测试在很大程度上克服了脆弱性,但是对象名称的更改可能会导致测试脚本的破坏。
于 2011-08-12T03:31:13.920 回答
1

恕我直言,白盒测试的最大缺点是花费时间。程序员和测试人员的时间很昂贵。最好先使用更广泛的测试方法来捕捉大的阻碍错误。

于 2010-05-17T23:43:41.040 回答
1

这既是优点也是缺点,因为您正在创建测试来测试特定的代码实现,而不是设计测试来测试它在真实情况下的使用方式。所以基本上它没有捕捉到所有使用情况是一个缺点,这就是为什么黑盒测试是对白盒的一个很好的补充。

于 2010-05-17T23:48:00.063 回答
1

请参阅应该测试内部实现,还是只测试公共行为?

于 2010-05-17T23:58:17.747 回答
1

关于前两次评估的一些想法:

缺点...测试人员需要了解和理解代码

测试计划、执行和覆盖更容易受到底层实现变化的影响

这取决于开发人员是否还承担测试实施角色。也就是说,如果开发人员应该了解测试框架或架构,并负责编写内部测试分路并正确连接它们,那么测试仍然是白盒,但没有我们通常认为的大多数缺点。在这种情况下,缺点是很难找到合格的开发人员,或者会转移开发人员和测试人员的责任。

最近的趋势,如测试驱动、敏捷等,越来越多地促进开发人员测试。更进一步,将测试框架连接到单元测试。从这个意义上说,白盒的缺点是,人的角色变化导致的组织混乱。

于 2011-03-19T08:01:36.637 回答