1. 软件测试流程
![](https://ichiblog.cn/wp-content/uploads/2024/10/未命名文件-9.png)
2. 测试用例
测试用例的定义:软件测试的核心,为了特定目的而设计的一组测试输入、执行条件、预期结果的输出文档。
测试用例构成要素:
- 用例编号
- 用例标题
- 测试项目
- 用例级别
- 预置条件
- 测试输入
- 执行步骤
- 预期结果
黑盒测试用例设计方法:
- 等价类
- 边界值
- 判定表
- 因果图
- 正交实验
- 状态迁移图
- 场景法
- 错误推测
等价类
等价类概念:在所有测试的数据中,具有某种共同特征的数据子集
![](https://ichiblog.cn/wp-content/uploads/2024/10/未命名文件-10.png)
等价类划分规则
![](https://ichiblog.cn/wp-content/uploads/2024/10/未命名文件-11.png)
边界值
大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。
定义:选取正好等于、刚刚好大于或小于边界值作为测试数据
- 闭区间
- 半开半闭区间
- 开区间
![](https://ichiblog.cn/wp-content/uploads/2024/10/未命名文件-12.png)
![](https://ichiblog.cn/wp-content/uploads/2024/10/未命名文件-13.png)
![](https://ichiblog.cn/wp-content/uploads/2024/10/未命名文件-14.png)
判定表
判定表解决的是条件之间有关联的情况
将所有的条件进行2*m次方全组合的方式
使用等价类方法时对于输入域和及输入域存在关联时无法覆盖
判定表通常由四个部分组成:
- 条件桩:列出问题的所有条件(输入)
- 动作桩:列出在对应条件项组合下应采取的动作(输出)
- 条件项:列出针对它所列条件的取值。在所有可能情况下的真假值
- 动作项:列出在条件项的各种取值情况下应该采取的动作
![](https://ichiblog.cn/wp-content/uploads/2024/10/未命名文件-16.png)
因果图
基于判定表,在分析条件项时,在全组合前再进一步分析。
先考虑条件与条件之间的关系,条件与结果之间的关系
- 考虑输入和输出之间的关系
- 考虑输入条件之间的依赖关系
- 再依据关系转化为判定表
条件与结果之间的关系
- 恒等 ==
- 非 !=
- 或&&
- 与 ||
条件与条件之间的关系
- 互斥(下拉菜单)
- 包含(下拉菜单)
- 屏蔽(单选可不选)
- 唯一(单选)
- 要求(匹配)
状态迁移图法
找到应用中所有的状态,然后再分析各个状态之间的转换条件和转换路径。
然后从其状态迁移路径覆盖的角度来设计测试用例。
状态迁移图测试步骤:
- 明确状态节点
- 绘制状态迁移图
- 绘制状态迁移树
- 抽取路径设计用例
场景法
软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。
重要概念:
- 基本流:挑选商品->加入购物车->下订单->支付->等待收货->确认收货->评价
- 备选流:挑选商品<->加入购物车(更换商品<备选>)->下订单->支付->等待收货->确认收货->评价
场景法设计用例步骤:
- 分析需求,基本流和备选流
- 根据基本流和备选流生成场景
- 根据场景生成用例
![](https://ichiblog.cn/wp-content/uploads/2024/10/未命名文件-18.png)
场景:
- 场景1:基本流
- 场景2:基本流—备选流程1—基本流
- 场景3:基本流—备选流程2—基本流
- 场景4:基本流—异常流程1
- 场景5:基本流—备选流程2—异常流程2
- 场景6:基本流—备选流程1—备选流程2—异常流程2
- 场景7:基本流—备选流程1—备选流程2—基本流
- 场景8:基本流—备选流程1—异常流程1