测试用例设计及方法

目录

1. 测试用例

1.1 测试用例的基本要素

1.2 测试用例的设计方法

1.2.1  基于需求设计测试用例

2. 具体设计测试用例方法

2.1 等价类

2.2 边界值

 2.3 判定表法

2.4 正交表

2.5 场景法设计测试用例

3. 针对一个需求如何设计测试用例


1. 测试用例

1.1 测试用例的基本要素

基本要素:测试环境、测试数据、操作步骤、预期结果

测试用例优点:

  • 测试用例可以提高测试效率(可以减少测试工作的重复性)
  • 测试用例是自动化基础

评价测试用例的标准:对比好坏用例的评价标准

  • 用例表达清楚,无二义性
  • 用例可操作性强
  • 用例的输入和输出明确,一个用例只有一个预期结果
  • 用例的可维护性好
  • 用例对需求的覆盖率高

1.2 测试用例的设计方法

1.2.1  基于需求设计测试用例

 示例:微信发红包测试点设计

基于需求设计测试用例的问题?

        只是大概的测试用例,并不全面。

2. 具体设计测试用例方法

2.1 等价类

(1)什么是等价类?

       依据需求将输入(特殊情况下会考虑输出)划分为若干个等价类,从等价类中选出一个测试用例,如果这个测试用例测试通过,则认为所代表的的等价类测试通过,这样就可以用较少的测试用例达到尽量多的功能覆盖,解决了不能穷举测试的问题。

  • 有效等价类:对于程序的规格说明书是合理的、有意义的输入数据构成的集合,利用有效等价类验证程序是否实现了规格说明书所规定的功能和性能(满足用户需求的数据集合)。
  • 无效等价类:根据需求说明书,不满足需求的集合(不满足用户需求的数据集合)。

(2)如何设计测试用例?

  1. 充分理解需求
  2. 划分有效等价类、无效等价类
  3. 覆盖有效等价类设计测试用例
  4. 覆盖无效等价类设计测试用例

举例:

需求:注册名长度6~15,类型必须是字母才能注册成功。

注意:

覆盖有效等价类的时候,一个测试用例,覆盖所有的有效等价类。

覆盖无效等价类的时候,一个测试用例,只能覆盖一个无效等价类。(便于出错时进行查错)

(3)存在问题?

问题在于对边界值没有进行测试。

2.2 边界值

(1)概念

边界值分析法就是对输入输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,其测试用例来自于等价类的边界。

(2)边界值重要的几个点

上点:边界上的点

内点:边界内的点

离点:距离上点最近的一个点,如果闭区间,区间外距离上点最近的点;如果是开区间,区间内距离上点最近的点。

举例:

输入框长度为[1,11],取边界值为1,11,12,0

上点:1,11

内点:3,5,7,9

离点:0,12

输入框长度为[1,11)

上点:1,11

内点:3,5,7,9

离点:0(闭区间),10(开区间)

(3)如何设计测试用例

  1. 充分理解需求
  2. 找出边界点(上点、内点、离点)
  3. 针对边界设计测试用例

 等价类+边界值设计测试用例:

 2.3 判定表法

(1)输入的数据之间往往有一定的逻辑关系。

(2)什么是判定表?

判定表是一个数据表,这个数据表表示的是输入条件和输出结果之间的关系。

恒等、与、或、非

  • 与:条件全为真,输出结果为真;条件其中一个为假,结果为假。
  • 或:条件其中一个为真,输出结果为真;条件全部为假,输出结果为假。
  • 非:条件为真,结果为假;条件为假,结果为真。
  • 恒等:条件为真,输出结果真;条件为假,输出结果为假。

 (3)如何通过这个方法来设计测试用例?

  1. 充分了解需求
  2. 确定需求所有可能输入和输出
  3. 分析输入和输出之间关系
  4. 画判定表
  5. 将判定表转化为测试用例

举例:假设业务单据的处理规则为:淘宝618活动,订单已提交,订单合计金额大于300元或有红包,则进优惠

输入:订单已提交,订单金额>300,有红包

输出:优惠、不优惠

三个条件,两个输出,因此判定表的列数为2^{3}=8列

12345678
订单已提交YYYYNNNN
订单金额>300YYNNYNYN
有红包YNYNYYNN
优惠YYYNNNNN
不优惠NNNYYYYY

测试用例设计

2.4 正交表

(1)什么是正交表

行数 (Runs) 正交表中的行的个数,即试验的次数 , N 代表。
因素数 (Factors) 正交表中列的个数,用 C 代表。
水平数 (Levels) 任何单个因素能够 取得的值的最大个数 。正交表中的包含的值为从 0 到数 水平数 -1” 或 从1 水平数 ,用 T 代表。
       正交试验设计 (Orthogonal experimentaldesign) 是研究多因素多水平的一种设计方法,它是根据正交性,由试验因素的全部水平组合中挑选出部分有代表性的点进行试验,通过对这部分试验结果的分析了解全面试验的情况,找出最优的水平组合。正交试验设计是一种基于正交表的、高效率、快速、经济的试验。

(2)水平、因素

因素:需求中涉及到的变量

水平:变量取值

(3)正交的特性

每一列中各数字出现的次数都一样多。

任何两列中的各有序数对出现的次数都一样多。

(4)如何设计测试用例

  1. 充分理解需求
  2. 分析需求因素和水平
  3. 画正交表
  4. 将正交表转换为测试用例

举例:姓名、邮箱、密码、确认密码、验证码必须全部输入,才能进行注册

因素:姓名、邮箱、密码、确认密码、验证码

水平:填写、不填写

画正交表(借助工具进行生成)

case姓名邮箱密码确认密码验证码
1填写填写填写填写填写
2填写不填写不填写不填写不填写
3不填写填写不填写不填写不填写
4不填写不填写填写不填写填写
5--填写填写填写不填写不填写
6--填写不填写不填写填写填写

测试用例:

姓名、邮箱、密码、确认密码、验证码全部填写,注册成功

姓名填写、邮箱、密码、确认密码、验证码全部不填写,注册失败

...

用例补充:

姓名、邮箱、密码、确认密码、验证码全部不填写,注册失败

如何借助工具allpairs画正交表

①填写excel表格

②将表格内容写到记事本中

③进入allpairs文件路径 cd 文件路径

④执行 allpairs.exe XXX.txt > XXX_result.txt 命令,生成正交表

2.5 场景法设计测试用例

(1)基础事件流、备用事件流
基础事件流可以理解为是一个正常的程序操作流程。
备用事件流可以是在此流程上可能出现的一些问题。
(2)ATM取款测试用例设计
基础事件流:插卡—>输入密码—>选择业务—>输入取款金额—>出钞—>取卡
备用事件流:
  • 插入的卡不是银行卡/插入的卡不是本银行的卡/卡失效....
  • 密码输入错误/密码正确/密码输入次数超过上限(3次)....
  • 选择查询余额/直接选择取款....
  • 输入金额是100的倍数/输入金额为不是100的倍数/输入金额超过ATM取款金额上限.....
  • ATM断电/ATM断网....
  • 长时间不取卡/吞卡....

设计测试用例:

①插入正常的卡,密码正确,选择取款,输入取款金额,出钞,取卡

②插卡非本银行的卡,不能取款,吐卡

.......

3. 针对一个需求如何设计测试用例

3.1 针对物品(水杯)设计测试用例

测试用例设计万能公式:功能、兼容、性能、安全、易用性、界面

3.2 针对一个软件设计测试用例

微信发送朋友圈设计测试用例

功能:

界面(字体大小、类型、颜色、页面布局...):

兼容性:

性能、安全、易用性、网络、中断:

3.3 针对一个代码片段设计测试用例

3.4 针对一个接口设计测试用例

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值