文章目录
- 1.测试用例
- 1.1 用例与测试用例
- 1.2 测试用例的作用
- 1.3 测试用例的编写格式
- 2. 测试点的设计方法
- 2.1 等价类划分法
- 2.1.1 定义
- 2.1.2 分类
- 2.1.3 划分规则
- 2.1.4 步骤
- 2.1.5 适用场景
- 2.1.6 案例
- 2.1.6.1 验证QQ帐号的合法性
- 2.1.6.2 验证某城市号码的正确性
- 2.2 边界值划分法
- 2.2.1 定义
- 2.2.2 边界值范围节点
- 2.2.3 步骤
- 2.2.4 适用场景
- 2.2.5 优化策略
- 2.2.6 案例
- 2.2.6.1 验证标题合法性
- 2.2.6.2 验证QQ帐号合法性
- 2.3 因果判定法
- 2.3.1 定义
- 2.3.2 组成
- 2.3.3 规则
- 2.3.4 步骤
- 2.3.5 使用场景
- 2.3.6 案例
- 2.3.6.1 订单判断
- 2.3.6.2 文件修改规则
- 2.3.6.3 投币充值系统
- 2.4.6.4 投币系统2.0
- 2.4 场景法
- 2.4.1 定义
- 2.4.2 流程图
- 2.4.3 梳理流程图工具
- 2.4.4 案例
- 2.4.4.1 ATM取款业务验证
- 2.5 错误推断法
- 2.5.1 含义
- 2.5.2 使用场景
- 2.5.3 思想
- 2.5.4 案例
- 2.6 正交排列法
- 2.6.1 定义
- 2.6.2 使用场景
- 2.6.3 特点
- 2.6.4 正交表
- 2.6.5 步骤
- 2.6.6 案例
- 2.6.6.1 字符属性设
- 2.6.6.2 个人信息查询
1.测试用例
1.1 用例与测试用例
用例就是用户使用的案例。
测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便核实是否满足某个特定需求。
1.2 测试用例的作用
1. 防止测试有遗漏
2. 测试用例是测试人员具体执行测试的依据,作为测试标准并指导测试人员进行测试工作。测试人员会按照测试用例中的操作步骤和具体数据逐一执行测试用例,发现问题并提交BUG单,最终完善软件的质量。
1.3 测试用例的编写格式
测试用例一般包含8大要素
- 用例编号
- 用例标题
- 项目/模块
- 优先级
- 前置条件
- 测试步骤
- 测试数据
- 预期结果
2. 测试点的设计方法
编写测试用例时,需要先将需求进行分析,然后转化为测试点,然后针对测试点,编写测试用例。
一般来说,测试点有以下几种设计方法:
- 等价类划分法
- 边界值分析法
- 因果判定法
- 场景法
- 错误推断法
- 正交排列法
2.1 等价类划分法
2.1.1 定义
在所有测试数据中,将具有某种共同特征的数据集合划分到不同区域,然后从每个区域中取少数有代表性的数据进行测试即可。
2.1.2 分类
- 有效等价类
- 满足需求的数据集合
- 无效等价类
- 不满足需求的数据集合
2.1.3 划分规则
一般来说,等价类从3个方面来划分
- 长度
- 类型
- 规则
比如,6-10位自然数,就如此划分:
- 长度:
- 有效等价类:6-11位
- 无效等价类:小于6位,大于11位
- 类型:自然数
- 有效等价类:自然数
- 无效等价类:非自然数
- 包含中文字符
- 包含英文字符
- 包含特殊符号
- 包含空格
- 空
- 规则:/(无)
2.1.4 步骤
- 1.明确需求
- 2.确定有效等价类和无效等价类
- 3.提取数据编写测试用例
2.1.5 适用场景
- 针对:需要有大量测试数据输入,但是没法穷举测试的地方
- 输入框
- 下拉列表
- 单选、复选框
2.1.6 案例
2.1.6.1 验证QQ帐号的合法性
需求:验证QQ帐号的合法性
要求:6-10位自然数
2.1.6.2 验证某城市号码的正确性
需求:验证某城市电话号码的正确性
要求:1.区号:空或者三位数字2.前缀码:非“0”且非“1”开头的三位数字3.后缀码:四位数字
2.2 边界值划分法
2.2.1 定义
对输入或输出的边界值进行测试的方法
2.2.2 边界值范围节点
一般来说,选取正好等于、刚好大于、刚好小于边界的值作为测试数据,分为:
-
上点:边界上的点(正好等于)
-
离点:距离上点最近的点(刚好大于、刚好小于)
-
内点:范围内的点(区间范围内的数据)
一般来说,有关范围限制,最多有7条用例。 边界值能解决位数限制问题,但不能解决类型问题,所以需要结合等价类一起分析。
2.2.3 步骤
- 1.明确需求
- 2.确定有效等价和无效等价
- 3.确定边界范围值
- 4.提取数据编写测试用例
2.2.4 适用场景
一般用来解决边界位数限制问题。
2.2.5 优化策略
一般来说,边界值可以将7个点优化为5个点
- 上点:必选
- 内点:必选
- 离点:开内闭外
- 开区间选择内部离点
- 闭区间选择外部离点
2.2.6 案例
2.2.6.1 验证标题合法性
1.需求:验证标题合法行
2.要求:标题长度大于0,小于30个字符
2.2.6.2 验证QQ帐号合法性
1.需求:验证QQ帐号合法性
2.要求:6-10位自然数
2.3 因果判定法
2.3.1 定义
一种以表格形式表达多条件逻辑判断的工具
2.3.2 组成
- 条件桩:列出问题中的所有条件, 列出条件的次序无关紧要
- 动作桩:列出问题中可能采取的操作,操作的排列顺序没有约束
- 条件项:列出条件对应的取值,所有可能情况下的真假值
- 动作项:列出条件项在各种取值情况下应该采取的动作
2.3.3 规则
- 判定表中贯穿条件项和动作项的一列就是一条规则
- 假设有N个条件,每个条件的取值有两个(0,1),全组合有2^N中规则
2.3.4 步骤
- 1.明确需求
- 2.画出判定表
- 1)列出条件桩和动作桩
- 2)填写条件项,对条件项进行组合
- 3)根据条件项的组合确定动作项
- 4)简化、合并相似规则(相同的动作)
- 3.根据规则编写测试用例
2.3.5 使用场景
- 1.有多个输入条件,多个输出结果,输入条件之间有组合关系,输入条件和输出结果之间有相互依赖关系
- 2.判定表一般适用于条件组合数量较少的情况(一般为4个条件以下)
2.3.6 案例
2.3.6.1 订单判断
1.需求:根据订单金额及状态发送单据
2.要求:1)如果金额大于500元,又未过期,则发出批准单和提货单;2)如果金额大于500元,但过期了,则不发批准单与提货单;3)如果金额小于等于500元,则不论是否过期都发出批准单和提货单;4)在过期的情况下不论金额大小还需要发出通知单。


2.3.6.2 文件修改规则
1.需求:修改文件名
2.要求:1)输入的第一列字符必须是A或B2)第二列字符必须是一个数字3)如果第一列字符不正确,则给出信息L4)如果第二列字符不正确,则给出信息M5)如果两列字符输入正确,则修改文件成功


2.3.6.3 投币充值系统
1.需求
- 2.步骤

-
3.编写测试用例
红色部分为无意义用例,故删去。
2.4.6.4 投币系统2.0
- 需求
2. 画出判定表
3. 编写测试用例
同上。
2.4 场景法
2.4.1 定义
场景法也可以叫流程图法,是用流程图描述用户的使用场景,然后通过覆盖流程路径来设计测试用例。
2.4.2 流程图
业务用例是根据流程图来梳理的,需要先了解流程图。
2.4.3 梳理流程图工具
- processon
- 微软visio
- 腾讯文档vision
2.4.4 案例
2.4.4.1 ATM取款业务验证
- 业务流程
- 转换为具体业务流程
1、开始→验证银行卡失败→提示错误,退卡→结束
2、开始→验证银行卡成功→输入密码错误3次→吞卡→结束
3、开始→验证银卡成功→验证密码成功→验证账户余额不足→提示错误、退卡→结束
4、开始→验证银卡成功→验证密码成功→验证账户余额充足→验证取款金额不足→提示错误、退卡→结束
5、开始→验证银卡成功→验证密码成功→验证账户余额充足→验证取款金额充足一ATM机余额不足→提示错误、退卡一结束
6、开始一验证银卡成功→验证密码成功→验证账户余额充足→验证取款金额充足→ATM机余额充足→取款成功,更新账户余额并出钞→返回主界面→结束
2.5 错误推断法
2.5.1 含义
通过经验推测系统可能出现的问题
2.5.2 使用场景
当项目用例都执行完毕,切BUG修复完成,离上线还有一段时间,在这段时间中可使用错误推断法复测主要业务或测试未覆盖的功能。
2.5.3 思想
根据经验列举出可能出现问题的清单,根据清单分析问题可能原因,推测发现缺陷。
一般情况下,程序在处理空格、空、边界值、超长字符串、全角字符串、0以及单引号情况下较容易出错。
2.5.4 案例
需求:查看年龄是否符合要求
要求:20-99之间的整数
2.6 正交排列法
2.6.1 定义
正交排列法就是使用最小的测试过程集合获得最大的测试覆盖率。
2.6.2 使用场景
当可能输入的数据或者输入数据的组合数量很大时,由于不可能为每个输入组合都创建测试用例,可以采用这种方法。
2.6.3 特点
均匀分散,齐整可比。
2.6.4 正交表
- 一种特制的表,一般正交表标记为: L n ( m k ) L_n(m^k) Ln(mk)
- n表示行数
- k表示列数
- m表示列的取值个数
比如:$L_9(3^4)$有4个列每列有3个取值9为列的组合个数叫做4因素3水平
2.6.5 步骤
- 1.明确需求
- 2.画出正交表
- 1)确定需求中的因素数(所有的输入)与对应的水平数(输入的取值)
- 2)根据因素数与水平数选取正交表
- 3)用需求中的文字代替正交表中的数字
- 3.编写测试用例
2.6.6 案例
2.6.6.1 字符属性设
1.需求:设置控件属性
2.要求:1)窗体中有多个控件(字体、字符样式、颜色、字号)2)每个空间有多个取值字体: 仿宋、 楷体、 华文彩云字符样式: 粗体、 斜体、 下划线颜色: 红色、 绿色、 蓝色字号: 20号、 30号、 40号
正常情况下,所有的排列组合列举出来,一共是:3^4=81种;
使用正交排列的话可以简化为: L 9 ( 3 4 ) L_9(3^4) L9(34)=9,即9行4因素3水平。
具体的操作步骤如下:
- 1.明确需求
字体: 仿宋、 楷体、 华文彩云
字符样式: 粗体、 斜体、 下划线
颜色: 红色、 绿色、 蓝色
字号: 20号、 30号、 40号
- 2.画出正交表
- 1)确定因素数为4(字体、字符样式、颜色、字号)与水平数为3(每个因素包含3中选项)
- 2)选取正交表
- 3)替换内容
- 3.编写测试用例
2.6.6.2 个人信息查询
1.需求:查询个人信息
2.要求:1)当姓名、身份证号码、手机号码都输入正确时,显示个人信息
正常情况下,所有的排列组合应为:2^3=9种;
使用正交排列优化后,简化为: L 4 ( 2 3 ) L_4(2^3) L4(23)=4,即4行3因素2水平。
具体的操作步骤如下:
- 1.明确需求
- 姓名、身份证号码、手机号输入正确,显示个人信息;
- 姓名、身份证号码、手机号分为:输入、不输入,两种情况;
- 2.画出正交表
- 1)确定因素数为3(姓名、身份证号码、手机号码)与水平数为2(填写、不填写)
- 2)选取正交表
- 3)替换内容
- 3.编写测试用例