1 白盒测试
白盒测试是对软件的过程性细节做细致的检查,把测试对象看作是一个打开的盒子,允许测试人员利用程序内部的逻辑结构以及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。
白盒测试只测试软件产品的内部结构和处理过程,而不是测试软件产品的功能,可以分为静态和动态两种:
- 静态白盒测试就是在不执行测试的情况下有条理仔细审查软件设计、体系结构和代码,从而找出软件缺陷的过程
- 动态白盒测试也叫结构化测试,通过查看并使用代码的内部结构,设计和执行测试
白盒测试的常见方法包括:
- 逻辑覆盖法
- 路径分析
- 控制结构测试
2 逻辑覆盖法
逻辑覆盖法又叫控制流覆盖,是按照程序内部逻辑结构设计测试用例的测试方法,根据程序中的判定和条件控制流覆盖准则来定量度量测试进行程度,按照覆盖标准的不同,可以分为:
- 语句覆盖
- 判定覆盖
- 条件覆盖
- 条件判定覆盖
- 修正条件判定覆盖
- 条件组合覆盖
- 路径覆盖
2.1 语句覆盖
语句覆盖又叫线覆盖面或者段覆盖面,含义是选择足够数目的测试数据,使被测试程序中每条语句至少执行一次。语句覆盖可以直接应用于目标代码,不需要处理源代码,但是由于对一些控制结构不敏感(比如同样的测试用例,语句中的逻辑运算符从and
改为or
也同样通过)