文章目录
测试用例
测试用例要素
1、测试用例编号(唯一性、易识别)
2、测试标题
3、测试项目(可以忽略)
4、用例级别
5、测试输入
6、前置条件
7、执行步骤
8、预期结果
9、实际结果(可以忽略)
10、是否存在BUG(可以忽略)
编号 | 用例标题 | 测试项目 | 用例级别 | 测试输入 | 前置条件 | 执行步骤 | 预期结果 | 实际结果 | 是否存在BUG |
---|---|---|---|---|---|---|---|---|---|
t001 | 场地可用且用户登录是否可用成功注册场地 | 文体中心管理系统 | 高 | 用户点击租赁按钮 | 用户已登录且场地为空 | 1、登录以后点击租赁场地 2、点击租赁按钮 | 申请租赁成功并创建订单 | 成功 | 无 |
测试用例设计方法
等价类划分法
1、等价类的定义:有代表性的数据子集(任意数据即可)
2、等价类种类:
1)有效等价类:满足需求的。(最好只写一个来覆盖)
2)无效等价类:不满足需求的。(需要写多个,尽可能实现全覆盖)
适用范围
存在需要输入数据的功能
实例
用户注册
属性 | 有效等价类 | 无效等价类 |
---|---|---|
用户账号 | A1 6-12位 A2 数字、字母或数字字母组合 A3 账号在服务器上不存在 | A8 小于6位或大于16位 A9 有特殊字符 A10 账号在服务器上已存在 |
用户密码 | A4 6-20位 | A11 小于6位或大于20位 |
姓名 | A5 2-10位 A6 中文 | A12 小于2位或大于10位 A13 非中文 |
电话 | A7 中国大陆地区合法手机号 | A14 非中国大陆地区合法手机号 |
编号 | 用例标题 | 测试项目 | 用例级别 | 测试输入 | 覆盖等价类 | 前置条件 | 执行步骤 | 预期结果 | 实际结果 | 是否存在缺陷 |
---|---|---|---|---|---|---|---|---|---|---|
001 | 账号为10位数字是否提示正确 | / | 高 | 10位数字 | A1 A2 A3 | 网络正常 | 1、打开注册页面 2、获取鼠标焦点 3、输入用户账号 4、失去焦点 | 提示账号可用 | / | / |
002 | 账号为10位字母是否提示正确 | / | 高 | 10位字母 | A1 A2 A3 | 网络正常 | 1、打开注册页面 2、获取鼠标焦点 3、输入用户账号 4、失去焦点 | 提示账号可用 | / | / |
003 | 账号为10位数字字母组合是否提示正确 | / | 高 | 10位数字字母组合 | A1 A2 A3 | 网络正常 | 1、打开注册页面 2、获取鼠标焦点 3、输入用户账号 4、失去焦点 | 提示账号可用 | / | / |
004 | 账号为小于6位的数字是否提示错误 | / | 高 | 4位数字 | A2 A8 | 网络正常 | 1、打开注册页面 2、获取鼠标焦点 3、输入用户账号 4、失去焦点 | 账号长度必须为6 - 16位 | ||
005 | 账号为大于12位的数字是否提示错误 | / | 高 | 18位数字 | A2 A8 | 网络正常 | 1、打开注册页面 2、获取鼠标焦点 3、输入用户账号 4、失去焦点 | 账号长度必须为6 - 16位 | ||
006 | 账号为小于6位的字母是否提示错误 | / | 高 | 4位英文字母 | A2 A8 | 网络正常 | 1、打开注册页面 2、获取鼠标焦点 3、输入用户账号 4、失去焦点 | 账号长度必须为6 - 16位 | ||
007 | 账号为大于12位的字母是否提示错误 | / | 高 | 18位字母 | A2 A8 | 网络正常 | 1、打开注册页面 2、获取鼠标焦点 3、输入用户账号 4、失去焦点 | 账号长度必须为6 - 16位 | ||
008 | 账号为小于6位的数字字母组合是否提示错误 | / | 高 | 4位数字字母组合 | A2 A8 | 网络正常 | 1、打开注册页面 2、获取鼠标焦点 3、输入用户账号 4、失去焦点 | 账号长度必须为6 - 16位 | ||
009 | 账号位大于12位的数字字母组合是否提示错误 | / | 高 | 18位数字字母组合 | A2 A8 | 网络正常 | 1、打开注册页面 2、获取鼠标焦点 3、输入用户账号 4、失去焦点 | 账号长度必须为6 - 16位 | ||
010 | 账号为非数字和字母的字符时是否提示错误 | / | 高 | 10位包含非数字字母 | A1 A9 | 网络正常 | 1、打开注册页面 2、获取鼠标焦点 3、输入用户账号 4、失去焦点 | 提示账号必须为数字、英文或数字英文组合 | ||
011 | 输入账号在服务器上存在 | / | 高 | 合法账号 | A1 A2 A10 | 网络正常 | 1、打开注册页面 2、获取鼠标焦点 3、输入用户账号 4、失去焦点 | 提示账号已存在 | ||
012 | 密码长度为10位是否提示正确 | / | 高 | 10位数字字母组合 | A4 | 网络正常 | 1、打开注册页面 2、获取鼠标焦点 3、输入用户密码 4、失去焦点 | 提示密码合法 | ||
013 | 密码长度小于6是否提示错误 | / | 高 | 4位数字 | A11 | 网络正常 | 1、打开注册页面 2、获取鼠标焦点 3、输入用户密码 4、失去焦点 | 提示密码长度必须为6 - 20位 | ||
014 | 密码长度大于20位是否提示错误 | / | 高 | 22位数字字母组合 | A11 | 网络正常 | 1、打开注册页面 2、获取鼠标焦点 3、输入用户密码 4、失去焦点 | 提示密码长度必须为6 - 20位 | ||
015 | 姓名长度合法、输入中文是否提示正确 | / | 高 | 3个中文字符 | A5 A6 | 网络正常 | 1、打开注册页面 2、获取鼠标焦点 3、输入用户姓名 4、失去焦点 | 提示姓名合法 | ||
016 | 姓名长度合法、包含非中文字符是否提示错误 | / | 高 | 3位、包含非中文字符 | A5 A13 | 网络正常 | 1、打开注册页面 2、获取鼠标焦点 3、输入用户姓名 4、失去焦点 | 提示姓名必须为中文字符 | ||
017 | 姓名小于2位、中文是否提示错误 | / | 高 | 1个中文字符 | A6 A12 | 网络正常 | 1、打开注册页面 2、获取鼠标焦点 3、输入用户姓名 4、失去焦点 | 提示姓名为2-10位中文字符 | ||
018 | 合法中国大陆手机号是否提示正确 | / | 高 | 13727086324 | A7 | 网络正常 | 1、打开注册页面 2、获取鼠标焦点 3、输入用户电话号码 4、失去焦点 | 提示手机号码合法 | ||
019 | 非法中国大陆手机号是否提示正确 | / | 高 | 111 | A14 | 网络正常 | 1、打开注册页面 2、获取鼠标焦点 3、输入用户电话号码 4、失去焦点 | 提示请输入合法的手机号码 |
边界值分析法
边界
对于输入等价类和输出等价类而言,稍高于其边界及稍低于其边界的一些特定情况
三个点
1、上点:边界上的点
2、离点:距离边界最近的点
3、内点:范围内的点
举例:6 - 12
上点:6、12
离点:5、7、11、13
内点:9(任意取一个)
实例
用户注册:
属性 | 有效等价类 | 无效等价类 |
---|---|---|
用户账号 | A1 6位数字、字母、数字字母组合 A2 16位数字、字母、数字字母组合 | A8 5位数字、字母、数字字母组合 A9 17位数字、字母、数字字母组合 |
用户密码 | A3 6位 A4 20位 | A10 5位 A11 21位 |
姓名 | A5 2位中文 A6 10位中文 | A12 1位中文 A13 11位中文 |
电话 | A7 11位合法中国大陆手机号 | A14 10位 A15 12位 |
编号 | 用例标题 | 测试项目 | 用例级别 | 测试输入 | 覆盖等价类 | 前置条件 | 执行步骤 | 预期结果 | 实际结果 | 是否存在缺陷 |
---|---|---|---|---|---|---|---|---|---|---|
001 | 账号为6位时是否提示正确 | / | 高 | 6位 | A1 | 网络正常 | / | 提示账号合法 | ||
002 | 账号为16位时是否提示正确 | / | 高 | 16位 | A2 | 网络正常 | / | 提示账号合法 | ||
003 | 账号为5位时是否提示正确 | / | 高 | 5位 | A8 | 网络正常 | / | 提示账号长度必须为6 - 16位 | ||
004 | 账号为17位时是否提示正确 | / | 高 | 17位 | A9 | 网络正常 | / | 提示账号长度必须为6 - 16位 | ||
005 | 密码为6位是否提示正确 | / | 高 | 6位 | A3 | 网络正常 | / | 提示密码合法 | ||
006 | 密码为20位是否提示正确 | / | 高 | 20位 | A4 | 网络正常 | / | 提示密码合法 | ||
007 | 密码为5位是否提示正确 | / | 高 | 5位 | A10 | 网络正常 | / | 提示密码长度必须为6 - 20位 | ||
008 | 密码为21位是否提示正确 | / | 高 | 21位 | A11 | 网络正常 | / | 提示密码长度必须为6 - 20位 | ||
009 | 姓名为2位是否提示正确 | / | 高 | 2位 | A5 | 网络正常 | / | 提示姓名合法 | ||
010 | 姓名为10位是否提示正确 | / | 高 | 10位 | A6 | 网络正常 | / | 提示姓名合法 | ||
011 | 姓名为1位是否提示错误 | / | 高 | 1位 | A12 | 网络正常 | / | 提示姓名为2-10位中文字符 | ||
012 | 姓名为11位是否提示错误 | / | 高 | 11位 | A13 | 网络正常 | / | 提示姓名为2-10位中文字符 | ||
013 | 手机号为11位是否提示正确 | / | 高 | 11位 | A7 | 网络正常 | / | 提示手机号码合法 | ||
014 | 手机号为10位是否提示正确 | / | 高 | 10位 | A14 | 网络正常 | / | 提示请输入合法的手机号码 | ||
016 | 手机号为12位是否提示正确 | / | 高 | 12位 | A15 | 网络正常 | / | 提示请输入合法的手机号码 |
判定表法
适用范围
判定有多个输入、多个输出,且输入与输入之间有相互的组合关系、输出和输出之间有相互的制约和依赖关系
判定表的4个组成部分
1、条件桩:系统的所有输入
2、动作桩:系统可能采取的操作
3、条件项:根据不同的输入值,所有情况下的真假值
4、动作项:输入项的各种取值情况下应该采取的动作
条件桩(测试输入) | 用户是否登录 场地是否可用 | |
动作桩(测试输出) | 租赁成功、生成订单 租赁失败、不生成订单 | |
对条件桩进行全组合 | 用户登录、场地可用 用户登录、场地不可用 用户没登录、场地可用 用户没登陆、场地不可用 | |
明确每个组合对应的动作桩 | 用户登录、场地可用 用户登录、场地不可用 用户没登录、场地可用 用户没登陆、场地不可用 | 租赁成功、生成订单 租赁失败、提示用户当前场地不可用 租赁失败、跳转到登录页面 租赁失败、跳转到登录页面 |
测试编号 | 1 | 2 | 3 | 4 | |
---|---|---|---|---|---|
条件桩 | 用户是否登录 场地是否可用 | Y Y | Y N | N Y | N N |
动作桩 | 允许租赁、生成订单 不允许租赁、生成订单 | Y | Y | Y | Y |
判定表法步骤
1、明确条件桩
2、明确动作桩
3、对条件桩进行全组合
4、明确每个组合对应的动作桩
5、设计用例
因果图法
因果图法是利用图解法分析输入的各种组合情况,从而设计测试用例的方法,他使用与检查程序输入条件的各种组合情况
因果图法是通过判定表的一个中间过程
核心:因 和 果
适用范围
判定有多个输入、多个输出,且输入与输入之间有相互的组合关系、输出和输出之间有相互的制约和依赖关系
实例
登录功能:
因:
- 账号长度为6-16位
- 账号为数字、英文、数字英文混合
- 账号在服务器中存在
- 密码正确
- 密码错误
果:
- 提示账号长度为6-16位
- 提示账号为数字、英文或数字英文组合
- 提示账号不存在
- 提示密码错误
- 提示密码正确
因果图
判定表
测试用例(未参数化)
编号 | 用例标题 | 测试项目 | 用例级别 | 测试输入 | 前置条件 | 执行步骤 | 预期结果 | 实际结果 | 是否存在BUG |
---|---|---|---|---|---|---|---|---|---|
t001 | 密码正确 | | 高 | 账号合法、在服务器上存在、密码正确 | 网络正常 | 1、打开注册页面 2、获取鼠标焦点 3、输入用户账号 4、失去焦点 | 提示密码正确 | |||
t002 | 账号长度非法 | | 高 | 账号长度非法 | 网络正常 | 1、打开注册页面 2、获取鼠标焦点 3、输入用户账号 4、失去焦点 | 提示账号长度为6-16位 | |||
t003 | 账号长度非法 | | 高 | 账号长度非法、包含特殊字符 | 网络正常 | 1、打开注册页面 2、获取鼠标焦点 3、输入用户账号 4、失去焦点 | 提示账号长度为6-16位 | |||
t004 | 账号包含特殊字符 | | 高 | 账号长度合法、包含特殊字符 | 网络正常 | 1、打开注册页面 2、获取鼠标焦点 3、输入用户账号 4、失去焦点 | 提示账号为数字、英文、或数字英文组合 | |||
t005 | 账号不存在 | | 高 | 账号合法、在服务器尚不存在 | 网络正常 | 1、打开注册页面 2、获取鼠标焦点 3、输入用户账号 4、失去焦点 | 提示账号不存在 | |||
t006 | 密码错误 | | 高 | 账号合法、在服务器上存在、密码错误 | 网络正常 | 1、打开注册页面 2、获取鼠标焦点 3、输入用户账号 4、失去焦点 | 提示密码错误 |
正交排列法(正交实验法)
输入内容,出现的必须是输入内容所选择的
修改场地、器材,查询功能
使用较少的测试用例,测出更多的BUG
原始方法:一个一个罗列
测试编号 | 测试输入 | 预期结果 | 实际结果 | 是否存在BUG |
t001 | 教室可用 | 输出类型为教室或场地名称包含教室,且场地状态为可用的场地信息 |
…
用例数量非常大
正交表的概念
1、一种特质的表,一般标记为ln(m^k)
2、n表示行数,也就是需要测试组合的次数
3、k是表的列数,表示空间的个数(因素的个数,或是因子个数)
4、m是每个控件包含的取值个数(各因素的水平数,即各因素的状态数)
Ln(m^k) k因素m水平
m个控件、每个空间有k个因素,总共有n个用例
实例
正交法设计测试用例的步骤
1、形成因子状态表
2、找到所采用的正交表
3、将正交表中的数字用文字表示
4、一行就是一条测试用例
正交法多字段查询实例(每个控件的取值数相同)
仅考虑填写和不填写两种情况
这样相当于有3个控件,每个控件有2个取值
场地名称 | 场地状态 | 场地类型名称 |
---|---|---|
填写 | 填写 | 填写 |
不填写 | 不填写 | 不填写 |
3因素2水平的正交表
列名 试验号 | 场地名称 | 场地状态 | 场地类型名称 |
---|---|---|---|
1 | 填写 | 填写 | 填写 |
2 | 填写 | 不填写 | 不填写 |
3 | 不填写 | 填写 | 不填写 |
4 | 不填写 | 不填写 | 填写 |
正交表选择方法:优先选大的
按照大的查,如果要查5因素2水平,常用的正交表没有5因素2水平,只有3因素2水平和7因素2水平。则选择7因素2水平的正交表
正交法多控件查询(每个控件的取值数不同)
当控件的水平数不一样时,优先选取出现次数最多的控件,此案例应选取年龄段
所以应该选择 3因素3水平的,即3^3的正交表
优先选取控件数(因素数),没有3因素的,则选取4因素3水平正交表
处理多出的3:都写男或都写女
场景法
概念
场景法就是模拟用户操作软件时的场景。
保证测试的全面性,站在用户的角度出发,对产品的多个功能的组合进行测试
适用范围
多个功能之间的组合测试
往往在冒烟测试时经常使用
举例
用户租赁器材:需要先登录,再浏览器材,添加到购物车,付款,生成订单
场景法两个重要的概念:
1、基本流:
按照正确的业务流程来实现的一条操作路径(模拟正确的操作流程)
2、备选流:
导致程序出现错误的操作流程(模拟错误的操作流程)
场景法设计测试用例的步骤
1、确定项目角色 前台用户/后台用户
2、明确角色的常用功能 搜索、加入购物车、下单、付款、生成订单
3、根据需求构建测试场景
4、每个场景都是一个用例
文体中心管理系统用户租赁器材场景法测试用例实例
项目角色 | 前台用户 |
角色常用功能 | 注册、登录、浏览器材、加入购物车、付款 |
构建测试场景 | 进入网站 登录 浏览器材 加入购物车 付款 生成订单 |
编号 | 用例标题 | 测试项目 | 用例级别 | 测试输入 | 前置条件 | 执行步骤 | 预期结果 | 实际结果 | 是否存在BUG |
---|---|---|---|---|---|---|---|---|---|
t001 | 所有的操作流程都执行正确 | 1、进入网站 2、登录账号 3、浏览器材 4、加入购物车 5、付款 6、生成订单 | 1、进入网站成功 2、登录账号成功 3、浏览器材成功 4、加入购物车成功 5、付款成功 6、生成订单成功 | ||||||
t002 | 登录失败 | 1、进入网站 2、登录账号 | 1、进入网站成功 2、登录账号失败 | ||||||
t003 | 付款失败 | 1、进入网站 2、登录账号 3、浏览器材 4、加入购物车 5、付款 | 1、进入网站成功 2、登录账号成功 3、浏览器材成功 4、加入购物车成功 5、付款失败 |
流程图法
一条路径就是一个测试用例
成功、失败路径都是一个用例,类似场景法
适用范围
多个功能的组合测试
冒烟测试时适用
错误推断法
利用直觉和经验猜测出可能出错的类型、有针对性列举出程序中所有可能的错误和容易发生错误的情况,他是测试经验丰富的测试人员喜欢适用的一种测试用例方法
适用场景:
项目任务紧急、时间不够,不能按部就班的测试
根据之前项目的经验,找到之前出错过的类似模块进行重点测试
所有正常测试结束后,通过错误推断法再测试一些之前出过问题的模块