测试用例的设计方法(七种)详细分析

2023-11-05

1.需求分析法

需求分析法:按照需求,设计测试用例。 其中的需求分为两种:用户需求 、软件需求
(1)验证需求是否正确、完整、无二义性,并且逻辑一致。
(2)要从“黑盒”的角度,设计出充分并且必要的测试集,以保证设计和代码都能完全符合需求。

2.等价类

等价类:针对***输入***无法全部覆盖,根据需求把输入分为若干的等价类,从每一个等价类中寻找出拥有代表性的数据进行测试,如果测试通过,我们就说这个数据代表的等价类测试通过。

目的:解决输入无穷的一种测试用例设计方法
有效等价类:符合规格说明,对程序来说有意义的数据集合
无效等价类:不符合需求规格说明的

3.边界值

边界值:针对***输入输出***边界的一种测试
例:注册时的密码长度为 5–16位
用边界值测试:长度应该为4,5,6,15,16,17
备注:一般边界值和等价类结合在一起设计测试用例

4.因果图

因果图: 表示***输入输出***的关系的一种逻辑图
使用场景:当需求有多个输入的时候,并且需求的输入和输出相关的时候
因果突发逻辑关系:
(1)恒等:输入为真,输出为真
(2)与:当输入有多个条件(大于一个)且都为真 输出就为真
(3)或:当输入有多个条件(大于一个) 只要一个为真 则输出为真
(4)非:输入为假 输出为真

因果图法测试用例的步骤
(1)找出可能的输入输出
(2)找出输入输出之间的关系
(3)画因果图
(4)根据因果图去画判定表
(5)更具判定表生成测试用例

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

  1. 对于这条业务规则,首先通过分析所有可能的输入和可能的输出,可以得到如下结果:
    ● 输入:订单已提交、金额大于300、有红包。
    ● 输出:优惠、不优惠。
  2. 然后,进行第二步,找出输入与输出之间的对应关系。通过分析,可以看出有以下的对应关系。
    (1)订单已提交,订单金额大于300元,则优惠。
    (2)订单已提交,订单金额小于等于300元,无红包,不优惠
    (3)订单已提交,有红包,则优惠。
    (4)订单已提交,订单金额大于300元,有红包,则优惠。
    (5)订单未提交,不优惠。
  3. 为了方便画出因果图,需要对所有输入和输出编号,现在编号如下。
    1:订单已提交。
    2:订单金额大于300元。
    3:有红包
    21:优惠
    22:不优惠

在这里插入图片描述

5.正交法

应用场景:当输入的测试用例很多,无法全部覆盖的时候,利用正交性 画出正交表,寻找出有代表性的点
正对这些数据进行的测试用例的设计和测试结果的分析,用以推断整体的实验情况
例:进行一个系统的注册(因素:用户名、email、密码、确认密码、验证码)
因素:待考察的变量©
水平:考察变量(因素)的取值(T)
因素数:5
水平数:2
行数:L=N(CT) (水平数-1)*因素 +1
正交表的性质:
(1)每一列中数字中出现的次数一样多
(2)任何两列中,各个有序对数出现的次数一样多

在这里插入图片描述

6.场景法

场景法: 将多个功能点组合在一起形成事件流 根据不同的事件触发,形成不同的场景
银行卡取款的例子:插卡–》输入密码–》输入取款金额 --》取款–>退卡
(1)基本流:没有异常事件发生的条件下的场景
(2)备选流:发生异常的场景
a.输入错误密码:
1.第一次输错,第二次输对
2.第二、三次密码都输入错误,账户冻结
b.输入金额大于余额:会提示余额不足
c. 取款流程操作过慢,吞卡

7.错误猜测法

错误猜测法依据:
《1》凭自己的经验直觉
《2》用户的反馈
《3》故障库
备注:错误猜测法只适合于用其他测试用例设计完测试用例之后,进行的测试用例的测试补充

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

测试用例的设计方法(七种)详细分析 的相关文章

  • Python 如何安装Selenium(推荐)

    一 Selenium的定义 Selenium 是一个 Web的自动化测试工具 最初是为网站 自动化测试而开发的 Selenium 可以直接调用浏览器 它支持所有主流的浏览器 包括PhantomJS 这些无界面的浏览器 可以接收指令 让浏览器
  • 软件测试/测试开发/全日制/测试管理丨Redis内存数据库

    Redis是一种开源 内存中的数据结构存储系统 它提供了高性能 灵活性和丰富的数据结构 以下是Redis内存数据库的基本介绍 键值存储 Redis基于键值对的存储模型 其中每个键都与一个特定的值相关联 这种简单的数据模型使其易于使用和理解
  • Linux终端常见用法总结

    熟悉Linux终端的基础用法和常见技巧可以极大提高运维及开发人员的工作效率 笔者结合自身学习实践 总结以下终端用法供同行交流学习 常 见 用 法 1 快捷键 1 1 Alt 在光标位置插入上一次执行命令的最后一个参数 1 2 Ctrl R
  • RF自动化环境安装+自动化实例解析

    RF定义 通用型的 自动测试框架 绝大部分的软件的的自动化系统都可以采用它 特点 测试数据文件 Test Data 对应一个个的测试用例 测试数据文件里面使用的功能小模块叫关键字 由测试库 Test Library Robot Framew
  • Jmeter 性能-并发量计算

    并发概念 指网站在同一时间访问的人数 人数越大瞬间带宽要求更高 服务器并发量分为 业务并发用户数 最大并发访问数 系统用户数 同时在线用户数 估算业务并发量的公式 C nL T C C 3 C的平方根 说明 C是平均的业务并发用户数 n是l
  • APP端网络测试与弱网模拟

    当前APP网络环境比较复杂 网络制式有2G 3G 4G网络 还有越来越多的公共Wi Fi 不同的网络环境和网络制式的差异 都会对用户使用app造成一定影响 另外 当前app使用场景多变 如进地铁 上公交 进电梯等 使得弱网测试显得尤为重要
  • 软件测试|sqlalchemy relationship

    简介 SQLAlchemy是一个流行的Python ORM 对象关系映射 库 它允许我们以面向对象的方式管理数据库 在SQLAlchemy中 relationship 是一个重要的功能 用于建立表之间的关系 在本文中 我们将详细探讨 rel
  • 软件测试|pycharm关联GitHub的详细步骤

    简介 GitHub 是全球最大的开源代码托管平台之一 而 PyCharm 是一款强大的 Python 集成开发环境 将两者结合使用 可以提高团队协作和代码管理的效率 本文将详细介绍如何在 PyCharm 中管理 GitHub 账号 包括如何
  • 软件测试|教你使用Python下载图片

    前言 我一直觉得Windows系统默认的桌面背景不好看 但是自己又没有好的资源可以进行替换 突然我一个朋友提醒了我 网络上的图片这么多 你甚至可以每天换很多个好看的背景 但是如果让我手动去设置的话 我觉得太麻烦了 我不如使用技术手段将图片下
  • 盲猜你不懂H5架构和原生架构的区别

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 跨平台UI自动化框架:Airtest,游戏开发和应用测试的利器

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • Jmeter 性能-阶梯负载最终请求数

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 甜蜜而简洁 —— 深入了解Pytest插件pytest-sugar

    在日常的软件开发中 测试是确保代码质量的关键步骤之一 然而 对于测试报告的生成和测试结果的可读性 一直以来都是开发者关注的焦点 Pytest插件 pytest sugar 以其清晰而美观的输出 为我们提供了一种愉悦的测试体验 本文将深入介绍
  • 做测试不会 SQL?超详细的 SQL 查询语法教程来啦!

    前言 作为一名测试工程师 工作中在对测试结果进行数据比对的时候 或多或少要和数据库打交道的 要和数据库打交道 那么一些常用的sql查询语法必须要掌握 最近有部分做测试小伙伴表示sql查询不太会 问我有没有sql查询语法这一块的文档可以学习
  • 程序员找工作难!拿到外包公司的 offer 我应该去么?

    引言 前一阵子有一个帖子引起了非常广泛的讨论 描述的就是一个公司的外包工作人员 加班的时候因为吃了公司给员工准备的零食 被公司的HR当场批评 这个帖子一发出来 让现在测试行业日益新增的外包公司备受关注 那么外包公司和非外包公司有什么样的不一
  • 一文让你了解UI自动化测试

    测试都起什么作用 是项目的保险 但不是项目的救命草 测试无实际产出 但作用远大于实际产出 测试是从项目维度保证质量 而不是测试阶段 UI自动化 下面简称自动化 基于UI进行自动功能测试 以Web端作为例子 一般的UI功能自动化都是基于HTM
  • 外包干了2个月,技术倒退2年。。。

    先说一下自己的情况 本科生 20年通过校招进入深圳某软件公司 干了接近4年的 功能测试 今年国庆 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了四年的功能测试 已经让我变得不思进取 谈了3年的女朋
  • Web自动化测试 —— cookie复用

    一 cookie简介 cookie是一些数据 存储于用户电脑的文本文件中 当web服务器想浏览器发送web页面时 在链接关闭后 服务端不会记录用户信息 二 为什么要使用Cookie自动化登录 复用浏览器仍然在每次用例开始都需要人为介入 若用
  • UI自动化测试之Jenkins配置

    背景 团队下半年的目标之一是实现自动化测试 这里要吐槽一下 之前开发的测试平台了 最初的目的是用来做接口自动化测试和性能测试 但由于各种原因 接口自动化测试那部分功能整个废弃掉了 其中和易用性有很大关系 另外 也和我们公司的接口业务也有关
  • 外包干了3个月,技术退步明显。。。。。

    先说一下自己的情况 本科生 20年通过校招进入广州某软件公司 干了接近3年的 功能测试 今年年初 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了3年的功能测试 已经让我变得不思进取 谈了2年的女朋

随机推荐

  • 英俊飘逸气宇轩昂——同人立绘征集大赛凤九天·金奖

    导语 本期介绍的作品是由来自江西科技师范大学的计世平设计的凤九天形象 荣获了本次大赛凤九天组别的金奖 2020年12月22日 由首都版权协会联合全国部分高等院校和链游玩家及部分企业共同举办的 2020同人立绘征集大赛 正式启动 并于2021
  • 详解pop()和push()方法

    pop 是移除堆栈顶部的元素并且返回它的值 push 是把对象压入堆栈的顶部 这里的堆栈不是特指栈 是LinkedList中特有的方法 LinkedHashset和LinkedHashMap ArrayList中没有此方法 下面是个小李子
  • Unity UV 水效果实现

    Unity UV 水效果实现 Unity Water Shader 组件搭载 基本参数调节 所需图片 效果呈现 Unity Water Shader Shader Custom SeaWave Properties WaterTex 水纹理
  • 潘周聃之Python分聃 -----数字雨加入潘周聃运动曲线

    作者 勇敢di牛牛 个人项目地址 englishlearningapp 个人简介 有一年工作经验的大学生 工作 汽车系统应用开发 阿里集团 个人网站 牛牛 小窝 独学而无友 则孤陋而寡闻 前言 相信各位同学最近一定被潘周聃刷屏和洗脑了 互联
  • seaborn可视化——一文搞懂heatmap参数

    文章目录 data cmap linewidths linecolor square ax annot 指定为True 指定为同形状数组 vmax vmin annot kws mask xticklabels yticklabels 设置
  • linux 命令 ls 与 ls -lrt 的区别

    ls lrt 表示按修改时间倒序列出当前工作目录下的文件 ls l 表示按名称顺序正序列出当前工作目录下的文件 1 ls 表示列出当前目录下的文件 后面的 lrt 是这个命令的一些选项补充 lrt 实际上是代表了 l r t 这三个选项集合
  • 对sklearn中transform()和fit_transform()的深入理解

    在用机器学习解决问题时 往往要先对数据进行预处理 其中 z score归一化和Min Max归一化是最常用的两种预处理方式 可以通过sklearn preprocessing模块导入StandardScaler 和 MinMaxScaler
  • k8s--基础--21--Statefulset

    k8s 基础 21 Statefulset 1 概念 StatefulSet是为了解决有状态服务的问题而设计 对应Deployments和ReplicaSets是为无状态服务 1 1 应用场景 稳定的持久化存储 即Pod重新调度后还是能访问
  • linux增大交换空间,Linux系统增加交换空间的方法

    Linux系统增加交换空间有两种方法 严格的说 在系统安装完后只有一种方法可以增加swap 那就是本文的第二种方法 至于第一种方法应该是安装系统时设置交换区 1 使用分区 在安装OS时划分出专门的交换分区 空间大小要事先规划好 启动系统时自
  • 【事业单位笔试】zrzyb信息中心-社会招聘-笔试记录

    写在前面的话 虽然说本人在21年校招时有北京银行 农银金科 中信银行研发 京东发 邮储银行 中软 郑州铁路局等的offer 奈何个人原因还是选择了有北京户口的现在的工作单位 虽然只有两年 但也是时候准备考虑一下今后的发展了 感谢大家支持 我
  • 电机控制进阶——PID速度控制

    之前的几篇文章 电机控制基础篇 介绍的电机编码器原理 定时器输出PWM 定时器编码器模式测速等 本篇在前几篇的基础上 继续来学习电机控制 通过PID算法 来进行电机的速度控制 并进行实验测试 PID基础 PID即 Proportional
  • 海外新冠疫情 API数据接口

    海外新冠疫情 计费模式 免费额度 点数单价 每日限制 会员免费 100次 免费 10000次 更新时间 2022 07 11 02 51 15接口状态 正常 返回海外新冠数据 请求地址 HTTPGET POST https www mait
  • 毕业设计 嵌入式 单片机智能路灯

    文章目录 1 简介 2 绪论 2 1 项目背景 2 2 需求分析 3 系统设计 3 1 功能设计 3 1 1 系统角色分析 3 1 2 开发环境 3 2 总体设计 3 3 硬件部分 3 3 1 整体架构 3 3 2 stm32部分 3 3
  • 短视频去水印小程序源码 附带详细搭建教程

    开发语言 PHP 数据库 MySQL 无需授权 文件完全开源 可以二次开发 后台可以自己添加自己的接口 压缩包里包含一个免费 接口 不敢保证能一直使用 下载地址
  • 慌的一批!妹子一个rm -rf把公司服务器数据删没了...

    来源 https www cnblogs com zhouyu629 p 3734494 html 作者 zhouyu 责编 linse 经历了两天不懈努力 终于恢复了一次误操作删除的生产服务器数据 对本次事故过程和解决办法记录在此 警醒自
  • mysql字符串函数

    mysql的字符串函数 对于针对字符串位置的操作 第一个位置被标记为1 1 ASCII str 返回字符串str的最左面字符的ASCII代码值 如果 str是空字符串 返回 0 如果 str是 NULL 返回 NULL mysql gt s
  • 解决bootstrapTable动态添加的一行不会被$(“#bootstrap-table“).bootstrapTable(‘getSelections‘)获取到

    背景 业务需要bootstrapTable表格选中某一行数据 并将按钮表示为可点击状态 当选中多行或没选中数据时设置为不可点击状态 解决 a class btn btn success i class fa fa plus i 所选行下方添
  • (23)[CS13] LSTM Generating:Generating Sequences With Recurrent Neural Networks

    计划完成深度学习入门的126篇论文第二十三篇 UT的Alex Graves等领导研究通过LSTM来生成不同风格的文本和手写体handwriting ABSTRACT INTRODUCTION 摘要 本文通过对一个数据点的预测 说明了LSTM
  • Anaconda(Miniconda) 安装(Windows下)

    下载地址 https www anaconda com download or https conda io miniconda html 下载之后直接安装 可能需要设置路径 之后在cmd中输入 conda list 查看安装内容 如需要更
  • 测试用例的设计方法(七种)详细分析

    1 需求分析法 需求分析法 按照需求 设计测试用例 其中的需求分为两种 用户需求 软件需求 1 验证需求是否正确 完整 无二义性 并且逻辑一致 2 要从 黑盒 的角度 设计出充分并且必要的测试集 以保证设计和代码都能完全符合需求 2 等价类