六、【功能接口测试】用例设计方法及案例:单接口和业务场景

接口测试

        • 1)接口测试的测试点
        • 2)接口用例设计方法
        • 3)功能测试单接口测试用例
        • 4)功能测试业务场景测试用例

  • 1)接口测试的测试点
    • 功能测试
      • 单接口功能
        • 一个单独业务,就对一个独立的接口,如:登录业务对应登录接口
      • 业务场景功能
        • 多个接口被连续调用(模拟用户的实际使用场景)
    • 性能测试
      • 响应时长:从发送请求到接收到服务器回发响应包所经历的时间
      • 错误率:服务器运⾏出错的概率
      • 吞吐量:服务器单位时间内,处理请求的数量。
      • 服务器资源使用率:cpu、内存、⽹络、磁盘等 硬件资源的占⽤率。
    • 安全测试
      • 攻击安全:⽊⻢、病毒…
        • 由具备专业安全技术,会使⽤专业安全测试⼯具的 安全测试⼯程师负责。
      • 业务安全:
        • 必须登录,才能访问⽤户数据。
        • 敏感数据加密存储。(例如在网页开发者工具中的请求体部分密码键对应的值为加密过的“乱码”,而不是直接显示123456这种)
        • SQL注入(例如输入特殊语句” or1=1#使得原sql语句变为恒真使得黑客可以随便输密码进入网站)
  • 2)接口用例设计方法
    • 注意:用例设计思路一般都是针对请求体。对于没有请求头的方法,
    • 单接口测试(对应单独业务)的测试方向(不需全用到)
      • 正向
        • 必选参数P0:所有必选项,给正确数据
        • 组合参数P2/P3:所有必选 + 任意可选,给正确数据。
        • 全部参数P1:所有必选 + 所有可选,给正确数据。
      • 反向
        • 功能异常P1:数据格式正确,不能履⾏接⼝功能。
        • 数据异常P2:数据格式不正确(空值、特殊字符、汉字、字⺟、⻓度、范围 →采用等价类、边界值方法)
        • 参数异常P3:
          • 多参:多出必选参数
          • 少参:缺少必选参数
          • ⽆参:没有指定参数
          • 错误参数:参数名错误。
    • 业务场景测试(多个接口的连续调用,模拟实际使用场景)
      • ⼀定在单接⼝测试之后
        • 尽量模拟⽤户实际使⽤场景。
        • 尽量⽤最少的⽤例,覆盖最多的接⼝请求。
        • ⼀般情况下,覆盖正向测试即可。
  • 3)功能测试单接口测试用例
    • 登录(分析测试点):没有可选参数

      • 正向:
        • 登录成功
      • 反向:
        • 功能异常:
          • ⼿机未注册
          • 密码错误
        • 数据异常:
          • ⼿机号为空
          • ⼿机号含有字⺟、特殊字符
          • ⼿机号12位
          • ⼿机号10位
          • 密码为空
          • 密码含有字⺟、特殊字符
          • 密码1位
          • 密码100位
        • 参数异常:
          • 多参:多出abc
          • 少参:缺少-mobile
          • ⽆参:
          • 错误参数:修改 mobile 为 abc
      • 写用例(参考接口文档里的参数)(能看懂就行,不需能直接运行)(请求数据即请求体)
      • 在这里插入图片描述
    • 添加员工(分析测试点)

      • 对于需要按照json格式写的请求数据栏,可以在网站添加页面添加时用开发者工具,再找请求数据粘贴过来更方便。)
      • 正向:
        • 必选参数 姓名 + ⼿机号+⼯号
        • 组合参数 姓名 + ⼿机号+⼯号 + 聘⽤形式
        • 全部参数 全部必选 + 全部可选
      • 反向:
        • 功能异常
          • ⼿机号已经存在
          • ⼯号已经存在
          • ⼊职时间晚于转正时间
        • 数据异常
          • ⽤户名为空
          • ⽤户名为纯数字
          • ⽤户名为纯字⺟
          • ⽤户名含有特殊字符、汉字
          • ⼿机号为空
          • ⼿机号含有字⺟、特殊字符
          • 10位⼿机号
          • 12位⼿机号
          • ⼿机号⾮1开头
          • ⼯号为空
          • ⼯号包含字⺟、特殊字符
          • 21位⼯号
          • 1位⼯号
          • 6位⼯号
          • ⼊职时间格式不正确
          • 聘⽤形式取值3
          • 聘⽤形式取值含有特殊字符、字⺟
          • 部⻔id不存在
          • 部⻔id含有特殊字符、字⺟
        • 参数异常
          • 多参:多abc
          • 少参:少username
          • ⽆参:缺少所有必须项
          • 错误参数:workNumber 参数名错,为 abc
    • 查询员工:get方法没有请求体

      • 使⽤资源路径: /api/sys/user/:target 包含 :target 为 ”路径参数“。 ⽤来指代 待查询的 员⼯id
      • 设计测试点:
        • 员⼯id存在
        • 员⼯id不存在
        • 没有指定员⼯查询
      • 设计测试用例:设计点在url非请求数据中的**:target**即id
        • 在这里插入图片描述
    • 修改方法put也是看target

    • 删除参考查询方法

      • 伪删除说明:
        • 不使⽤SQL语句 delete,真正删除指定记录。
        • ⽽使⽤ update 将指定字段值修改,代表这条记录被 “删除” 了。
        • 可以理解为表格里的隐藏列表
        • 在这里插入图片描述
  • 4)功能测试业务场景测试用例
    • 指导思想:模拟⽤户实际使⽤,⽤较少的测试⽤例,覆盖更多接⼝,测试正向即可。
    • 登录 - 添加员⼯ - 查询员⼯ - 修改员⼯ - 删除员⼯ - 查询员⼯列表

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/503547.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu+clangd+vscode 实现项目代码快速跳转(如: Linux 内核源码)

1. 准备工作 虚拟机 ubuntu 环境,笔者用的是 ubuntu20.04。windows 安装好 vscode 软件。 2. 配置过程 2.1 vscode远程连接 ubuntu ubuntu 虚拟机开启 ssh 服务 sudo apt install openssh-server sudo service ssh startvscode 安装 remote-ssh 插件 vscode 远…

PLYExporter 是用于导出 Three.js 场景中几何体数据为 PLY 格式的类。

demo 案例 PLYExporter 是用于导出 Three.js 场景中几何体数据为 PLY 格式的类。下面是关于 PLYExporter 的属性、方法、入参和出参的讲解: 属性 (Properties): None: 通常情况下,PLYExporter 没有公开的属性,它主要是通过方法来执行导出…

Radash一款JavaScript最新的实用工具库,Lodash的平替!

文章目录 Lodash 的痛点进入正题--Radash特点 举例几个常用的api 一说lodash应该大部分前端同学都知道吧,陪伴我们好多年的JavaScript工具库,但是自从 ES6 出现后就慢慢退出前端人的视线,能ES6写的代码绝对不会用Lodash,也不是完全…

设计模式7--建造者模式

定义 案例一 案例二 优缺点

STM32 软件I2C方式读取AS5600磁编码器获取角度例程

STM32 软件I2C方式读取AS5600磁编码器获取角度例程 🔖本例程使用正点原子例程作为工程模板创建。 📘 硬件电路部分 🌿原理图部分: 🌿PCB布线和电路 ✨注意事项:有些硬件需要I2C上拉,否则检…

学习transformer模型-Input Embedding 嵌入层的简明介绍

今天介绍transformer模型的Input Embedding 嵌入层。 背景 嵌入层的目标是使模型能够更多地了解单词、标记或其他输入之间的关系。 从头开始嵌入Embeddings from Scratch 嵌入序列需要分词器tokenizer、词汇表和索引,以及词汇表中每个单词的三维嵌入。Embedding a s…

2核2G服务器优惠价格轻量61元一年,CVM价格313元15个月

腾讯云2核2G服务器多少钱一年?轻量服务器61元一年,CVM 2核2G S5服务器313.2元15个月,轻量2核2G3M带宽、40系统盘,云服务器CVM S5实例是2核2G、50G系统盘。腾讯云2核2G服务器优惠活动 txybk.com/go/txy 链接打开如下图:…

Java 学习和实践笔记(51):基本的冒泡排序算法和优化的冒泡排序算法

常见的算法的可视动画演示效果可在这个网址查看: visualising data structures and algorithms through animation - VisuAlgo 基本的冒泡排序算法很简单,假定有10个数需要排序,那么就需要跑10轮,在每一轮里,都依次进…

攻防世界-Web(catcat-new)

任意文件读取漏洞是指攻击者通过在应用程序中输入非法的文件名或路径,从而获取未授权的文件读取权限的漏洞。攻击者可以利用此漏洞来读取系统文件、敏感数据或其他用户数据。这种漏洞通常是由于程序没有正确地检查用户的输入而引起的。建议开发人员在编写应用程序时…

Android adb ime 调试输入法

目录 前言列出所有输入法仅列出输入法 id列出所有输入法的所有信息 启用/禁用 输入法启用输入法禁用输入法 切换输入法还原输入法 前言 安装多个输入法后&#xff0c;可以在设置里进行切换。 既然是开发&#xff0c;能用命令就就命令~ ime 帮助说明&#xff1a; ime <c…

HarmonyOS 应用开发之Stage模型绑定FA模型ServiceAbility

本小节介绍Stage模型的两种应用组件如何绑定FA模型ServiceAbility组件。 UIAbility关联访问ServiceAbility UIAbility关联访问ServiceAbility和UIAbility关联访问ServiceExtensionAbility的方式完全相同。 import common from ohos.app.ability.common; import hilog from o…

vue系统——v-html

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>v-html指令</title> </head> <body&…

快速上手Spring Cloud 十七:深入浅出的学习之旅

快速上手Spring Cloud 一&#xff1a;Spring Cloud 简介 快速上手Spring Cloud 二&#xff1a;核心组件解析 快速上手Spring Cloud 三&#xff1a;API网关深入探索与实战应用 快速上手Spring Cloud 四&#xff1a;微服务治理与安全 快速上手Spring Cloud 五&#xff1a;Spring …

【SpringCloud】认识微服务

目 录 一.服务架构演变单体架构分布式架构服务治理微服务总结 二.微服务技术对比微服务结构微服务技术对比企业需求 三.SpringCloud 一.服务架构演变 单体架构 单体架构&#xff1a;将业务的所有功能集中在一个项目中开发&#xff0c;打成一个包部署。 优点&#xff1a; 架…

JavaScript高级 —— 学习(三)

一、深入面向对象 分为面向过程和面向对象两种&#xff0c;面向过程是以步骤来划分问题&#xff0c;在这儿不做过多描述。 &#xff08;一&#xff09;面向对象介绍 把事务分解成一个个对象&#xff0c;由对象之间分工合作&#xff0c;面向对象是以对象功能来划分问题&#…

本地项目上传到GitHub

本文档因使用实际项目提交做为案例&#xff0c;故使用xxx等字符进行脱敏&#xff0c;同时隐藏了部分输出&#xff0c;已实际项目和命令行输出为准 0、 Git 安装与GitHub注册 1&#xff09; 在下述地址下载Git&#xff0c;安装一路默认下一步即可。安装完成后&#xff0c;随便…

开源知识库平台Raneto--使用Docker部署Raneto

文章目录 一、Raneto介绍1.1 Raneto简介1.2 知识库介绍 二、阿里云环境2.1 环境规划2.2 部署介绍 三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本 四、下载Raneto镜像五、部署Raneto知识库平台5.1 创建挂载目录5.2 编辑config.js文件5.…

金三银四面试题(八):JVM常见面试题(2)

今天我们继续探讨常见的JVM面试题。这些问题不比之前的问题庞大&#xff0c;多用于面试中​JVM部分的热身运动&#xff0c;开胃菜&#xff0c;但是大家已经要认真准备。 JRE、JDK、JVM 及JIT 之间有什么不同&#xff1f; JRE 代表Java 运行时&#xff08;Java run-time&#…

Vue 05 Vuex

Vue 学习 Vue 05 vuex01 介绍02 工作原理&#xff08;原理图&#xff09;使用 03 案例求和补充HTML 纯vue实现vuex使用 04 getters配置项05 mapState 与 mapGetters补&#xff1a;ES6语法mapState使用mapGetters总结 06 mapActions 与 mapMutationsmapMutationsmapActions总结 …

最新Java面试题1【2024中级】

互联网大厂面试题 1&#xff1a;阿里巴巴Java面试题 2&#xff1a;阿里云Java面试题-实习生岗 3&#xff1a;腾讯Java面试题-高级 4&#xff1a;字节跳动Java面试题 5&#xff1a;字节跳动Java面试题-大数据方向 6&#xff1a;百度Java面试题 7&#xff1a;蚂蚁金服Java…