设计测试用例是测试工程师的必备基本功,测试用例设计要素包含:
- 用例编号
- 功能模块(用例用于验证的功能)
- 用例标题
- 优先级
- 前置条件
- 测试输入
- 操作步骤
- 期望结果
设计测试用例常用方法如下👇
1. 等价类
1.1 定义
- 具有相同属性或方法的集合;
- 该集合中某个个体所表现的特征与其他个体一致;
1.2 等价类划分
- 有效等价类:输入是合理的、有意义的、可接受的;
- 无效等价类:输入时不合理的、无意义的、不可接受的;
1.3 等价类划分规则
- 如果需求规定了输入域的取值(个数或范围),则可以确定1个有效等价类和2个无效等价类;
- 如果需求规定了一个输入域的集合,可确定1个有效等价类和1个无效等价类;
- 如果需求规定了输入域只能是真或假,可确定1个有效等价类和1个无效等价类;
- 如果需求规定了输入域是一组值,可确定若干个有效等价类和1个无效等价类;
- 如果需求规定必须遵守某个规则,可确定1个有效等价类和若干个从不同角度违反特定规则的无效等价类;
1.4 等价类用例设计
- 根据需求,划分有效等价类和无效等价类;
- 设计一个新的测试用例,使其尽可能的覆盖所有尚未覆盖的有效等价类,知道所有的有效等价类都被覆盖;
- 设计一个新的测试用例,使其只覆盖一个无效等价类,知道覆盖所有的无效等价类;
2. 边界值
2.1 一些概念
比如小组名称长度是4-12位
- 关注的是输入空间的边界,其基本思想在最小值、略高于最小值、正常值、略低于最大值、最大值等处取值;
- 上点:边界上的点,闭内开外(如4,12);
- 离点:离上点最近的点(如5,19),和是闭区间还是开区间有关系,如果是开区间,离点在域内,如果是闭区间,离点在域外;
- 内点:域范围内的任一点(如5,6,7等);
2.2 确定离点
- 整数域[4,12]:上点是4,12且都在域内,离点是3,13;
- 整数域(4,12]:上点是4,12,一个在域内,一个在域外,离点是5,13;
- 整数域(4,12):上点是4,12,都在域外,离点是5,11;
2.3 边界值应用规则
- 如果需求规定了取值范围:[4,12],边界值取:4,12,3,13,5;
- 如果需求规定了取值的个数比如4件商品5折,边界值取:3,4,5;
3. 场景设计法
3.1 定义
- 分析软件的应用场景,从实际应用场景的角度来设计测试用例,是一种面向用户的测试用例的设计方法;
- 关心用户做什么,而不关系产品做什么;
- 实用性强,设计的用例有价值,不校验单个功能节点的正确性,只关心流程是否走通;
3.2 场景设计流程
- 基本流(正常流),比如输入正确的用户名和密码,登录成功;
- 备选流,第1次输入错误的用户名和密码,第2次输入正确的用户名和密码;
-
异常流,一直输入错误的用户名或密码;
3.3 场景法设计用例的步骤
- 根据实际场景,画出流程图,确定基本流和备选流;
- 根据基本流和备选流,确定场景;
- 针对每一个场景,设计测试用例;
4. 判定表
4.1 定义
- 判定表是分析和表达多种输入条件下,系统执行不同动作的工具;
- 将复杂的逻辑关系和多种条件组合的情况表达的清晰明了;
4.2 判定表的组成部分
- 条件桩:系统的所有输入;
- 条件项:针对所有条件桩的取值;
- 动作桩:系统可能采取的操作;
- 动作项:根据动作桩取值情况下应采取的动作;
- 动作项和条件项组合一起,形成业务逻辑处理规则;
4.3 判定表的设计步骤
- 确定条件桩和动作桩;
- 设计和优化判定表;
- 填写动作项;
- 提取测试用例;
4.4 实际应用
需求:如果手机欠费或是停机,不允许主被叫。
5. 因果图
5.1 定义
- 用于描述输入与输入、输入与输出之间存在的约束关系;
- 输入与输出之间的关系有:恒等、与、或、非;
- 输入与输入之间的关系有:异、或、唯一、要求;
5.2 设计步骤
- 根据需求文档确定输入与输出;
- 根据输入与输入、输入与输出的关系,画出因果图;
- 画出判定表,根据因果图,得到最终的判定表;
- 根据判定表得到用例规则,细化用例;
5.3 实际应用
需求:如果第1列是A或是B,第2列是数字,则修改文件;如果第1列不正确,则给出M;如果第2列不正确,则给出L;
写在最后: