黑盒测试
把测试对象看做一个封闭的盒子,不考虑程序内部逻辑,只依照程序的《需求规格说明书》检查程序的功能是否符合要求。
因此黑盒测试又称为功能测试或数据驱动测试。
黑盒测试的主要目的:
- 检验功能是否有遗漏
- 检验接口使用正确的输入是否可以得到正确的输出
- 检验程序是否有bug
- 检验性能是否满足要求
- 检验是否有初始化或终止性错误
具体的黑盒测试方法包括等价类划分、因果图、正交实验涉及法、边界分析、判定表驱动法、功能测试等。
白盒测试
把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序的所有逻辑路径进行测试。
通过在不同点检查程序和状态,确定实际状态是否与预期的状态一致。
因此白盒测试又称为结构测试或逻辑驱动测试。
白盒测试的主要目的:
- 对程序模块的所有独立的执行路径至少测试一遍。
- 对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。
- 在循环的边界和运行的界限内执行循环体
- 测试内部数据结构的有效性等等
具体的白盒测试方法包括:语句覆盖、判定覆盖、条件覆盖、条件组合覆盖、路径覆盖等。
灰盒测试
灰盒测试介于白盒测试与黑盒测试之间。
可以这样理解,灰盒测试关注输出对于输入的正确性,同时也关注程序内部表现,但这种关注不像白盒那样详细、完整,只是通过一些表现性的现象、时间、标志来判断内部的运行状态,有时候输出是正确的,但内部其实已经错误了,这种情况非常多。但如果每次都通过白盒测试来操作,效率会很低,因此需要采取这样的一种灰盒测试方法。
|