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