我正在尝试理解其中一个与另一个的比较。
白盒测试是否是您可以看到代码的地方,黑盒测试是否是您不查看代码的地方?
问) 白盒测试是指可以看到代码,黑盒测试是指不看代码吗?
这是一种在不考虑系统如何生成输出的情况下,向系统提供输入并检查其输出的过程。也被称为行为测试、数据驱动测试或I/O驱动测试、功能测试。
仅基于对需求的分析进行测试(规范、用户文档等)。
优点:
1) 比白盒测试更有效地测试大型代码单元。
2) 测试人员和程序员相互独立。
3) 根据用户的视角进行测试。
4) 可以在规范完成后立即设计测试用例。
缺点:
1) 它可能会忽略许多程序路径未经测试。
2) 实际上只能测试少量可能的输入,要测试每个可能的输入流几乎需要永远。
这是一种向系统提供输入并检查系统如何处理输入以生成输出的过程。
测试人员必须了解代码。
优点:
1) 这种测试有助于揭示结构层次上的缺陷。测试可以深入到顶部和功能层以下,以揭示缺陷。
缺点:
1) 不能确保满足用户需求。
2) 不能确定决策、条件和路径是否正确。
基本上是的。
在黑盒测试中,您测试对象的预期输入是否产生了预期输出,而无法更改底层代码。
在白盒测试中,您可以看到代码并测试其所有可能的路径。
是的,你基本上已经理解了。黑盒测试是在没有对内部任何东西有知识(或访问权限)的情况下测试外部功能。白盒测试是能够查看(并可能修改)所测试内容的内部状态。它们都有不同的用途。单元测试通常(但不总是)是白盒测试。
白盒测试
了解软件的内部工作原理后,进行测试以确保所有软件的内部操作都按照规格执行。
黑盒测试
在为每个软件组件设计指定功能后,进行测试以确保每个功能都能正常运行。
白盒测试就像是使用(玻璃)透明盒子来输入并验证输出,即在此过程中您给出输入观察输入的处理(功能流、变量值、计算)并验证输出是否符合预期。
黑盒测试就像是使用(木制)非透明盒子来输入并验证输出,即在此过程中您给出输入不观察输入的处理(功能流、变量值、计算)并验证输出是否符合预期。
白盒测试 :- 需要编程和实现知识。
黑盒测试 :- 不需要编程和实现知识。