overlord-lxy

Day02

测试用例解决的问题:

  • 1,对穷举场景设计测试点(等价类划分法)
  • 2,对限定边界规则设计测试点(边界值分析法)
  • 3,对多条件依赖关系进行设计测试点(判定表法)
  • 4,对于项目业务进行设计测试点(场景法)

一、等价类划分法

案例

1,QQ号

步骤:
1、明确需求 要求:账号为6~10位自然数
长度 6-10位
类型 自然数
2、划分有效等价和无效等价 有效 无效
8位自然数 3位自然数、12位自然数
8位非自然数、为空
3、设计数据编写用例 12345678 123、123456789123
123456li、为空

用例编号 用例标题 模块/项目 优先级 前置条件 测试步骤 测试数据 预期结果
QQ_001 QQ合法(8位自然数) QQ账号 P0 打开验证QQ程序 1、输入QQ号
2、点击验证
账号:12345678 QQ合法
QQ_002 QQ不合法(3位自然数) QQ账号 P1 打开验证QQ程序 1、输入QQ号
2、点击验证
账号:123 QQ不合法
QQ_003 QQ不合法(12位自然数) QQ账号 P1 打开验证QQ程序 1、输入QQ号
2、点击验证
账号:123456789123 QQ不合法
QQ_004 QQ不合法(8位非自然数) QQ账号 P1 打开验证QQ程序 1、输入QQ号
2、点击验证
账号:123456li QQ不合法
QQ_005 QQ不合法(为空) QQ账号 P1 打开验证QQ程序 1、输入QQ号
2、点击验证
账号:空 QQ不合法

2,电话号

1、明确需求 "要求:
1,区号:空或者是三位数字
2,前缀码:非“0”且非“1”开头的三位数字
3,后缀码:四位数字"
2、划分有效等价和无效等价
参数 说明 有效 有效数据 无效 无效数据
区号 长度 空、3位 1、空
2、123
非3位 12
前缀码 3位 234 非3位 23
后缀码 4位 1234 非4位 123
区号 类型 数字 / 非数字 12a
前缀码 数字 / 非数字 56g
后缀码 数字 / 非数字 u374
区号 规则 / / / /
前缀码 非0且非1开头 / 1、"0"开头
2、"1"开头
012
123
后缀码 / / / /
2 8
3、设计数据编写用例

用例编号 用例标题 模块/项目 优先级 前置条件 测试步骤 测试数据 预期结果
tel_001 合法(区号为空+其他正确) 电话 P0 打开验证电话程序 1、输入区号
2、输入前缀
3、输入后缀
4、点击验证
1、区号:空
2、前缀:234
3、后缀:1234
合法
tel_002 合法(区号为3位数字+其他正确) 电话 P0 打开验证电话程序 1、输入区号
2、输入前缀
3、输入后缀
4、点击验证
1、区号:123
2、前缀:234
3、后缀:1234
合法
tel_003 不合法(区号为2位数字+其他正确) 电话 P1 打开验证电话程序 1、输入区号
2、输入前缀
3、输入后缀
4、点击验证
1、区号:12
2、前缀:234
3、后缀:1234
不合法
tel_004 不合法(前缀码为非“0”且非“1”开头的2位数字+其他正确) 电话 P1 打开验证电话程序 1、输入区号
2、输入前缀
3、输入后缀
4、点击验证
1、区号:空
2、前缀:23
3、后缀:1234
不合法
tel_005 不合法(后缀码为3位数字+其他正确) 电话 P1 打开验证电话程序 1、输入区号
2、输入前缀
3、输入后缀
4、点击验证
1、区号:空
2、前缀:234
3、后缀:123
不合法
tel_006 不合法(区号为3位非数字+其他正确) 电话 P1 打开验证电话程序 1、输入区号
2、输入前缀
3、输入后缀
4、点击验证
1、区号:12a
2、前缀:234
3、后缀:1234
不合法
tel_007 不合法(前缀码为非“0”且非“1”开头的3位非数字+其他正确) 电话 P1 打开验证电话程序 1、输入区号
2、输入前缀
3、输入后缀
4、点击验证
1、区号:空
2、前缀:56g
3、后缀:1234
不合法
tel_008 不合法(后缀码为4位非数字+其他正确) 电话 P1 打开验证电话程序 1、输入区号
2、输入前缀
3、输入后缀
4、点击验证
1、区号:空
2、前缀:234
3、后缀:u374
不合法
tel_009 不合法(前缀码为“0”开头的3位数字+其他正确) 电话 P1 打开验证电话程序 1、输入区号
2、输入前缀
3、输入后缀
4、点击验证
1、区号:空
2、前缀:012
3、后缀:1234
不合法
tel_010 不合法(前缀码为“1”开头的3位数字+其他正确) 电话 P1 打开验证电话程序 1、输入区号
2、输入前缀
3、输入后缀
4、点击验证
1、区号:空
2、前缀:123
3、后缀:1234
不合法

1、正向用例:一条尽可能覆盖多条
2、逆向用例:每一条数据,都是一条单独用例

适用场景

  • 针对:需要有大量数据测试输入,但是没法穷举测试的地方。

输入框
下拉列表
单选复选框

  • 典型代表:页面的输入框类测试

完整的用例应该是等价类和边界值

二、边界值分析法

(一)边界范围节点

  • 选取正好等于、刚好大于、刚好小于边界的值作为测试数据

上点:边界上的点(正好等于)
离点:距离上点最近的点(刚好大于、刚好小于)
内点:范围内的点(区间)

(二)步骤

1、明确需求
2、确定有效和无效等价
3、确定边界范围
4、提取数据编写用例

练习

1、明确需求 需求:通过边界值法验证标题长度的合法性
要求:标题长度大于0,小于等于30个字符
2、确定有效和无效等价(类型) 有效等价 无效等价
长度大于0小于等于30的字符 长度大于0小于等于30的数字
3、确定边界范围 上点 离点 内点
0位,30位 1位,29位,31位,(-1位舍弃) 15位
4、提取数据编写用例

用例编号 用例标题 模块/项目 优先级 前置条件 测试步骤 测试数据 预期结果
title_001 不合法(标题为15位非字符) 标题 P1 打开标题验证程序 1、输入标题
2、点击验证
标题:15位数字 不合法
title_002 不合法(标题为空) 标题 P1 打开标题验证程序 1、输入标题
2、点击验证
标题:空 不合法
title_003 合法(标题为30位字符) 标题 P0 打开标题验证程序 1、输入标题
2、点击验证
标题:30位字符 合法
title_004 合法(标题为1位字符) 标题 P0 打开标题验证程序 1、输入标题
2、点击验证
标题:1位字符 合法
title_005 合法(标题为29位字符) 标题 P0 打开标题验证程序 1、输入标题
2、点击验证
标题:29位字符 合法
title_006 不合法(标题为31位字符) 标题 P1 打开标题验证程序 1、输入标题
2、点击验证
标题:31位字符 不合法
title_007 不合法(标题为15位字符) 标题 P0 打开标题验证程序 1、输入标题
2、点击验证
标题:15位字符 合法

1、明确需求 需求:通过边界值法验证QQ号码的合法性
要求:6-10位自然数
2、确定有效和无效等价(类型) 有效等价 无效等价
自然数 非自然数
3、确定边界范围 上点 离点 内点
6位、10位 5位、7位、9位、11位 8位
4、提取数据编写用例

用例编号 用例标题 模块/项目 优先级 前置条件 测试步骤 测试数据 预期结果
QQ_001 不合法(8位非自然数) QQ P1 打开QQ验证程序 1、输入QQ
2、点击验证
123456li 不合法
QQ_002 合法(6位自然数) QQ P0 打开QQ验证程序 1、输入QQ
2、点击验证
123456 合法
QQ_003 合法(10位自然数) QQ P0 打开QQ验证程序 1、输入QQ
2、点击验证
1234567890 合法
QQ_004 不合法(5位自然数) QQ P1 打开QQ验证程序 1、输入QQ
2、点击验证
12345 不合法
QQ_005 合法(7位自然数) QQ P0 打开QQ验证程序 1、输入QQ
2、点击验证
1234567 合法
QQ_006 合法(9位自然数) QQ P0 打开QQ验证程序 1、输入QQ
2、点击验证
123456789 合法
QQ_007 不合法(11位自然数) QQ P1 打开QQ验证程序 1、输入QQ
2、点击验证
12345678910 不合法
QQ_008 合法(8位自然数) QQ P0 打开QQ验证程序 1、输入QQ
2、点击验证
12345678 合法

(三)优化

  • 上点:必选(不必考虑区间开闭)
  • 内点:必选(建议选择中间范围)
  • 离点:开内闭外(考虑开闭区间,开区间选择内部离点,闭区间选择外部离点)

开区间:不包含边界上的点(没有等号)
闭区间:包含边界上的点(有等号)

(四)使用场景

  • 在等价类的基础上针对有边界范围的测试数据输入的地方(重点关注边界)
  • 常见词语描述:大小、尺寸、重量、最大、最小、至多、至少等修饰词语
  • 典型代表:有边界范围的输入框类测试

单个输入框常用边界值+等价类

三、判定表法

(一)判定表法的引入

案例:验证“若用户欠费或者关机,则不允许被呼叫”功能的测试

  • 等价类边界值分析法主要关注单个输入类条件的测试
  • 并未考虑输入条件之间的各种组合、输入条件与输出结果之间有相互制约关系的测试

(二)判定表定义及组成部分

定义:是一种以表格形式表达多条件逻辑判断的工具
组成:

  • 条件桩:列出问题中所有条件,列出条件的次序无关紧要
  • 动作桩:列出问题中可能采取的操作,操作的排列顺序没有约束
  • 条件项:列出条件对应的取值,所有可能情况下的真假值
  • 动作项:列出条件项的、各种取值情况下应该采取的动作结果
条件 是否欠费
是否关机
操作 是否允许被呼叫

规则:

判定表中贯穿条件项和动作项的一列就是一条规则
假设有n个条件,每个条件的取值有两个(0,1),全组合有2n种规则

(三)判定表法设计用例步骤

1、明确需求
2、画出判定表

  • 1、列出条件状和动作桩
  • 2、填写条件项,对条件项进行全组合
  • 3、根据条件项的组合确定动作项
  • 4、简化、合并相似规则(有相同的动作)

3、根据规则编写测试用例

案例

1、明确需求 规则: 1、如果金额大于500元,又未过期,则发出批准单和提货单;
2、如果金额大于500元,但过期了,则不发批准单与提货单;
3、如果金额小于等于500元,则不论是否过期都发出批准单与提货单;
4、在过期的情况下不论金额大小还需要发出通知单。
2、画判定表 是否大于500
是否过期
批准单 ×
提货单 ×
通知单 × ×
3、提取数据编写用例

用例编号 用例标题 模块/项目 优先级 前置条件 测试步骤 测试数据 预期结果
order_001 发通知单(大于500,过期) 订单 P0 打开订单验证程序 1、输入金额
2、输入是否过期
3、点击验证按钮
金额:600
是否过期:过期
发通知单,不发批准单、提货单
order_002 发批准单和提货单(大于500,未过期) 订单 P0 打开订单验证程序 1、输入金额
2、输入是否过期
3、点击验证按钮
金额:600
是否过期:未过期
发批准单、提货单,不发通知单
order_003 发批准单、提货单和通知单(小于等于500,过期) 订单 P0 打开订单验证程序 1、输入金额
2、输入是否过期
3、点击验证按钮
金额:500
是否过期:过期
发批准单、提货单和通知单
order_004 发批准单、提货单(小于等于500,未过期) 订单 P0 打开订单验证程序 1、输入金额
2、输入是否过期
3、点击验证按钮
金额:500
是否过期:未过期
发批准单、提货单,不发通知单

1、明确需求 规则: 1、输入的第一列字符必须是A或B;
2、第二列字符必须是一个数字;
3、如果第一列字符不正确,则给出信息L;
4、如果第二列字符不正确,则给出信息M;
5、如果两列字符输入正确,则修改文件成功。
2、画判定表 第一列是A或B
第二列是数字
输出L × ×
输出M × ×
文件修改成功 × × ×
3、提取数据编写用例

用例编号 用例标题 模块/项目 优先级 前置条件 测试步骤 测试数据 预期结果
file_001 文件修改成功(第一列是A或B,第二列是数字) 文件 P0 打开文件修改工具 1、输入第一列
2、输入第二列
3、点击验证按钮
第一列:A
第二列:1
文件修改成功
file_002 输出M(第一列是A或B,第二列不是数字) 文件 P1 打开文件修改工具 1、输入第一列
2、输入第二列
3、点击验证按钮
第一列:A
第二列:a
输出M
file_003 输出L(第一列不是A或B,第二列是数字) 文件 P1 打开文件修改工具 1、输入第一列
2、输入第二列
3、点击验证按钮
第一列:C
第二列:1
输出L
file_004 输出L、M(第一列不是A或B,第二列不是数字) 文件 P1 打开文件修改工具 1、输入第一列
2、输入第二列
3、点击验证按钮
第一列:C
第二列:a
输出L、M

(四)使用场景

  • 有多个输入条件,多个输出结果,输入条件之间有组合关系,输入条件和输出结果之间有依赖(制约)关系
  • 判定表一般适用于条件组合数量较少的情况(比如4个条件以下,超过4个应采用正交法解决)

四、场景法

先测业务,再测单功能、单模块

扩展:流程图

  • 使用标准图形和箭头来表达程序或业务的走向

1、能够看懂流程图,设计业务用例
2、当需求文档信息不全时,能够根据需求,梳理出流程

场景法也叫流程图法,用流程图描述用户的使用场景,通过覆盖流程路径来设计测试用例。
意义:

  • 用户使用角度:用户平时使用的不是单个功能,而是多个功能组合起来进行使用
  • 测试人员角度:平时测试的都是单个功能点进行测试,容易忽略多个功能的组合测试

适用场景:

  • 根据实际的应用场景,来测试业务用例,可以使用场景法

1、开始→验证银行卡不成功→结束
2、开始→验证银行卡成功→密码错误3次→结束
3、开始→验证银行卡成功→密码验证成功→账户余额不足→结束
4、开始→验证银行卡成功→密码验证成功→账户余额验证成功→取款金额不正确→结束
5、开始→验证银行卡成功→密码验证成功→账户余额验证成功→取款金额正确→ATM机余额不足→结束
6、开始→验证银行卡成功→密码验证成功→账户余额验证成功→取款金额正确→ATM机余额充足→取款成功→结束

用例编号 用例标题 模块/项目 优先级 前置条件 测试步骤 测试数据 预期结果
ATM_001 取款失败(非银行卡) ATM P1 打开ATM验证程序 1、插入卡 卡:会员卡 取款失败,提示非银行卡,退卡
ATM_002 取款失败(密码错误3次) ATM P1 打开ATM验证程序 1、插入卡
2、输入密码
卡:银行卡
密码:错误密码
取款失败,提示密码错误达3次,吞卡
ATM_003 取款失败(账户余额不足) ATM P1 1、打开ATM验证程序
2、卡余额200
1、插入卡
2、输入密码
3、输入取款金额
卡:银行卡
密码:正确密码
取款金额:300
取款失败,提示余额不足,退卡
ATM_004 取款失败(取款金额不正确) ATM P1 1、打开ATM验证程序
2、卡余额10000
1、插入卡
2、输入密码
3、输入取款金额
卡:银行卡
密码:正确密码
取款金额:864
取款失败,提示不是正确金额,只能取100或100的倍数,退卡
ATM_005 取款失败(ATM余额不足) ATM P1 1、打开ATM验证程序
2、卡余额10000
3、ATM余额为100
1、插入卡
2、输入密码
3、输入取款金额
卡:银行卡
密码:正确密码
取款金额:300
取款失败,提示故障,退卡
ATM_006 取款成功(取款业务) ATM P0 1、打开ATM验证程序
2、卡余额10000
3、ATM余额为20000
1、插入卡
2、输入密码
3、输入取款金额
卡:银行卡
密码:正确密码
取款金额:500
取款成功,打印凭证,退卡

五、错误推测法

定义:通过经验推测系统可能出现的问题
思想:根据经验列举出可能出现问题的清单,根据清单分析问题可能原因,推测发现缺陷
场景:
1、时间紧任务量大时,根据之前项目类似经验找出易出错的模块重点测试
2、时间宽裕,通过该方法列出之前出现问题较多的模块再次测试

案例

注册测试

posted on 2024-05-08 16:38  李向宇  阅读(22)  评论(0编辑  收藏  举报

导航