服务端测试开发必备的技能:Mock测试!

news2024/10/11 16:18:23

什么是mock测试

Mock 测试就是在测试活动中,对于某些不容易构造或者不容易获取的数据/场景,用一个Mock对象来创建以便测试的测试方法。

Mock测试常见场景

  • 无法控制第三方系统接口的返回,返回的数据不满足要求

  • 依赖的接口还未开发完成,就需要对被测系统进行测试

Mock测试的缺点

测试过程中如果大量使用Mock,mock测试的场景失去了真实性,可能会导致在后续的系统性测试时才发现bug,使得缺陷发现的较晚,可能会造成后续修复成本更大

Mock工具:Fiddler / Postman

01\实战

postman 创建一个mock server

步骤一:

在左上角有一个New,点开后会有下拉列表展示,选择里面的Mock Server

图片

步骤二:

勾选Request-Body(请求内容)

图片

步骤三:

填写mock测试的各个请求参数,之后点击Next下一步

图片

步骤四:

创建mock server

  • 填写Mock服务的名称(可用中文)

  • 勾选Make this Mock server private,可以不勾选;如果勾选了,这个Mock服务就只能你自己私有访问,此时创建的Mock Service需要一个x-api-key,把生成的key放到header中,具体生成x-api-key后面会介绍

  • 选择环境,如果没有合适的环境可以选择no environment

  • 勾选 Save the mock server URL as an environment variable

图片

步骤五:

点击here获取mock 接口密钥,登陆浏览器设置,然后点击close

图片

黄色部分就是Mock服务器地址,这个mock server是postman在自己的服务器上为我们创建的,无论我们是否打开postman,我们都可以直接用这个地址来访问mock的API,如我们通过Jmeter也能对这个接口进行访问

如果需要对这个Mock服务创建API key,可以点击here打开一个浏览器页面,生成一个API key,(注意,这个key值只出现一次,复制好以后最好新建一个记事本粘进去),后面访问这个接口的时候,必须在请求头里带上 API key,才能访问成功,相当于一个接口鉴权的作用。

x-api-key获取地址:https://web.postman.co/settings/me/api-keys?

图片

步骤六:

Mock服务创建成功

创建成功后回到postman主界面,在右侧collection集合出出现了一个以刚才mock server命名相同的collection,点击这个集合右上角的箭头,选择mock,出现mock server的地址。

图片

这个{{url}}其实就是我们的Mock服务地址,鼠标放上去可以显示,如果使用postman进行测试,使用时地址栏内的{{url}}一定要带着,如果

使用其它工具如Jmeter,可以使用{{{url}}变量中具体的值,也即如上图中的https://3b84b4c3-de01-4016-83aa-60943c1984b8.mock.pstmn.io:在这个mock server地址,其后面路径名称以及层级均可自定义,但要记得设置对应的example并且保存后再运行。

图片

步骤七:

修改Mock Server,如果需要修改Mock Server,点击进入Mock Server服务,点击右上角的Examples就可以修改了

选择环境,选择Examples,默认为default,如果仅仅要修改当前的Mock Service,则选择Default

如果要在此基础上新增Mock Service,则选择Add Example,新增或者修改mock service,并保存为新的mock service,注意接口地址中{{url}}/test/testdemo,前面要带上路径符号/

图片

图片

步骤八:

访问Mock服务,可以使用 postman 、jmeter等接口测试工具进行访问,这里选择使用postman进行访问

创建一个Http服务请求 “Add Request”,Request name可以命名为中文,保存

图片

选择环境:点击右上角眼睛旁的下拉框选择环境,此处刚才创建Mock server时候新增了一个和mock server命名相同的的环境,选择环境后点击眼睛,还可以看到该环境下接口地址的具体信息

图片

图片

服务请求界面输入接口地址、请求方法、请求header和请求body等内容,点击save,点击send按钮,可查看服务请求和响应内容,此处响应的内容就是前面创建Mock服务定义的响应内容,响应成功状态码就是Mock服务定义的响应状态码,如:Status:200

图片

创建一个Http服务请求 “Add Request”,也可以对步骤七中新增/修改的Mock Service(Example)发送服务请求,步骤同上

步骤九:

使用Jmeter访问Mock服务

备注:使用Jmeter进行接口测试不存在选择环境

图片

步骤十:

其它-环境管理,对于一些无用的环境,可以删除

图片

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

分治算法(4)_快速选择_库存管理III_面试题

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 分治算法(4)_快速选择_库存管理III_面试题 收录于专栏【经典算法练习】 本专栏旨在分享学习算法的一点学习笔记,欢迎大家在评论区交流讨论&#x1f…

《自然语言处理NLP》—— 词嵌入(Word Embedding)及 Word2Vec 词嵌入方法

文章目录 一、词嵌入介绍1.示例介绍2.词嵌入的主要特点3.常见的词嵌入方法3.词嵌入的应用 二、Word2Vec 词嵌入方法1. 连续词袋模型(CBOW)2. Skip-gram模型3.Word2Vec方法的应用 在了解词嵌入之前需要了解什么是 独热编码(One-Hot Encoding&…

ITSS-IT服务项目经理的价值体现

(1)技能提升:对于获得ITSS认证的服务项目经理而言,熟练掌握各种运维工具的使用能更精准地量化工作成果,更有效地管理信息技术服务流程。 这不仅提升了服务质量,还能在工作中展现出更高的效率和准确性&…

金蝶云星空个别字段无法录入异常处理

用户反馈,在录入单据时,第一条数据能录入数量,新增第二条时就无法录入。 用户反馈截图如下: 我登录自己的账号查看,并未发现相同的问题,同时用户也说已经退出重新登录过,问题依旧。 到现场看用…

硬货!Zabbix监控AIX系统服务案例

本文将介绍如何使用Zabbix自定义键值脚本方式监控AIX 系统IBM CICS中间件进程服务以及日志文件等信息。 Customer Information Control System (CICS) Transaction Server 是 IBM 针对 z/OS 的多用途事务处理软件。这是一个功能强大的应用程序服务器,用于大型和小型…

input 标签拥有了一种新的类型 :datetime-local 可以同时输入时间和日期

目前用于输入时间的控件有三种&#xff1a; typedate : 输入日期 typetime: 输入时间 typedatetime-local : 输入日期和时间 <input type"datetime-local" /><input type"date" /><input type"time" />

通义灵码 AI 程序员来了!丨阿里云云原生 9 月产品月报

云原生月度动态 云原生是企业数字创新的最短路径。 《阿里云云原生每月动态》&#xff0c;从趋势热点、产品新功能、服务客户、开源与开发者动态等方面&#xff0c;为企业提供数字化的路径与指南。 趋势热点 &#x1f947; 通义灵码 AI 程序员开启邀测&#xff0c;全流程开…

MarkText常用设置及快捷命令

1、设置自动保存 2、设置打开的默认目录 3、设置本地图片保存位置 4、常用快捷命令 1、 新建文档CtrlT 2、 打开侧边栏CtrlJ 3、 显示源代码CtrlE(再次按可切回正常界面)

Linux相关概念和易错知识点(14)(进程终止、进程退出、退出信息)

1.进程终止 &#xff08;1&#xff09;错误码 对于程序常见错误信息&#xff0c;C/C提供了信息解释&#xff0c;保存在<string.h>&#xff0c;使用strerror(错误码)就可以查询 错误信息成立的前提是错误码要和错误信息匹配&#xff0c;我们需要结合C/C给我们的错误码来…

股市入门常见术语介绍

鉴于最近行情讨论火热&#xff0c;我也想借此平台&#xff0c;结合我大学时期身边同学老师的投资经历&#xff0c;写一篇交易入门术语简介。内容不多但是足以达到科普之用。​ 希望大家能谨慎对待投资&#xff0c;始终保持谦虚学习的态度。不要迷失在瞬息万变的金融市场&#x…

第十九节 图像的缩放与插值

图像插值 最常见的四种插值算法 INTER_NEARRST0 INTER_LINEAR1 INTER_CUBIC2 INTER_LANCZOS44 相关应用场景 几何变换&#xff0c;透视变换&#xff0c;插值计算新像素resize&#xff0c; 如果size有值&#xff0c;使用size做缩放插值&#xff0c;否则根据fx与fy卷积。…

HUAWEI_HCIA_实验指南_Lib2.2_理解ARP及Proxy ARP

1、原理概述 ARP(Address Resolution Protocol)是用来将IP地址解析为MAC地址的协议。ARP表项可以分为动态和静态两种类型。动态ARP是利用ARP广播报文&#xff0c;动态执行并自动进行IP地址到以太网MAC地址的解析&#xff0c;无需网络管理员手工处理。静态ARP是建立I…

基于JAVA+SpringBoot+Vue的实习管理系统

基于JAVASpringBootVue的实习管理系统 前言 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN[新星计划]导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末附源码下载链接&#x1f345; 哈喽兄…

<Project-6 pdf2tx> Python Flask 应用:图片PDF图书的中文翻译解决方案

重要更新&#xff01; Modified on 8oct24. P6已经被 P8 替代&#xff0c;后着支持多任务&#xff0c;多翻译机。在速度与资源占用上&#xff0c;都好于这个P6。 新的 P8 文章链接&#xff1a; &#xff1c;Project-8 pdf2tx-MM&#xff1e; Python Flask应用&#xff1a;在…

59 mysql 存储引擎之 PERFORMANCE_SCHEMA

前言 我们这里来看一下 performance_schema 存储引擎, 我们常见的那些 general_log, slow_log什么的, 都是基于 performance_schema 它主要是 使用 ha_perfschema 下面 api 来操作 performance_schema 中的信息 我们这里基于 performance_schema.variables_by_thread 这张基…

RGB转HDMI方案、MS7210驱动——FPGA学习笔记20

一、简介 见HDMI彩条显示——FPGA学习笔记12-CSDN博客 二、TMDS编码原理 HDMI 采用 TMDS (Time Minimized Differential Signal) 最小化传输差分信号传输技术&#xff0c; 是美国 Silicon Image 公司开发的一项高速数据传输技术&#xff0c; 将视频、 音频、 控制信号进行编码…

电脑上下载配置Flutter Sdk及如何配置Flutter国内镜像

电脑上面下载配置 Flutter Sdk &#xff08;所有版本方法一 样&#xff09;&#xff1a; 1 、下载 Flutter SDK https://flutter.dev/docs/development/tools/sdk/releases#windows 2 、把下载好的 Flutter SDK 随便减压到你想安装 Sdk 的目录 如减压到 &#xff08; F:\flu…

Flink job的提交流程

在Flink中&#xff0c;作业&#xff08;Job&#xff09;的提交流程是一个复杂的过程&#xff0c;涉及多个组件和模块&#xff0c;包括作业的编译、优化、序列化、任务分发、任务调度、资源分配等。Flink通过分布式架构来管理作业的生命周期&#xff0c;确保作业在不同节点上以高…

【Java】多线程代码案例

多线程代码案例 单例模式初步了解饿汉模式懒汉模式线程安全问题分析存在的问题 生产者消费者模型初识生产者消费者模型初识阻塞队列生产者消费者模型的意义BlockingQueue阻塞队列模拟实现 定时器初识计时器初识Timer类初识 schedule() 方法简易定时器的实现思路讲解代码书写 线…

面试字节跳动精选20道产品经理面试题分析回答

分享20道字节跳动产品经理的面试题&#xff0c;产品经理的面试很多会跟项目强关联&#xff0c;比如面试电商产品经理&#xff0c;就要多聊电商的业务&#xff0c;所以我们选了一些比较通用的&#xff0c;面试题及我们的分析回答。 01 20道面试题&#xff08;前10道&#xff0…