1. 黑盒测试
黑盒测试也称功能测试,测试中把被测的软件当成一个黑盒子,不关心盒子的内部结构是什么,只关心软件的输入数据与输出数据。
黑盒测试的方法有7个, 分别是: 基于需求的设计方法, 等价类划分, 边界值, 因果图, 正交矩阵法, 场景设计法, 错误推测法
黑盒测试方法, 详见https://blog.csdn.net/asdx1020/article/details/104870918哦~
白盒测试
白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒指的打开盒子,去研究里面的源代码和程序结果。
接口测试也是白盒测试的是一种 。
白盒测试的方法总体上分为静态方法和动态方法两大类. 强度由低到高有 "语句覆盖, 判定覆盖, 条件覆盖, 判定条件覆盖, 条件组合覆盖, 路径覆盖".
- 静态方法: 不运行程序, 测试的是代码及文档(语法, 业务逻辑, 词义, 数据结构). 对代码的测试: 代码走查, 代码审查, coderiviwer.对文档的测试: 验证文档的一致性, 完整性, 可读性
- 动态方法: 运行程序, 通常所说的测试, 就是动态测试, 根据需求对功能进行测试
白盒测试的方法:
- 语句覆盖, 就是设计若干个测试用例, 运行被测程序, 使得每一可执行语句至少执行一次.
- 判定覆盖, 使设计的测试用例保证程序中每个判断的每个取值分支(true or false)至少经历一次, 判定覆盖具有比语句覆盖更强的测试能力, 而且具有和语句覆盖一样的简单性, 无需细分每个判定就可以得到测试用例.
- 条件覆盖, 条件覆盖是指选择足够的测试用例, 使得运行这些测试用例时, 判定中每个条件的所有可能结果至少出现一次, 但未必能覆盖全部分支, 条件覆盖要检查每个符合谓词的子表达式值为真和假两种情况, 要独立衡量每个子表达式的结果, 以确保每个子表达式的值为真和假两种情况都被测试到.
- 判定条件覆盖, 就是设计足够的测试用例, 使得判断中每个条件的所有可能取值至少执行一次, 同时每个判断的所有可能判断结果至少执行, 即要求各个判断条件的所有可能的条件取值组合至少执行一次.
- 条件组合覆盖, 在白盒测试法中, 选择足够的测试用例, 使所有判定中各条件判断结果的所有组合至少出现一次, 满足这种覆盖标准称为条件组合覆盖.
- 路径覆盖, 是每条可能执行到的路径至少执行一次.
语句覆盖是一种最弱的覆盖, 判定覆盖和条件覆盖比语句覆盖强, 满足判定/条件覆盖标准的测试用例一定也满足判定覆盖, 条件覆盖和语句覆盖, 条件组合覆盖是除路径覆盖外最强的, 路径覆盖也是一种比较强的覆盖, 但未必考虑判定条件结果的组合, 并不能代替条件覆盖和条件组合覆盖.
白盒测试作用, 通过检查软件内部的逻辑结构, 对软件中的逻辑路径进行覆盖测试, 在程序不同地方设立检查点, 检查程序的状态, 以确定实际运行状态与预期状态是否一致.