前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >测试用例设计方法

测试用例设计方法

原创
作者头像
花落花相惜
发布2021-11-26 13:16:45
6240
发布2021-11-26 13:16:45
举报
文章被收录于专栏:花落的技术专栏

3.1 用例介绍

3.1.1 定义

为某个业务目标,而编制的一组由测试输入,执行条件以及预期结果组成的案例

3.1.2 为什么要学习测试用例?
  1. 在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率。
  2. 测试用例的使用令软件测试的实施重点突出、目的明确。
  3. 在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度、缩短项目周期。
  4. 检验软件是否满足客户需求、体现一个测试人员的工作量、展现测试用例的设计思路。
3.1.3 用例核心要素(16个)
  • 必须掌握:用例编号(如何命名)、所属模块、用例标题(验证谁在什么情况下,去做什么,最后结果是什么)、优先级、前置条件、操作步骤、测试数据、预期结果、实际结果
  • 了解内容:通过否、bugID、编写人员、编写时间、测试人员、测试时间、备注

注册图.png

3.1.4 什么是高质量的测试用例
  • 测试用例覆盖所有的用户需求
  • 测试用例要简单明了
  • 各类型的测试用例要齐全
  • 用最少的用例覆盖最多的需求

3.2 等价类划分法

3.2.1 定义

等价类划分 是把所有可能输入的数据分为若干个区域,然后从每个区域中取少量有代表性的数据进行测试即可。

等价类 :何为等价类,某个输入域的集合,在这个集合中每个输入条件都是等效的。

3.2.2 分类

一般可分为有效等价类和无效等价类。

  • 有效等价类:指符合《需求规格说明书》,输入合理的数据集合
  • 无效等价类:指不符合《需求规格说明书》,输入不合理的数据集合
3.2.3 类型

取值范围型: 输入学生成绩 0-100

恒等类型 : 只有一个结果是正确的,其他都是错误的 例如 彩票的特等奖

布尔值型: 通过是否来进行选择,如同意协议

枚举类型: 给出选项内容,只要符合其中任意一个就可以 例如选择学历

规则类型: 给定要求,满足要求的就可以,比如邮箱

在任意文本输入框中可以填写的字符类型: 中文、英文、特殊符号、空格、数字。

3.2.4 案例
  1. 案例一:

image.png

划分等价类并编号,下表为等价类划分的结果

image.png

  1. 案例二:

边界值等价类.png

3.3 边界值分析法

3.3.1 定义

定义:边界值分析 是取稍高于或稍低于边界的一些数据进行测试。

原因: 程序开发循环体时的取数可能会因为<,<=搞错。

比如下面代码:

代码语言:txt
复制
//有效等价划分    -1   0    100  101  
代码语言:txt
复制
for(int i = 0;i <100; i ++) {   
代码语言:txt
复制
  int j = i+1;
代码语言:txt
复制
  System.out.println("循环第“+j+"次")//循环地做某件事情
代码语言:txt
复制
}

这里的程序是循环了100次,所以会做100次;

如果程序员不小心,把i <100写成i <= 100,则会溢出,这时候边界值检查是一个很好的测试方法。

3.3.2 确定边界值的方法

  • 上点: 是指边界上的点,无论此时的域是开区间还是闭区间,开区间的话,上点就是在域外,闭区间的话,上点就是在域内。
  • 离点: 是指离上点最近的点,这里就跟是闭区间还是开区间就有关系了,如果是开区间,那么离点就在域内,如果是闭区间,那么离点就在域外。(开内闭外)undefined遵循的原则:开内闭外 开区间往中间找,闭区间往外找
  • 内点: 域内的任意点都是内点。
代码语言:txt
复制
0<=x<=10           左上点 0    左离点 -1    右离点  11  右上点 10   内点 5
代码语言:txt
复制
0<x<10             左上点 0    左离点 1     右离点 9   右上点 10    内点 5
代码语言:txt
复制
0<=x<10            左上点 0    左离点 -1    右离点 9   右上点 10    内点 5

3.3.3 边界值与等价类去重

  1. 案例一:档案管理系统,用户输入日期格式为“年月日”,范围是1990年1月~2049年12月。示例:19900101-20491231

image.png

  1. 案例二:

边界值等价类.png

代码语言:txt
复制
测试点分析:
代码语言:txt
复制
1、熟读需求  3-5遍
代码语言:txt
复制
2、断句
代码语言:txt
复制
3、逆向思维
代码语言:txt
复制
4、疑问点

第四单元 测试用例设计方法(二)- 了解、知道即可

4.1 因果图

4.1.1 定义

因果图法比较适合输入条件比较多的情况,测试所有的输入条件的排列组合。所谓的原因就是输入,所谓的结果就是输出。

4.1.2 因果图测试用例的编写过程

1、确定原因、结果、中间过程

2、连接因果图

3、标明约束条件

4、输出测试用例

4.1.3 案例:自动售货机

需求说明:

有一个处理单价为2.5元的盒装饮料的自动售货机软件。若投入2.5元硬币,按“可乐”、“啤酒”、或“奶茶”按钮,相应的饮料就送出来。若投入的是3元硬币,在送出饮料的同时退还5角硬币。

分析:

代码语言:txt
复制
原因(输入):                  中间状态                 结果(输出)
代码语言:txt
复制
投入2.5元硬币;               已投币/已按钮            退还5角硬币;
代码语言:txt
复制
投入3元;                                            
代码语言:txt
复制
按“可乐”按钮;                                         送出“可乐”饮料;
代码语言:txt
复制
按“啤酒”按钮;                                         送出“啤酒”饮料;
代码语言:txt
复制
按“奶茶”按钮。                                         送出“奶茶”饮料;

4.2 错误推测法

4.2.1 定义

错误猜测法是测试经验丰富的人喜欢使用的一种测试用例设计方法。

一般这种方法是基于经验和直觉推测程序中可能发送的各种错误,有针对性地设计。只能作为一种补充。

4.2.2 应用

输入一串数字,程序可自动从小到大排序

邮箱格式@符合的全角以及半角情况

4.2.3 案例

测试手机终端的通话功能,可以设计各种通话失败的情况来补充测试用 例:

无SIM 卡插入时进行呼出(非紧急呼叫)

插入已欠费SIM卡进行呼出

射频器件损坏或无信号区域插入有效SIM卡呼出

网络正常,插入有效SIM卡,呼出无效号码(如1、888、333333、不输入任何号码等)

网络正常,插入有效SIM卡,使用“快速拨号”功能呼出设置无效号码的数字

4.2.4 技巧

最重要的是要思考和分析测试对象的各个方面,多参考以前发现的bug的相关数据,总结的经验,个人多考虑异常的情况、反面的情况、特殊的输入,以一个攻击者的态度对待程序,就能设计出比较完善的测试用例来。

4.3 判定表

4.3.1定义:

设计测试用例时,分析和表达多输入条件下执行不同操作的黑盒测试方法。

注意: 该方法和因果图法相似。

4.3.2 判定表测试用例编写过程

1、确定原因和动作

2、排列组合

3、标明结果关系

4、输出测试用例

4.3.3 案例

要求:

扫枪扫描车身机器码自动识别汽车品牌和型号,对于发动机功率大于100马力的汽车 并且 维修记录不全

里程超过20万公里的汽车,应给予合作4s店优先的维修处理

分析:

代码语言:txt
复制
条件                      1   2   3   4   5   6   7   8
代码语言:txt
复制
功率大于100马力              
代码语言:txt
复制
维修记录不全  
代码语言:txt
复制
里程超过20万公里
代码语言:txt
复制
动作
代码语言:txt
复制
4s店进行优先处理
代码语言:txt
复制
进行其他处理

4.4 正交实验法

4.4.1 概述
  • 日本人提出
  • 使用工具:正交表
  • 正交实验法就是利用排列整齐的表 -正交表来对试验进行整体设计、综合比较、统计分析,实现通过少数的实验次数找到较好的生产条件,以达到最高生产工艺效果。
  • 这种试验设计法是从大量的试验点中挑选适量的具有代表性的点,利用已经造好的表格—正交表来安排试验并进行数据分析的方法。
  • 正交表能够在因素变化范围内均衡抽样,使每次试验都具有较强的代表性,由于正交表具备均衡分散的特点,保证了全面实验的某些要求,这些试验往往能够较好或更好的达到实验的目的。
  • 正交实验设计包括两部分内容:第一,是怎样安排实验;第二,是怎样分析实验结果。
4.4.2 应用场景

在一个界面中有多个控件,每个控件有多个取值,控件之间可以相互组合,不可能(也没有必要)为每一种组合编写一条用例,如何使用最少最优的组合进行测试。——正交排列法

image.png

image.png

4.4.3 使用正交设计助手

(1)下载解压正交设计助手

(2)文件新建工程

(3)实验新建实验

①实验说明

实验说明.png

②选择正交表

选择正交表.png

③因素与水平

因素与水平.png

④确定

结果.png

  • 正交表测试用例设计方法的特点是什么?undefined1、用最少的实验覆盖最多的操作,测试用例设计很少,效率高,但是很复杂;undefined2、对于基本的验证功能,以及二次集成引起的缺陷,一般都能找出来;但是更深的缺陷,更复杂的缺陷,还是无能为力 的;undefined3、体的环境下,正交表一般都很难做的。大多数,只在系统测试的时候使用此方法。

第五单元 测试用例设计方法(三)- 场景法

5.1 定义

通过模拟业务场景来对系统的功能点或业务流程的描述,从而提高测试效果的黑盒测试方法

5.2 ATM引入场景法

ATM流程图.png

5.3 原理图

image.png

5.4 两个流
5.4.1 基本流
  1. 概念undefined正确完成的流程
  2. 流程undefined插卡 → 输入密码 → 选择服务 → 取款 → 选择金额 → 等待出钞 → 取出卡片
5.3.2 备选流
  1. 概念undefined存在异常的流程,对于基本流每一步都取反
  2. 流程undefined插卡 → 输入密码 → 密码错误 → 重新输入 → 密码正确 → 选择服务 → 取款 → 选择金额 → 等待出钞 → 取出卡片
5.4 场景法测试用例编写过程
  1. 分析用户场景
  2. 设计场景覆盖基本流和备选流
  3. 输出测试用例
5.6 案例

测试点提取.png

  1. 需求说明:undefined注册网站一共需要三个步骤,输入手机号,密码,输入正确的手机验证码、并同意服务协议后,点击立即申请,注册成功。信息填写错误时给出友好的提示信息,说明错误原因。注册成功后给注册用户发一条信息,信息内容如下:“您好!Xxx用户,欢迎您注册,请及时完成实名认证。”
  2. 分析方法:undefined①熟读需求:熟读3-5遍,读需求undefined②断句:将需求整理成一段段要求undefined③分类:流程/规则undefined④逆向思维:从不同地的方面进行考虑undefined⑤质疑:将自己有疑问地方找出来undefined⑥应用测试用例分析方法

测试点分析.png

使用相应的测试用例方法对测试点进行用例的编写,一个测试点对应一个或多个测试用例,而测试用例只能对应某个测试点。

5.7 作业:

APP升级.png

image.png

第六单元 测试用例综合案例

6.1 案例分析
6.1.1 案例一
  1. 要求
  2. 相关测试点
代码语言:txt
复制
1、收货人姓名:20位以内中文、字母,不能为空和空格
代码语言:txt
复制
2、所在地区:根据等价类划分选择的地区
代码语言:txt
复制
3、详细地址:中文、字母和符号组合,不能为空和空格
代码语言:txt
复制
4、手机号码:号码11位数字,不能为空和空格
代码语言:txt
复制
5、固定电话:与手机号码互斥
  1. 思维导图
  2. 编写测试用例undefined根据测试点编写测试用例
6.2 案例分析
  1. 要求
  2. 测试点undefined添加一个商品,添加多个商品;添加多个不同商家商品;添加多个不同支付方式的商品;添加多个不同地区的商品;添加一种商品多个数量;添加最大数量的商品;不登录添加多个商品,然后再登录;登录成功后再添加多个商品。
  3. 思维导图
  4. 测试用例

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
目录
  • 3.1 用例介绍
    • 3.1.1 定义
      • 3.1.2 为什么要学习测试用例?
        • 3.1.3 用例核心要素(16个)
          • 3.1.4 什么是高质量的测试用例
          • 3.2 等价类划分法
            • 3.2.1 定义
              • 3.2.2 分类
                • 3.2.3 类型
                  • 3.2.4 案例
                  • 3.3 边界值分析法
                  • 3.3.1 定义
                  • 3.3.2 确定边界值的方法
                  • 3.3.3 边界值与等价类去重
                  • 第四单元 测试用例设计方法(二)- 了解、知道即可
                    • 4.1 因果图
                      • 4.1.1 定义
                        • 4.1.2 因果图测试用例的编写过程
                          • 4.1.3 案例:自动售货机
                            • 4.2 错误推测法
                              • 4.2.1 定义
                              • 4.2.2 应用
                              • 4.2.3 案例
                              • 4.2.4 技巧
                            • 4.3 判定表
                              • 4.3.1定义:
                              • 4.3.2 判定表测试用例编写过程
                              • 4.3.3 案例
                            • 4.4 正交实验法
                              • 4.4.1 概述
                              • 4.4.2 应用场景
                              • 4.4.3 使用正交设计助手
                              • 5.1 定义
                              • 5.2 ATM引入场景法
                              • 5.3 原理图
                              • 5.4 两个流
                              • 5.4 场景法测试用例编写过程
                              • 5.6 案例
                              • 5.7 作业:
                          • 第五单元 测试用例设计方法(三)- 场景法
                            • 第六单元 测试用例综合案例
                              • 6.1 案例分析
                              • 6.1.1 案例一
                              • 6.2 案例分析
                          相关产品与服务
                          验证码
                          腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
                          领券
                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档