【测试】用例篇

2023-10-27

努力经营当下,直至未来明朗!


普通小孩也要热爱生活!

一、设计测试用例的万能公式

  1. 设计测试用例除了方法之外还需要我们尽可能的去想可能存在的情况。
  2. 设计测试用例原则:用例的设计不仅要考虑其实现了其应该实现的,还要考虑其未实现其不应该实现的
  3. 测试用例是否设计的越多越好?
    ① 在工作中,测试用例能更多的覆盖覆盖项目测试为最好
    ② 在面试中,测试用例设计的越多越好(因为考察的是设计测试用例能力以及思维发散能力)
  4. 设计测试用例的万能公式:【必备!!
    功能测试 + 性能测试 + 界面测试 + 兼容性测试 + 易用性测试 + 安全测试

① 功能测试:可能来自于需求文档,也可能来自于生活经验
② 性能测试:功能没有问题不代表性能一定是好的,性能往往表现在一些极端方面(如:高并发量、响应时间等)
③ 界面测试:颜色、形状、大小、材质[针对实物]; 文字、输入框、图片、下拉框…所有可以看到的元素[针对网页]
(工作中是根据设计图来设计界面测试用例的)
④ 兼容性测试:浏览器的兼容性、版本的兼容性、系统兼容性以及数据兼容性等
⑤ 易用性测试:软件是否具备简单易上手的属性(如引导、提示性文字等)
⑥ 安全测试:隐私数据是否加密(如用户界面密码的展示)、数据库里是否对隐私数据进行加密 [拒绝SQL注入与越权(垂直/水平越权)]

  1. 举例:设计水杯的测试用例:
    可以使用XMind进行设计【操作:enter创建同级目录,tab创建子目录】
    0

6.举栗子:对登录页面设计测试用例
1

2

  1. 兼容性测试中要注意:不同的浏览器、不同的版本可能会非常多,难道我们要所有的版本和浏览器都进行测试吗?我们选型的标准是什么?
    1)不是所有的版本和浏览器都要进行测试,这是无法实现的。
    2)选型标准:
    ① 大部分用户使用的
    ② 在工作中是有数据后台可以检测到大部分用户使用的浏览器/版本/手机型号等的,后台可以将这些数据进行检测和管理起来;此时我们就参考管理平台给出的数据进行选型。

二、设计测试用例的具体方法

  1. 笔试阶段:要根据 测试用例的要素来进行用例的编写。

测试用例的要素:即测试数据,只有当我们需要写出具体的测试数据时,才需要给出具体的数值。

面试的时候设计测试用例可以概要的去设计。

  1. ✨ 设计测试用例的具体方法
    1)基于需求的设计方法:根据万能公式来设计
    2)等价类
    3)边界值
    4)因果图(判定表法)
    5)正交排列
    6)场景设计法
    7)错误猜测法

1. 等价类

  1. 概念:依据需求将输入(特殊情况下会考虑输出)划分为若干个等价类,从等价类中选出一个测试用例,如果这个测试用例测试通过,则认为所代表的等价类测试通过,这样就可以用较少的测试用例达到尽量多的功能覆盖,解决了不能穷举测试的问题。
  2. 等价类其实就是:分区/分块的概念
  3. 等价类的划分:
    1)有效等价类:针对需求文档的要求是有意义的集合
    2)无效等价类:针对需求文档的要求是没有意义的集合
  4. 步骤:
    1)确认有效等价类和无效等价类
    2)编写测试用例
  5. 举栗子:
    输入密码正确是6~18位,则编写测试用例(具体到测试数据)
    ① 输入长度为6~18位密码,具体是10位
    ② 输入长度为小于6位密码,具体是2位
    ③ 输入长度为18位密码,具体是20位
  6. 补充:
    如果给出的不是范围,是具体的需求,那就针对这些需求都是有效等价类,除外的是无效等价类(无效等价类中挑选一些测试即可)

2. 边界值

  1. 该问题非常常见,非常容易发现问题
  2. 边界值是指:有效边界+无效边界/次边界值
  3. 举栗子:
    输入密码正确是6~18位,则边界值:
    ① 有效边界值:6、18
    ② 无效边界值:5、19
  4. 经典面试题
    假如浮点型的范围是[6,10],那么它的有效边界和无效边界是?
    ①单精度:4字节,有效位数8位
    ②双精度:8字节,有效位数16位
    ③所以:单精度:±0.00000001 ; 双精度:±0.0000000000000001

【单双精度浮点数的区别:单双精度

3. 因果图(判定表)

  1. 其实类似于“判定表”,但是大部分书籍中都是因果图。

  2. 使用场景较少,使用场景是:输入条件的组合对应不同的结果

  3. 判定表设计测试用例的步骤:
    1)确认输入条件和输出条件
    2)找出输入条件和输出条件之间的关系
    3)画判定表
    4)根据判定表编写测试用例

  4. 举栗子:
    当订单使用了红包或者订单金额大于300元,则该订单是优惠订单,否则是不优惠订单。
    1)确认输入条件和输出条件
    ① 输入条件:红包A、订单大于300元B、提交订单C
    ② 输出条件:优惠订单1、无优惠订单2
    2)找出输入条件和输出条件之间的关系
    A B C AB AC BC ABC 非ABC(null)
    2 2 2 2 1 1 1 2
    3)画判定表(excel)
    5
    4)根据判定表编写测试用例

①有红包,金额不大于300元且订单没有提交,则是无优惠订单。
②没有红包,金额大于300元且订单没有提交,则是无优惠订单。
③没有有红包,金额不大于300元,订单提交,则是无优惠订单。
④有红包,金额大于300元,订单没有提交,则是无优惠订单。
⑤有红包,金额不大于300元,订单提交,则是优惠订单。
⑥没有红包,金额大于300元,订单提交,则是优惠订单。
⑦有红包,金额大于300元且订单提交,则是优惠订单。
⑧没有红包,金额不大于300元且订单没有提交,则是无优惠订单。

  1. 判定表法和因果图法其实步骤差不多,只是因果图法在画判定表之前多了一步“画因果图”。(但是画因果图很难,况且没有一个具体的画法,目前没有太大必要去研究)

4. 场景设计法

  1. 只是一个思路引导作用。告诉我们不能完全参考需求文档上写的基本流程,要尽可能多的思考实际可能存在的意想不到的情况。

  2. 概念:
    现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。该方法可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,是测试用例更容易理解和执行。

  3. 涉及概念:基本事件流(完成事件的正确流程顺序)和备选事件流(正常流程进行中各阶段可能存在其他情况)
    【基本事件流是最短的,因为备选事件流会在基本事件流的基础上额外增加一些其他情况】

  4. 举栗子:
    ATM取款:
    7

  5. 编写测试用例
    1)基本事件流:先插卡,然后输入密码,… ,最后退卡
    2)备选事件流:
    ① 插入卡之后,卡被ATM卡住,… ,最后退卡
    ② 插入卡之后,输入密码错误,… ,最后退卡

5. 正交法

  1. 用的比较少,基本很少见。

  2. 正交试验设计法是指从大量的试验中挑选出适量的、有代表性的点,根据“正交表”从而合理地设计出测试用例

  3. 了解“正交表”
    1)正交表的表示,如:L4(23),其中4代表4组试验/4行(也就是4个测试用例),3代表的是因素数/2列(也就是输入条件个数),2代表每个因素数对应的水平数(也就是每个输入条件的可能选项)
    2)正交表特点:
    每一列中,不同的数字出现的次数相同。(也就是水平数出现次数相同,但是各列之间的数字可以不同)
    任意两列中数字的排列方式齐全且均衡。(每个组合出现的次数相同)

  4. 根据正交表设计测试用例的步骤:
    1)找出因素数和水平数
    2)生成正交表,需要借助生成正交表的工具allpairs
    3)根据正交表来编写测试用例
    4)补充可能存在遗漏但是非常重要的测试用例

  5. 举栗子:
    注册页面:姓名、电子邮箱、密码、确认密码、验证码。(也就是:因素)
    每个因素对应的水平数都是:填写 or 不填写
    8

1)找出因素数和水平数
① 因素:姓名、电子邮箱、密码、确认密码、验证码
② 水平:填写、不填写
2)使用allpairs生成正交表
①在excel中创建因素和水平,并进行复制
9

②打开pairs的文件夹,创建一个txt文件,并将刚刚的复制粘贴并保存
③然后使用cmd打开pairs所在的路径,然后 allpairs.exe 刚刚的文件 > 生成正交表的文件(不用手动创建,自己会生成)
10
④ 正交表
11

利用allpairs生成的正交表跟实际的正交表可能有出入,但是仍然不影响我们使用allpairs生成正交表。

3)根据正交表编写测试用例

①填写姓名、电子邮箱、密码、确认密码、验证码。
②填写姓名,不填写电子邮箱、密码、确认密码、验证码。
③填写电子邮箱、确认密码,不填写项目、密码、验证码。
④填写密码、验证码,不填写姓名、电子邮箱、确认密码。
⑤填写姓名、电子邮箱、密码,不填写确认密码、验证码。
⑥填写确认密码、验证码,不填写姓名、电子邮箱、密码。

4)补充可能存在遗漏但是非常重要的测试用例

⑦ 全部都不填写姓名、电子邮箱、密码、确认密码、验证码。

  1. 如何使用allpairs生成正交表?
    1)将水平和因素写入excel(其他工具也可以,但是不推荐)
    2)在allpairs同级目录下创建一个新的txt文件,复制excel中的 因素数和水平数 粘贴到该txt文件中。直接保存(ctrl + s),不要做任何其他操作
    3)使用allpairs工具生成正交表(cmd):先cd到pairs路径,然后allpairs.exe 刚刚的文件 > 生成正交表结果的文件(不用手动创建,自己会生成)

6. 错误猜测法

  1. 概念:
    错误猜测法是对被测试软件设计的理解,过往经验以及个人直觉,推测出软件可能存在的缺陷,从而针对性地设计测试用例的方法。
  2. 依赖测试人员的工作经验和积累

✨ 小结

  1. 设计测试用例的万能公式:功能测试+性能测试+界面测试+兼容性测试+可用性测试+安全测试。
  2. 设计测试用例的具体方法:等价类、边界值、因果图(判定表:输入条件组合)、场景设计法(基本事件流和备选事件流)、正交法(allpairs)、错误猜测法(个人经验)。

yyy

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【测试】用例篇 的相关文章

随机推荐

  • python列表中获取最长的字符串

    从列表中找出最长的字符串 有两种方式 一种用for循环比较 另一种是python的max方法 使用的txt文件格式 方法一 使用for循环代码 def get longest name school max length 0 longest
  • linux下使用gettimeofday函数获取程序执行时间

    一 介绍 linux下为了获取某个程序的执行时间 我们通常使用gettimeofday 函数 此函数声明在sys time h文件中 此函数接收两个结构体变量地址 分别为timeval timezone 两个结构体声明如下 struct t
  • 微软更新补丁目录查询

    微软更新补丁目录查询下载 传送门 在右上角的搜索框输入补丁编号即可 比如 KB5003638
  • 适合写API接口文档的管理工具有哪些?

    现在越来越流行前后端分离开发 使用ajax交互 所以api接口文档就变的十分有意义了 目前市场有哪些比较优秀的接口文档管理工具呢 1 MinDoc 网址 https www iminho me MinDoc 是一款针对IT团队开发的简单好用
  • 智头条」十四五数字经济发展规划发布,工信部推动充电标准统一

    行业动态 国务院印发 十四五 数字经济发展规划 国务院近日印发 十四五 数字经济发展规划 规划提出 推动5G商用部署和规模应用 加大6G技术研发支持力度 深化人工智能 虚拟现实 8K高清视频等技术的融合 加强和改进反垄断执法 进一步强化个人
  • 开篇导读

    你好 我是码闻强 拥有 12 年软件开发管理经验 创业前服务于杭州知时信息科技有限公司 任高级系统架构师 带领团队研发出一套适合汽车流通行业的 SaaS 产品 指是金融及周边配套产品 为业内数十家机构提供线上支撑服务 你是不是有这样的困惑
  • android edittext 监听输入完成,Android编程实现实时监听EditText文本输入的方法

    Android开发过程中经常使用EditText 有时您可能需要监视在textview中输入的单词数的状态和变化 下面就让爱站技术频道小编给大家带来的Android编程实现实时监听EditText文本输入的方法 分享给大家供大家参考 具体如
  • 疫情之下要不要转行?

    现在说这个话题可能有的人感觉有些晚了 但是我觉得还是可以聊聊 很有借鉴意义的 比较一起还在 生活还得继续 有很多东西还是需要去思考的 这里就把王豆豆的一篇关于是否要转行的文章 你且看 今年的疫情我一直在关注最新的情况 最近这几天国外感染人数
  • github 上传大文件的方法

    背景 版本库中有两个压缩包 大概在300M左右 上传时提示超过100M 上传失败 1 安装 git lfs git lfs install 2 跟踪指定大文件 可以使用 bin 之类的命令来跟踪一类文件 git lfs track root
  • 【JAVA核心】Java GC机制详解

    垃圾收集 Garbage Collection 通常被称为 GC 本文详细讲述Java垃圾回收机制 导读 1 什么是GC 2 GC常用算法 3 垃圾收集器 4 finalize 方法详解 5 总结 根据GC原理来优化代码 正式阅读之前需要了
  • private的构造函数

    package nuaa public class Xxx public int a private Xxx int a this a a System out println this a this a public static voi
  • avalon的使用与总结

    avalon是前端MVVM框架 将所有前端代码彻底分成两部分 视图的处理通过绑定实现 angular有个更炫酷的名词叫指令 业务逻辑则集中在一个个叫VM的对象中处理 我们只要操作VM的数据 它就自然而然地神奇地同步到视图 作用域绑定ms c
  • Keras实现Unet语义分割医学细胞图像并训练自己的数据集

    文章目录 一 Unet网络模型 二 代码运行 三 制作自己的数据集进行训练并测试标注 前言 本文实现keras下的Unet语义分割模型并且用自己制作的数据集进行训练并预测 本文引用了一些博文里面的内容 侵权请联系删改 引用的一些文章链接地址
  • linux+缺少+libc.so.6,libc.so.6 缺失问题

    今天中午 在Redhat AS5 上解决一个数据库连接问题 在应用的日志中发现如下报错信息 error client 145 24 216 86 lib libc so 6 libc start main 0xdc 0x4138cdec 在
  • 状态模式(State)

    1 概念 状态模式允许一个对象在其内部状态改变时改变它的行为 对象看起来似乎修改了它所属的类 属于行为型模式 2 模式结构 环境角色 Context 定义客户端所感兴趣的接口 并且保留一个具体状态类的实例 这个具体状态类的实例给出此环境对象
  • Linux基础命令

    文章目录 Linux基础命令 Linux命令基础格式 ls命令 ls命令的参数 ls 命令的 a选项 ls命令的 l选项 ls命令选项的组合使用 ls选项和参数的组合使用 ls 命令的 h选项 目录切换相关命令 cd pwd cd 切换工作
  • 如何查看自己电脑的IP地址

    如何查看自己电脑的IP地址 简略概括 打开命令窗口 win R gt 输入cmd进入 gt 敲ipconfig gt 进行查看 图片图示 首先打开命令窗口 在命令窗口中输入ipconfig 进行查看 这就是查看结果 以我的为例 我的IP地址
  • 【StyleGAN代码学习】StyleGAN模型架构

    完整StyleGAN笔记 http www gwylab com pdf Note StyleGAN pdf 基于StyleGAN的一个好玩的网站 www seeprettyface com 第二章 StyleGAN代码解读 上 这一章将对
  • CMOS图像传感器——从传感器冗余说起

    在这先抛出一个概念 什么是成像圈 众所周知 相机的镜头近似于圆柱体 光线透过圆筒子投射出的大都是圆形 我们可以拿一个镜头演示一下 当这个圆圈投在传感器所在焦平面时 我们称之为像场 像场的边界我们称之为成像圈 成像圈是圆的 但是传感器是矩形
  • 【测试】用例篇

    努力经营当下 直至未来明朗 文章目录 一 设计测试用例的万能公式 二 设计测试用例的具体方法 1 等价类 2 边界值 3 因果图 判定表 4 场景设计法 5 正交法 6 错误猜测法 sparkles 小结 普通小孩也要热爱生活 一 设计测试