你能想到白盒测试的任何缺点吗——除了测试人员需要了解和理解代码(这可能会产生成本)吗?
谢谢,
恕我直言,主要缺点是您的测试计划、执行和覆盖率更容易受到底层实现变化的影响,因此对回归和验收测试的用处不大。
白盒测试在较低级别和黑盒测试之外很有用,但如果我要交付只有白盒测试的软件,我会感到紧张。
恕我直言,白盒测试的最大缺点是花费时间。程序员和测试人员的时间很昂贵。最好先使用更广泛的测试方法来捕捉大的阻碍错误。
这既是优点也是缺点,因为您正在创建测试来测试特定的代码实现,而不是设计测试来测试它在真实情况下的使用方式。所以基本上它没有捕捉到所有使用情况是一个缺点,这就是为什么黑盒测试是对白盒的一个很好的补充。
关于前两次评估的一些想法:
缺点...测试人员需要了解和理解代码
测试计划、执行和覆盖更容易受到底层实现变化的影响
这取决于开发人员是否还承担测试实施角色。也就是说,如果开发人员应该了解测试框架或架构,并负责编写内部测试分路并正确连接它们,那么测试仍然是白盒,但没有我们通常认为的大多数缺点。在这种情况下,缺点是很难找到合格的开发人员,或者会转移开发人员和测试人员的责任。
最近的趋势,如测试驱动、敏捷等,越来越多地促进开发人员测试。更进一步,将测试框架连接到单元测试。从这个意义上说,白盒的缺点是,人的角色变化导致的组织混乱。