mock以及特殊场景下对mock数据的处理
一、为什么要mock
工作中遇到以下问题,我们可以使用mock解决:
- 无法控制第三方系统某接口的返回,返回的数据不满足要求
- 某依赖系统还未开发完成,就需要对被测系统进行测试
- 有些系统不支持重复请求,或有访问访问频次限制。如不可重复支付,获取敏感信息的接口访问频次不可高于xx等
- 其他情况
二、mock的实现原理
一般测试场景中,都是对接口的返回数据进行mock。以http协议为例,
- 最简单的mock,可在mock服务器上保存一份mock数据,并给此mock数据生成对应的url。将要访问的第三方url,以mock url代替,这样即可满足最基本的mock需求。可在此处了解到更多关于此种mock的信息。
- 使用proxy实现mock。wiremock/anymock等开源工具可提供此实现。好处在于:
- 可查看请求及回应,方便获取mock数据的原型
- 匹配到规则的请求会返回mock数据,未匹配到的请求访问原服务
- 无需修改服务配置,无需重启服务
最近有接触到一些函数级别的mock。比如,mockito这个工具,即可实现不发出请求,即可获得mock数据的功能。
三、特殊场景下对mock数据的处理
有些场景对于mock来说较为特殊。比如,某接口对数据有加解密操作,这使得mock的数据无法直观理解,无法有效率地调整mock数据的内容以完成测试目标。另外,有些rpc协议不具通用性,通用的mock平台来支持此类协议成本太高。所以,我们的需要对我们的方法做一些变通。
1. 对于接口加解密数据,我们开发一个函数,来支持mock数据的加解密。手工测试时,该函数可表现为mock平台的插件;接口自动化时可表现为处理mock数据的函数。也可以采用方法2.
2. 直接将这个函数的逻辑整体mock掉。开发某功能:当程序运行到指定的方法时,不继续运行函数体,而是发送一个http请求到mock平台,将mock数据return出去。
转载于:https://www.cnblogs.com/sunada2005/p/7727585.html
mock以及特殊场景下对mock数据的处理相关推荐
- 王捷:边缘计算--物联网场景下的七大数据合规挑战
内容来源:2022年8月6日,由边缘计算社区主办的全球边缘计算大会·深圳站圆满落幕.会上,垦丁(广州)律师事务所执行主任王捷受邀发表了主题为<边缘计算--物联网场景下的七大数据合规挑战>的 ...
- 个人金融借贷场景下,大数据风控的行业分析及应用分析
一.大数据风控是什么? 大数据风控按照通俗的概念解析:通过运用大数据构建模型的方法对借款人进行风险控制和风险提示. 这句话涵盖大数据风控必要的4个要素: 1. 原材料:大数据 2. 实现方式:技术模型 ...
- 高并发场景下对热点数据的处理
什么是热点数据 设想如下场景: 1.有一条现金账号(大商户在mysql上的一条记录),同时有数十万人在往上面转账,账务数据是必须同步持久化的,这种情况下很难做到所有请求同步update这条记录. 2. ...
- 姨搜-信贷场景下全流程数据风控体系==宜信==候松==金融科技行业动态系列2
图一 画外音:金融科技公司的技术部分,这个有别于传统金融机构 图二 画外音:可观查到并记录下来的都是数据,这样的定义值得深入思考 图三 画外音:相关性未必比因果关系更重要 图四 画外音:重要信息 图五 ...
- 【行业报告】信贷场景下全流程数据风控体系——宜信
原创:http://kakazai.cn https://blog.csdn.net/yeziand01/article/details/80623117 感谢博主分享
- 指数级暴增、复杂场景下,揭秘百度云原生湖仓架构等系列数据产品
9月28日,百度智能云2021"云智技术论坛"智能大数据专场在上海举办.本次会议以"云智一体,让大数据发挥大价值"为主题,百度副总裁谢广军携百度多位资深技术专家 ...
- 开源实践 | OceanBase 在红象云腾大数据场景下的实践与思考
本文将介绍 OceanBase 在红象云腾大数据场景下的落地实践与思考,希望帮助正在探索 OceanBase 的企业用户快速实现 OceanBase 选型与落地. 作者:童小军 红象云腾 (REDOO ...
- 高并发场景下,到底先更新缓存还是先更新数据库?
在大型系统中,为了减少数据库压力通常会引入缓存机制,一旦引入缓存又很容易造成缓存和数据库数据不一致,导致用户看到的是旧数据. 为了减少数据不一致的情况,更新缓存和数据库的机制显得尤为重要,接下来带领大 ...
- 互金场景下竞价广告投放简介
目录 引言 实时竞价广告是什么 竞价广告的最优投放策略是什么 分层出价之如何进行人群分层 如何确定最优出价 oCPXoCPXoCPX下的最优出价 结语 引言 自2014年井喷式爆发以来,互金行业经历了 ...
最新文章
- nginx实现对chunk请求支持
- wget指定目录下载以及其它的使用方式
- java 高级数据类型_java 数据类型(上):分类
- 【机器学习】关联规则代码练习
- 接口文档神器Swagger(下篇)
- 使用WildFly 8.2.0.Final,Primefaces 5.1和MySQL 5的JDBC领域和基于表单的身份验证
- 关于fetch api这点事
- 精通Android自定义View(十一)绘制篇Canvas分析之裁剪
- linux系统编程shell,Linux系统中的 Shell 编程
- Android 开发之 ---- 底层驱动开发(一)
- Go开源项目 - gorp使用方法
- python输出特征相关矩阵_两个特征矩阵的有效成对相关
- PMP试题 | 每日一练,快速提分 9.8
- 基于GD库的php验证码类(支持中英文字体、背景、干扰点线、扭曲…….)
- java开源规则引擎比较_常用规则引擎比较分析
- 互联网请回答2020
- 电脑上找不到蓝牙图标,怎么打开蓝牙,三种方法教你打开蓝牙。
- 红米9A android版本,红米9a和红米9哪一款手机好?有什么区别存在?
- uva 10827	Maximum sum on a torus
- 康定游记-宝宝征服4300米海拔折多山
热门文章
- c语言常用符号与英文,C语言常用符号与英文(7页)-原创力文档
- zzuli 2525: 咕咕的搜索序列
- HDU Problem - 1455 Sticks
- 解决ubuntu中连接mysql时报错:Access denied for user ‘root‘@‘localhost‘
- 自己在windows下第一次安装pygame成功的经历
- [C++] this指针
- java算法----0至9这十个数组成两个三位数和一个四位数
- 数据库中的DML,DCL,DDL分别是那些操作?
- [Apple开发者帐户帮助]三、创建证书(3)创建企业分发证书
- linux查看和修改PATH环境变量的方法