一:黑盒测试
黑盒测试又称为功能测试。它是在已知产品所应具有的功能,通过检测来测试每个功能是否正常运行,在测试的时候,把程序看作一个黑盒子完全不考虑程序的内部结构,只关注功能是否按照需求可以正常使用,也就是只关注它的输入输出数据。
“黑盒”法着眼于程序外部结构,不考虑内部逻辑结构,针对软件界面和软件功能进行测试。”黑恶"法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出长须中的错误。实际上测试情况有无穷多个,因此不仅要测试所有合法的输入,而且还要对那些不合法但是可能的数去进行测试。
常用的黑盒测试的方法:等价划分类,边界值,因果图,场景设计法,错误推测法等。
二:白盒测试
白盒测试也称为结构测试,是针对被测单元内部是如何进行工作的测试。白盒测试关注内部逻辑结构,对所有的逻辑路径进行测试,是一种穷尽路径的测试方法,但即使每一条路径都测试过了,但仍然有可能存在错误。因为:穷举路径测试不可能检查出程序因为遗漏路径而出错;穷举路径测试发现不了一些与测试相关的错误。
常用的白盒测试方法:
1.静态测试:不运行程序的测试,
2.动态测试:需要执行代码,通过运行程序找到问题,包括功能确认与接口测试等。
白盒测试中的逻辑覆盖包括语句覆盖,判定覆盖,条件覆盖,判定覆盖/条件覆盖,条件组合覆盖,路径覆盖。
1.语句覆盖每条语句至少执行一次
2.判定覆盖每个判定的每个分支至少执行一次
3.条件覆盖每个判定的每个条件应取到各种可能的值
4.判定/条件覆盖同时满足判定覆盖和条件覆盖
5.条件组合覆盖每个判定中各条件的每一种组合至少出现一次
6.路径覆盖使程序中每一条可能的路径至少执行一次。