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