当前位置: 首页 > news >正文

【测试篇】测试用例

文章目录

    • 前言
    • 具体设计测试用例
      • 等价类
      • 边界值
      • 场景设计法
      • 判定表(因果图)
      • 正交排列(用的非常少)
      • 错误猜测法

前言

什么是测试用例??

测试用例是针对软件系统或应用程序的特定功能或场景编写的一组步骤,旨在验证软件是否按照预期工作。测试用例描述了预期输入、执行操作和预期输出,以及测试的环境和先决条件。测试用例通常由测试人员编写,用于检查软件的功能、性能、安全性等方面。

测试用例具有什么基本要素??

测试用例通常包含 测试环境、操作步骤、测试数据、预期结果、实际结果、测试状态等要素……

评价测试用例的标准是什么??

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

覆盖率高意味着测试用例覆盖了软件系统的许多方面,有助于发现潜在的缺陷和问题。

具体设计测试用例

  • 等价类
  • 边界值
  • 错误猜测法
  • 场景设计法
  • 因果图
  • 正交排列

等价类

  • 有效等价类:根据需求说明书,满足需求的集合

  • 无效等价类:根据需求说明书,不满足需求的集合

举例子:测试一个账号输入机制,要求用户名长度是6~15位&必须全是字符。

测试点是有效等价类+无效等价类外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

边界值

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

  1. 寻找上点、内点、离点。可以观察下图来理解:外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  2. 设计测试用例(和等价类结合)

    针对上述的“上点、内点、离点”设计测试用例。

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

场景设计法

什么是场景:场景设计法是指根据特定情境和需求,构思和设计出一个具体的场景或情景,以便更好地理解和解决问题,促进创新和设计思考的方法。

场景设计法设计测试用例的时候具体的步骤是什么?

  1. 主事件流
  2. 次事件流
  3. 将主事件流次事件流串起来就会形成场景,一个场景就是一个测试用例

以淘宝购物为例。外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

测试点①:打开淘宝APP,搜索商品,选中商品,加入购物车,选择支付方式,支付成功,生成订单。

测试点②:打开淘宝APP,APP闪退,没有订单。

判定表(因果图)

判定表需要掌握的基本知识:恒等、与、或、非。

  • 恒等:条件为真,结果一定为真,条件为假,结果一定为假
  • 与︰条件全为真,结果才为真,条件中有一个为假,结果为假
  • 或:条件全为假,结果才为假,条件中有一个为真,结果为真
  • 非:条件为假,结果才为真

通过判定表法设计测试用例

  1. 充分理解需求
  2. 分析所有的输入和可能的输出
  3. 找出输入和输出之间的对应关系
  4. 画判定表
  5. 把判定表对应到每一个测试用例

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

分析:

  • 输入:订单提交(A),订单没有提交,金额大于等于300(B),金额小于300,有红包©,没有红包。

  • 输出:有优惠,没优惠。

  • 对应关系:A B C AB AC BC ABC

  • 画判定表外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 测试用例:

    • 订单已提交,金额大于等于300,有红包,有优惠
    • 订单已提交,金额大于等于300,没有红包,有优惠
    • 订单已提交,金额小于300,有红包,有优惠
    • 订单已提交,金额小于300,没有红包,没有优惠
    • 订单未提交,金额大于等于300,有红包,没有优惠
    • 订单未提交,金额大于等于300,没有红包,没有优惠
    • 订单未提交,金额小于300,有红包,没有优惠
    • 订单未提交,金额小于300,没有红包,没有优惠

正交排列(用的非常少)

正交法的核心是正交表,这是一种设计实验的特殊表格,能够将各个因素的水平组合安排得尽可能均匀,从而使得实验结果具有较高的准确性和可重复性。

通过正交表设计测试用例:

  1. 确定因素和因素取值(确定因素和水平)
  2. 通过工具生成正交表
  3. 将正交表转换成测试用例
  4. 补充正交表

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

  • 因素:姓名、密码、确认密码、验证码
  • 水平:每个元素填写/不填写

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

测试点①:姓名填写,邮箱填写,密码填写,确认密码填写,验证码填写

……

错误猜测法

错误猜测法更多的是依赖以往的经验,长期对于被测软件涉及的理解来进行的猜测。

依赖测试人员的工作经验和积累。

相关文章:

  • Claude-3全解析:图片问答,专业写作能力显著领先GPT-4
  • 如何正确使用reflect:Go反射规范与最佳实践
  • Linux的学习之路:4、权限
  • 某眼实时票房接口获取
  • 记忆力考验游戏-第15届蓝桥第5次STEMA测评Scratch真题精选
  • UniswapV2周边合约学习(五)-- ExampleFlashSwap.sol
  • Acwing.1388 游戏(区间DP对抗思想)
  • [环境配置]conda 64位安装32位python
  • 【大模型】大模型 CPU 推理之 llama.cpp
  • 阿里云通用算力型u1云服务器配置性能评测及价格参考
  • CAD Plant3D 2023 下载地址及安装教程
  • Linux运维-SHELL编程之正则表达式与流编辑处理器
  • 吴恩达:AI 智能体的四种模式
  • 深入PostgreSQL中的pg_global表空间
  • [xboard]real6410-5.2 移植kernel网络驱动
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • canvas 绘制双线技巧
  • CSS 提示工具(Tooltip)
  • Git 使用集
  • JavaWeb(学习笔记二)
  • Java深入 - 深入理解Java集合
  • mockjs让前端开发独立于后端
  • npx命令介绍
  • Quartz初级教程
  • SSH 免密登录
  • 发布国内首个无服务器容器服务,运维效率从未如此高效
  • 关于字符编码你应该知道的事情
  • 聊聊springcloud的EurekaClientAutoConfiguration
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 删除表内多余的重复数据
  • 深度学习在携程攻略社区的应用
  • 微信支付JSAPI,实测!终极方案
  • 写代码的正确姿势
  • 找一份好的前端工作,起点很重要
  • const的用法,特别是用在函数前面与后面的区别
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • ​queue --- 一个同步的队列类​
  • #define、const、typedef的差别
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • (C语言)共用体union的用法举例
  • (定时器/计数器)中断系统(详解与使用)
  • (二十三)Flask之高频面试点
  • (算法)求1到1亿间的质数或素数
  • **python多态
  • *Django中的Ajax 纯js的书写样式1
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .NET BackgroundWorker
  • .NET Core WebAPI中封装Swagger配置
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .Net 路由处理厉害了
  • .NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九)