本篇文章我们将详细介绍如何来测试用例。
1. 设计测试用例的基本要素
1.1 测试用例概念
测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合。
1.2 测试用例要素
测试环境、测试步骤、测试数据、预期结果。
1.3 测试用例的重要性
- 提高测试效率
- 降低测试重复性
- 手工测试用例是自动化测试用例的基础
2. 黑盒测试用例设计方法
为了设计出比较全面的测试用例(正常 + 发散测试 + 逆向测试)
2.1 基于需求设计测试用例
步骤
充分理解需求(前提) -> 将大需求拆分成子需求 -> 基于需求设计
在分析测试需求时,一般分为 功能测试需求 和 非功能测试需求:
功能相关:
- 业务流程(prd 软件需求文档)
- 界面相关(UI 设计稿)
- 易用性(测试人员经验)
非功能相关:
- 兼容
- 安全
- 性能
2.2 练习设计测试用例
首先将需求拆分成子需求,然后将子需求拆分成功能相关和非功能相关。具体如下图所示:
2.3 具体设计测试用例方法
2.3.1 等价类
有效等价类:满足用户需求对应的输入集合。
无效等价类:不满足需求。
等价类只考虑输入域的分类,没有考虑输入域的组合,需要其他的设计方法和补充。
设计测试用例步骤
充分理解需求 -> 划分有效等价类、无效等价类 -> 设计测试用例
举例
对于一个 6-15 位输入,通过等价类方法设计测试用例。
2.3.2 边界值
边界点:
- 上点:边界上的点。
- 内点:边界内的点。
- 离点:上点附近的一个点(如果是闭区间,离点就是边界外的点;如果是开区间,离点就是边界内的点)
设计测试用例步骤
充分理解需求 -> 找边界点 -> 针对边界点设计测试用例
举例
2.3.3 判定表(因果图)
判定表中存在以下四种关系:
恒等 | 条件为真 -> 结果为真 |
非 | 条件为真 -> 结果为假 |
与 | 两个条件均为真 -> 结果为真; 两个条件中任意一个为假 -> 结果为假; |
或 | 两个条件均为假 -> 结果为假; 两个条件中任意一个为真 -> 结果为真; |
设计测试用例步骤
- 设计所有可能的输出和输入
- 找输入与输出之间的对应关系
- 根据输入和输出确定判定表
- 将判定表对应到每个测试用例
举例
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |
订单提交 | Y | Y | Y | Y | N | N | N | N |
金额大于300 | Y | Y | N | N | Y | Y | N | N |
有红包 | Y | N | Y | N | Y | N | Y | N |
优惠 | Y | Y | Y | N | N | N | N | N |