软件测试 - 测试用例、测试方法

测试用例

测试用例要素

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合法中国大陆手机号是否提示正确/13727086324A7网络正常1、打开注册页面
2、获取鼠标焦点
3、输入用户电话号码
4、失去焦点
提示手机号码合法
019非法中国大陆手机号是否提示正确/111A14网络正常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、动作项:输入项的各种取值情况下应该采取的动作

条件桩(测试输入)用户是否登录
场地是否可用
动作桩(测试输出)租赁成功、生成订单
租赁失败、不生成订单
对条件桩进行全组合用户登录、场地可用
用户登录、场地不可用
用户没登录、场地可用
用户没登陆、场地不可用
明确每个组合对应的动作桩用户登录、场地可用
用户登录、场地不可用
用户没登录、场地可用
用户没登陆、场地不可用
租赁成功、生成订单
租赁失败、提示用户当前场地不可用
租赁失败、跳转到登录页面
租赁失败、跳转到登录页面
测试编号1234
条件桩用户是否登录

场地是否可用
Y

Y
Y

N
N

Y
N

N
动作桩允许租赁、生成订单

不允许租赁、生成订单
Y



Y


Y


Y

判定表法步骤

1、明确条件桩
2、明确动作桩
3、对条件桩进行全组合
4、明确每个组合对应的动作桩
5、设计用例

因果图法

因果图法是利用图解法分析输入的各种组合情况,从而设计测试用例的方法,他使用与检查程序输入条件的各种组合情况

因果图法是通过判定表的一个中间过程

核心:因 和 果

适用范围

判定有多个输入、多个输出,且输入与输入之间有相互的组合关系、输出和输出之间有相互的制约和依赖关系

实例

登录功能:

因:

  1. 账号长度为6-16位
  2. 账号为数字、英文、数字英文混合
  3. 账号在服务器中存在
  4. 密码正确
  5. 密码错误

果:

  1. 提示账号长度为6-16位
  2. 提示账号为数字、英文或数字英文组合
  3. 提示账号不存在
  4. 提示密码错误
  5. 提示密码正确

因果图
在这里插入图片描述
判定表
在这里插入图片描述

测试用例(未参数化)

编号用例标题测试项目用例级别测试输入前置条件执行步骤预期结果实际结果是否存在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、付款失败

流程图法

一条路径就是一个测试用例
成功、失败路径都是一个用例,类似场景法

适用范围

多个功能的组合测试
冒烟测试时适用

错误推断法

利用直觉和经验猜测出可能出错的类型、有针对性列举出程序中所有可能的错误和容易发生错误的情况,他是测试经验丰富的测试人员喜欢适用的一种测试用例方法

适用场景:

项目任务紧急、时间不够,不能按部就班的测试
根据之前项目的经验,找到之前出错过的类似模块进行重点测试

所有正常测试结束后,通过错误推断法再测试一些之前出过问题的模块

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值