一.测试方法划分
二.白盒测试
2.1白盒测试常用技术
静态分析技术:控制流分析、数据流分析、信息流分析、代码评审
- 控制流分析:将程序的流程图准换为控制流程图借助算法进行控制分析。
- 数据流分析:根据代码得到的数据流表进行分析,主要关注数据的定义及引用。
- 信息流分析:根据输入变量、语句的关系及输出变量三者之间关系表进行分析。
- 代码评审:代码评审在开发组内部进行,主要检查代码和设计的一致性,代码对文档标准的遵循及代码的可读性,代码的逻辑表达式正确性,代码结构的合理性等方面。代码走读主要检查代码是否符合标准、规范和风格。代码审查检查是否存在逻辑上的问题以及算法实现的问题。
动态分析技术:程序插装、逻辑覆盖率测试
- 程序插装:对程序的路径和分支中设计程序插装,比如插入打印语句
- 逻辑覆盖率:在白盒测试中最常用到的就是逻辑覆盖率
- 语句覆盖:使被测程序中每一个语句至少被执行一次。
- 判定覆盖:也称分支覆盖,是被测程序每个判定(逻辑真与假)至少执行一次。
- 条件覆盖:使得程序所有判断语句中的每个条件取值至少被执行一次。
例.针对条件表达式: - 路径覆盖:使被测程序中的所有路径至少被执行一次。
- 逻辑覆盖法中语句覆盖、判定覆盖、条件覆盖、路径覆盖,覆盖率依此增强。
2.2基本路径测试
控制流
基本路径测试法的步骤
1. 将程序流程图转换为控制流程图
2. 计算控制流程图的圈复杂度
3. 确认独立路径的集合
4. 生成测试用例
2.3白盒测试的优点
白盒测试的优点:主要是检测代码中每条分支和路径,对代码的测试比较充分。它可以揭露隐藏在代码中的缺陷和错误;还可以迫使测试人员仔细思考软件是如何实现的。
白盒测试的缺点:对软件规格的正确性不加以验证;对测试人员要求高,要求测试人员可以写出测试驱动和测试桩。
三.黑盒测试
3.1等价类划分法
等价类就是某个输入域的子集合,在该子集合中,每个输入数据对于借楼软件的错误都是等效的。
等价类划分方法:有效等价类和无效等价类
- 有效等价类:对需求规格说明而言,合理的有效的输入数据构成的集合。
- 无效等价类:对需求规格说明而言,不合理的无效的输入数据构成的集合。
等价类设计案列分析:
3.2边界值分析法
边界值分析法是对等价类划分的一个补充,该方法不仅需要考虑输入域的边界,还要关注输出域的边界。
使用边界值分析法设计用例需要考虑3个点:上点,离点,内点
- 上点:边界上的点
- 离点:离上点最近的点。
- 输入域是封闭的,离点在域外
- 输入域不封闭的,离点在域内
- 内点:输入域内任意一点
等价类边界值设计案列分析:
3.3 判定类分析法
在等价类设计法中,未考虑到输入域的组合情况。为了弥补这种不足,提出了判定表分析法。
判定表分析法主要分析和表达多种输入条件下系统执行不同动作的技术。
- 条件桩:列出被测对象的所有输入,并列出输入条件与词序无关。
- 动作桩:列出输入条件系统可能采取的操作,这些操作排序顺序没有约束。
- 条件项:列出输入条件的其他取值
- 动作项:列出在各条件项的各种取值情况下应采取的操作。
判定表分析法案例解析:
书籍阅读指南判定表:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | ||
---|---|---|---|---|---|---|---|---|---|
条件 | 您觉得疲倦吗 ? | Y | Y | Y | Y | N | N | N | N |
条件 | 您对书中的内容感兴趣吗? | Y | Y | N | N | Y | Y | N | N |
条件 | 书中的内容令您糊涂嘛? | Y | N | Y | N | Y | N | Y | N |
动作 | 回到本章重读 | X | X | ||||||
动作 | 继续读下去 | X | X | ||||||
动作 | 跳到下一章去读 | X | X | ||||||
动作 | 请停止阅读 | X | X |
书籍阅读指南判定表:
1 | 2 | 3 | 4 | ||
---|---|---|---|---|---|
条件 | 您觉得疲倦吗 ? | - | - | N | N |
条件 | 您对书中的内容感兴趣吗? | Y | Y | Y | N |
条件 | 书中的内容令您糊涂嘛? | Y | N | - | - |
动作 | 回到本章重读 | X | |||
动作 | 继续读下去 | X | |||
动作 | 跳到下一章去读 | X | |||
动作 | 请停止阅读 | X |
3.4 因果图分析法
在利用判定表设计用例过程中,如果条件过多,导致判定表设计困难。为了弥补该缺点,加入了因果图分析法。因果图分析法是分析条件之间的约束情况,生成判定表,进行用例设计。
因果符号
约束符号
因果图分析法案例分析
3.5 正交实验法
正交试验法是从大量的实验点中挑选适量的、有代表性的点,应用伽罗瓦理论导出“正交集”,合理的安排试验的一种科学实验设计方法。
其中这些代表性的点有“均匀发散,齐整可比”的特点。
- 正交实验中常用的术语有指标、因子、因子状态三个。
- 指标:通常把判断试验结果优劣的标准叫做指标。
- 因子:把所有影响试验指标的条件称为因子。
- 因子的状态:把影响试验因子成为因子的状态。
- 正交试验法设计用例:
- 1.提取功能说明,构造因子-状态表
- 2.加权筛选,生成因素分析表。
- 3.利用正交表构造测试数据集。
- 4.依照因果图上根节点到叶子节点的顺序逐步替换正交表上的中间节点,得到最终的正交表。
- 5.利用正交表每行数据构造测试用例。
3.6 流程分析法
3.7状态迁移法
状态迁移法就是把被测系统,分析出它的若干个状态,以及这些状态之间的转换条件和路径,从状态迁移路径覆盖的角度进行用例设计。
- 1.根据需求规格说明书来绘制状态迁移图
- 2.定义状态-事件表
- 3.根据状态迁移图推出测试的路径。
- 4.根据测试路径选取测试数据,最后生成测试用例。
3.8异常分析法
异常分析就是针对系统有可能存在的异常操作、软硬件缺陷引起的故障进行分析,依此设计测试用例。
3.9错误推测法
在软件测试中,基于经验和直觉推测程序中可能存在的各种错误,从而有针对性的设计测试用例的方法。