赞
踩
一、等价类划分法(穷举)
1、定义:在所有测试数据中,将具有某种共同特征的数据集合进行划分
2、分类
3、步骤
- 明确需求
- 确定有效和无效等价类
- 提取数据编写数据用例(正向-尽量覆盖组合;逆向-不可组合,只能由一个不符合要求)
4、案例
1)验证QQ号的合法性
(要求:6-10位自然数)
①、明确要求为6-10位自然数
②、有效等价类:8位自然数
无效等价类:4位自然数 / 8位非自然数(验证一个点时令一个必须符合要求)
③、数据:12345678 / 1423 / 1234567a
用例编号 | 用例标题 | 项目/ 模块 | 前置条件 | 优先级 | 测试步骤 | 测试数据 | 预期结果 | 实际结果 |
qq_001 | 合法 (8位自然数) | 打开qq | P0 | 1、输入QQ号 2、点击验证 | 12345678 | 合法 | ||
qq_002 | 不合法 (4位自然数) | 打开qq | P0 | 1、输入QQ号 2、点击验证 | 1234 | 不合法 | ||
qq_003 | 不合法 (8位非自然数) | 打开qq | P0 | 1、输入QQ号 2、点击验证 | 1234567a | 不合法 |
(用例执行:预期结果与实际结果不一致为缺陷)
2)验证某城市电话号码正确性
(要求:1.区号-空 / 三位数字;2.前缀码-非0且非1开头的三位数字;后缀码-四位数字)
①、明确要求
参数 | 类型 | 长度 | 规则 |
区号 | 数字 | 0 / 3 | / |
前缀 | 数字 | 3 | 非0且非1开头 |
后缀 | 数字 | 4 | / |
②、有效等价类(尽量组合,通常条数与最多项数量相等,该题为2条):
参数 | 类型 | 长度 | 规则 |
区号 | 数字 | 0 / 3 | / |
前缀 | 数字 | 3 | 非0且非1开头 |
后缀 | 数字 | 4 | / |
无效等价类(不可组合,通常条数为项数之和,该题为8条):
参数 | 类型 | 长度 | 规则 |
区号 | 非数字 | 1 | / |
前缀 | 非数字 | 2 | 0开头 / 1开头 |
后缀 | 非数字 | 3 | / |
③、数据:
用例 编号 | 用例标题 | 项目/ 模块 | 前置条件 | 优先级 | 测试步骤 | 测试数据 | 预期结果 | 实际结果 |
tel_001 | 合法 (区号为空+3位数字前缀且非0非1开头+4位数字后缀) | 电话 | / | P0 | 1、输入区号 2、输入前缀 3、输入后缀 | 1、区号:空 2、前缀:234 3、后缀:1234 | 合法 | |
tel_002 | 合法 (3位区号+3位数字前缀且非0非1开头+4位数字后缀) | 电话 | / | P0 | 1、输入区号 2、输入前缀 3、输入后缀 | 1、区号:123 2、前缀:234 3、后缀:1234 | 合法 | |
tel_003 | 不合法 (1位区号+3位数字前缀且非0非1开头+4位数字后缀) | 电话 | / | P0 | 1、输入区号 2、输入前缀 3、输入后缀 | 1、区号:1 2、前缀:234 3、后缀:1234 | 不合法 | |
tel_004 | 不合法 (区号为空+2位数字前缀且非0非1开头+4位数字后缀) | 电话 | / | P0 | 1、输入区号 2、输入前缀 3、输入后缀 | 1、区号:空 2、前缀:23 3、后缀:1234 | 不合法 | |
tel_005 | 不合法 (区号为空+3位数字前缀且非0非1开头+3位数字后缀) | 电话 | / | P0 | 1、输入区号 2、输入前缀 3、输入后缀 | 1、区号:空 2、前缀:234 3、后缀:123 | 不合法 | |
tel_006 | 不合法 (区号3位非数字+3位数字前缀且非0非1开头+4位数字后缀) | 电话 | / | P0 | 1、输入区号 2、输入前缀 3、输入后缀 | 1、区号:12a 2、前缀:234 3、后缀:1234 | 不合法 | |
tel_007 | 不合法 (区号为空+3位非数字前缀且非0非1开头+4位数字后缀) | 电话 | / | P0 | 1、输入区号 2、输入前缀 3、输入后缀 | 1、区号:空 2、前缀:23a 3、后缀:1234 | 不合法 | |
tel_008 | 不合法 (区号为空+3位数字前缀且非0非1开头+4位非数字后缀) | 电话 | / | P0 | 1、输入区号 2、输入前缀 3、输入后缀 | 1、区号:空 2、前缀:234 3、后缀:123a | 不合法 | |
tel_009 | 不合法 (区号为空+3位数字前缀且以0开头+4位数字后缀) | 电话 | / | P0 | 1、输入区号 2、输入前缀 3、输入后缀 | 1、区号:空 2、前缀:023 3、后缀:1234 | 不合法 | |
tel_010 | 不合法 (区号为空+3位数字前缀且以1开头+4位数字后缀) | 电话 | / | P0 | 1、输入区号 2、输入前缀 3、输入后缀 | 1、区号:空 2、前缀:123 3、后缀:1234 | 不合法 |
(用例执行:预期结果与实际结果不一致为缺陷)
5、使用场景:需要有大量数据测试输入,但是无法穷举测试的地方
(典型代表:页面级的输入框测试)
二、边界值分析法(边界限制)
边界值分析法只能覆盖长度,无法覆盖类型,需要与穷举法结合使用
1、边界范围节点
2、应用设计步骤
- 明确需求
- 确定有效和无效等价类
- 确定边界范围
- 提取数据编写测试用例
3、案例
1)通过边界值法验证标题长度的合法性
(要求:标题长度大于0,小于等于30字符)
①、明确要求为标题长度大于0,小于等于30字符
②、有效等价类:大于0且小于等于30
无效等价类:等于0 / 大于30
③、确定边界范围值:0个字符 / 1个字符 / 29个字符 / 30个字符 / 31个字符
用例 编号 | 用例标题 | 项目/ 模块 | 前置条件 | 优先级 | 测试步骤 | 测试数据 | 预期结果 | 实际结果 |
title_001 | 合格 (1个字符) | 标题 | 打开工具 | P0 | 1、输入数据 2、点击确定 | a | 合格 | |
title_002 | 合格 (29个字符) | 标题 | 打开工具 | P0 | 1、输入数据 2、点击确定 | aaaaaaaaaa aaaaaaaaaa aaaaaaaaa | 合格 | |
title_003 | 合格 (30个字符) | 标题 | 打开工具 | P0 | 1、输入数据 2、点击确定 | aaaaaaaaaa aaaaaaaaaa aaaaaaaaaa | 合格 | |
title_004 | 不合格 (为空) | 标题 | 打开工具 | P1 | 1、输入数据 2、点击确定 | 空 | 不合格 | |
title_005 | 不合格 (31个字符) | 标题 | 打开工具 | P1 | 1、输入数据 2、点击确定 | aaaaaaaaaa aaaaaaaaaa aaaaaaaaaa a | 不合格 |
2)通过边界值法验证QQ号码的合法性
(要求:6-10位自然数)
①、明确要求为6-10位自然数
②、有效等价类:大于等于6且小于等于10
无效等价类:小于6 / 大于10
③、确定边界范围值:5位 / 6位 / 7位 / 8位 / 9位 / 10位 / 11位 / 非自然数
用例 编号 | 用例标题 | 项目/ 模块 | 前置条件 | 优先级 | 测试步骤 | 测试数据 | 预期结果 | 实际结果 |
qq_001 | 合格 (6位自然数) | 打开QQ | P0 | 1、输入qq 2、点击确定 | 123456 | 合格 | ||
qq_002 | 合格 (7位自然数) | 打开QQ | P0 | 1、输入qq 2、点击确定 | 1234567 | 合格 | ||
qq_003 | 合格 (8位自然数) | 打开QQ | P0 | 1、输入qq 2、点击确定 | 12345678 | 合格 | ||
qq_004 | 合格 (9位自然数) | 打开QQ | P0 | 1、输入qq 2、点击确定 | 123456789 | 合格 | ||
qq_005 | 合格 (10位自然数) | 打开QQ | P0 | 1、输入qq 2、点击确定 | 1234567891 | 合格 | ||
qq_006 | 不合格 (5位自然数) | 打开QQ | P0 | 1、输入qq 2、点击确定 | 12345 | 不合格 | ||
qq_007 | 不合格 (11位自然数) | 打开QQ | P0 | 1、输入qq 2、点击确定 | 12345678912 | 不合格 | ||
qq_008 | 不合格 (6位非自然数) | 打开QQ | P0 | 1、输入qq 2、点击确定 | aaaaaa | 不合格 |
4、案例优化 (只针对边界上的点)
开内比外原因:开区间不包含边界值的点,已测边界值,无需再测外部离点;
闭区间包含边界值的点,已测边界值,无需再测内部离点
案例2中,依据开内闭外,可优化qq_002,qq_004
用例 编号 | 用例标题 | 项目/ 模块 | 前置条件 | 优先级 | 测试步骤 | 测试数据 | 预期结果 | 实际结果 |
qq_001 | 合格 (6位自然数) | 打开QQ | P0 | 1、输入qq 2、点击确定 | 123456 | 合格 | ||
qq_002 | 合格 (7位自然数) | 打开QQ | P0 | 1、输入qq 2、点击确定 | 1234567 | 合格 | ||
qq_003 | 合格 (8位自然数) | 打开QQ | P0 | 1、输入qq 2、点击确定 | 12345678 | 合格 | ||
qq_004 | 合格 (9位自然数) | 打开QQ | P0 | 1、输入qq 2、点击确定 | 123456789 | 合格 | ||
qq_005 | 合格 (10位自然数) | 打开QQ | P0 | 1、输入qq 2、点击确定 | 1234567891 | 合格 | ||
qq_006 | 不合格 (5位自然数) | 打开QQ | P0 | 1、输入qq 2、点击确定 | 12345 | 不合格 | ||
qq_007 | 不合格 (11位自然数) | 打开QQ | P0 | 1、输入qq 2、点击确定 | 12345678912 | 不合格 | ||
qq_008 | 不合格 (6位非自然数) | 打开QQ | P0 | 1、输入qq 2、点击确定 | aaaaaa | 不合格 |
5、使用场景
三、判定表法(多条件依赖关系)
1、判定表法的引入
2、定义:是一种以表格形式表达多条件逻辑判断的工具
3、组成部分
(判定表中贯穿条件项和动作项的一列就是一条规则;假设有n个条件,每个条件的取值有0,1两个,全组合有2的n次方种规则)
4、设计用例步骤
1.明确需求
2.画出判定表
① 列出条件桩和动作桩
② 填写条件项,对条件进行全组合
③ 根据条件项的组合确定动作项
④ 简化、合并相似规则(有相同的动作)
3.根据规则编写测试用例
5、案例
1)验证“若用户欠费或关机,则不允许主被叫”功能
条件 | 是否欠费 | 是 | 是 | 否 | 否 |
是否关机 | 是 | 否 | 是 | 否 | |
操作 | 是否允许主被叫 | 是 | 否 | 否 | 是 |
2)订购单检查
要求:1.如果金额大于500,又未过期,则发出批准单和提货单
2.如果金额大于500,但已过期,则不发批准单和提货单
3.如果金额小于等于500,则无论是否过期都发出批准单和提货单
4.在过期的情况下,无论金额大小还需要发出通知单
条件 | 是否大于500 | 是 | 是 | 否 | 否 |
是否未过期 | 是 | 否 | 是 | 否 | |
操作 | 是否发出批准单 | 是 | 否 | 是 | 是 |
是否发出提货单 | 是 | 否 | 是 | 是 | |
是否发出通知单 | 否 | 是 | 否 | 是 |
用例 编号 | 用例标题 | 项目/ 模块 | 前置条件 | 优先级 | 测试步骤 | 测试数据 | 预期结果 | 实际结果 |
order_001 | 发批准单和提货单(大于500、未过期) | 订单 | 打开软件 | P1 | 1、输入金额 2、查看是否过期 | 金额:600 未过期 | 发批准单和提货单 不发通知单 | |
order_002 | 发通知单(大于500、过期) | 订单 | 打开软件 | P1 | 1、输入金额 2、查看是否过期 | 金额:600 过期 | 不发批准单和提货单 发通知单 | |
order_003 | 发批准单和提货单(等于500、未过期) | 订单 | 打开软件 | P1 | 1、输入金额 2、查看是否过期 | 金额:500 未过期 | 发批准单和提货单 不发通知单 | |
order_004 | 发批准单、提货单和通知单 (小于500、过期) | 订单 | 打开软件 | P1 | 1、输入金额 2、查看是否过期 | 金额:400 过期 | 发批准单、提货单和通知单 |
3)文件修改规则
要求:1.输入第一列字符必须是A或B
2.第二列字符必须是一个数字
3.如果第一列字符不正确,则给出信息L
4.如果第二列字符不正确,则给出信息M
5.如果两列字符正确,则修改文件成功
条件 | 第一列字符是否为A或B | 是 | 是 | 否 | 否 |
第二列字符是否为一个数字 | 是 | 否 | 是 | 否 | |
操作 | 是否给出信息L | 否 | 否 | 是 | 是 |
是否给出信息M | 否 | 是 | 否 | 是 | |
是否修改文件成功 | 是 | 否 | 否 | 否 |
用例 编号 | 用例标题 | 项目/ 模块 | 前置条件 | 优先级 | 测试步骤 | 测试数据 | 预期结果 | 实际结果 |
file_001 | 修改成功 (第一列为A或B,第二列为数字) | 文件 | 打开软件 | P1 | 1、输入第一列 2、输入第二列 | 1、a 2、1 | 修改文件成功 | |
file_002 | 输出M (第一列为A或B,第二列非数字) | 文件 | 打开软件 | P1 | 1、输入第一列 2、输入第二列 | 1、a 2、aa | 输出M | |
file_003 | 输出L (第一列非A或B,第二列为数字) | 文件 | 打开软件 | P1 | 1、输入第一列 2、输入第二列 | 1、c 2、1 | 输出L | |
file_004 | 输出L、M (第一列非A或B,第二列非数字) | 文件 | 打开软件 | P1 | 1、输入第一列 2、输入第二列 | 1、c 2、a | 输出L、M |
6、使用场景
(如果项目中多条件组合大于4个相互依赖,可以使用正交表和因果图来实现)
四、场景法(流程分析)
1、定义:也叫流程图法,是用流程图描述用户的使用场景,然后通过覆盖流程路径来设计测试用例.
2、流程图(拓展)
流程图主要用例解决业务用例问题
① 定义:使用标准图形和箭头来表达程序或业务的走向
② 案例
1) 用户名为admin\密码为:123456,输出:登录成功
2) 登录、搜索商品、添加购物车、去结算、支付、如果支付成功,则提示下单成功,否则提示支付失败
五、错误推测法
1、定义:通过经验推测系统可能出现的问题。
2、思想:根据经验列举可能出现的问题清单,根据清单分析问题可能原因,推测发现缺陷。
3、场景
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。