首页 > 其他分享 >服务端测试开发必备技能:Mock测试

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

时间:2024-04-15 16:25:19浏览次数:23  
标签:mock 步骤 server 点击 服务端 测试 Mock

什么是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进行接口测试不存在选择环境

 

步骤十:

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

行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群:731789136,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

如果你想学习软件测试和需要软件测试资料,欢迎加入扣扣交流群:731789136,里面可以免费领取软件测试+自动化测试资料+软件测试面试宝典+简历模版+实战项目+面试刷题工具和大佬答疑解惑,我们一起交流一起学习!

标签:mock,步骤,server,点击,服务端,测试,Mock
From: https://www.cnblogs.com/NHB6870/p/18136207

相关文章

  • Cmocka 单元测试日志记录
    isbs_doc/release/ipg/../ut跑例(24.4.15)ut测试不通过在isbs_doc文件夹git分支release/ipg中对ut进行跑例测试通过gitcloneisbs_doc文件夹到本地切换到release/ipg分支在#164中找到关于cmocka单元测试的ut文件夹在终端MSYS2-Mingw64直接切换到该目......
  • BinGoo系列之Socket组件《三、客户端+服务端组件的封装》 控件版(转)
    简介:继【C#原生Socket网络通讯】BinGoo系列之Socket服务端+客户端 之后,进一步封装的原生socket网络通讯组件。在此之前的版本还是要写一部分绑定委托事件代码,新版通讯类库将所有的消息机制全部封装成事件。只需拖动组件至窗体,直接双击组件注册事件,无需再写有关socket的代码,......
  • 使用openGauss jdbc 3.0测试国密SM3用户认证
    使用openGaussjdbc3.0测试国密SM3用户认证本文出处:https://www.modb.pro/db/393728openGauss现在支持四种用户认证方式,通过postgresql.conf文件中的参数password_encryption_type确定,认证方式与该参数的对应关系如下表所示:认证方式 参数md5 password_encryption_ty......
  • 测试~位运算符与普通运算速度区别
    1.测试想法在读js红宝书的时候,在书上看到位运算属于底层运算比直接运算速度要快,因此想要验证下2.测试代码<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scal......
  • Python 生成测试数据 - faker 模块
    Python生成测试数据-faker模块摘自:http://notes.zhengxinonly.com/posts/2023-09-04.htmlFaker是一个生成数据的Python库,Faker数据通常用于生成测试数据。初始化操作首先需要安装faker模块pipinstallfakerfaker.Faker()创建并初始化一个伪造的生成器,该伪造器......
  • 推荐两款HTTP请求Mock利器
    1、背景在日常测试过程中或者研发开发过程中,目前接口暂时没有开发完成,测试人员又要提前介入接口测试中,测试人员不仅仅只是简单的编写测试用例,也可以通过一些mock的方法进行来提前根据接口测试的情况进行模拟返回接口的信息,进行模拟接口各种场景的异常。mock是指模拟,也就是模拟接......
  • 黑盒测试用例设计技术-语法测试原则及案例
    语法测试用例设计原则选项导出原则:当语法规则强制选择时,为该选择的每个备选方案导出一个测试用例(“选项”)。最小与最大重复次数原则:当语法规则强制执行最小重复次数时,应为此导出至少两个测试用例:一个满足最小重复次数,另一个不满足(小于最小重复次数)。当语法规则允许最大重复......
  • MedSAM环境搭建&推理测试
    引子之前分享过一篇SAM(感兴趣的,请移步https://blog.csdn.net/zzq1989_/article/details/135479818?spm=1001.2014.3001.5502)环境搭建&推理测试,虽然话说SegmentAnything,但是原始模型对于一些子领域的效果还是不尽如人意的。最近医学领域的分割引起了我的注意,调研了一圈,也想看看在......
  • ansible 入门测试
    所有步骤均在ansibleserver主机上执行。安装ansiblewget-O/etc/yum.repos.d/epel.repohttp://mirrors.aliyun.com/repo/epel-7.repoyuminstallansible-ycansible到workder节点免密登录生成公钥ssh-keygen-trsa公钥拷贝到woker节点 *2 ssh-copy-i......
  • JMeter——异步请求性能测试
    前段时间任务要求要对一种异步请求做性能测试,异步请求步骤如下:step1:发一个数据计算的请求,response里面返回一个jobIdstep2:带上这个jobId,就可以实时查看这个请求返回的jobStatus,如果jobStatus==0,则成功返回计算结果;如果jobStatus==2,则代表jobinprogress;如果jobStatus==......