mock平台架构及实现
转载: http://blog.csdn.net/xkhgnc_6666/article/details/51757209
在测试过程中有些情况通过手工测试是无法测试出来的或是非常难复现,比如网络异常、网络延迟,又比如在接口测试过程中如果后台开发还没有把接口开发出来时有什么办法能够提前进行接口测试呢?这些情况下纯手工测试也是很难做到的,再就是在测试过程中希望合作方返回的数据可以随意设置,这种情况我们又该如何做呢?这时候mock接口就是一件能够极大的提高工作效率而且又能够实现手工测试不能做到的事情,在这里,我就把最近一段时间做mock平台的工作记录下来。
在部门里面不同的产品线都有自己的mock平台,但是不同的平台使用的技术不一样,有些是通过开源的wiremock,有些是用mina,在我这个做的mock平台主要是通过freemarker模板来模拟数据,通过接口把数据返回给调用方,下面是大体的系统架构;
这个平台主要分为两个大的部分,一个是web平台的数据录入,因为mock报文接口返回的内容不是固定死的,需要里面的一些值按照使用人的需要来进行设置,这个设置的内容就是用前面的web平台来做,另外一部分是mock接口的调用,按照合作方给出的接口报文内容,模拟接口返回的内容,在页面上是看不出来的,只是在调接口的时候才能感受到;
下面列举一下在这个mock平台中涉及到的技术点相应也会详细的介绍如何用这些技术来实现mock平台中的一些功能;
1.nginx ip转发;
2.前台web页面中涉及到的spring知识
这部分内容主要是在做前端web页面的过程中需要掌握的内容;
2.1.如何处理表单数据;
前端页面页面中有多条类似的数据需要设置,这里我们就需要通过表单的形式来对这些数据进行存储;
在合作方的接口文档中约定了,post请求必须使用json格式来传递参数,所以专门来讲下如何来做这个;
2.3.前端设置页面的数据实现自动刷新;
4.如何模拟合作方的报文(mock过程)
4.1.复杂的返回数据是如何利用freemarker来生成的;
4.1.1.返回固定报文;
4.1.2.返回可设置报文;
4.2..简单返回数据是如何模拟mock接口的;
5.灾备测试
灾备测试主要是模拟接口的成功、延时、失败的情况;
6.模拟支付失败;
7.实现的细节处理
7.1.数据类型转换;
8..未来mock平台发展方向思考;
mock平台架构及实现的更多相关文章
- 朱晔的互联网架构实践心得S2E7:漫谈平台架构的工作(基础架构、基础服务、基础平台、基础中间件等等)
前言 程序开发毕竟还不是搬砖这种无脑体力劳动,需要事先有标准,有架构,有设计,绝对不是新公司今天创立,明天就可以开始编码的.其实很多公司在起步的时候没有财力和资源建设独立的基础架构或平台架构部门,甚至 ...
- 【Mock平台】测试开发实战01-开篇PRD和需求详细
微信搜索[大奇测试开],关注这个坚持分享测试开发干货的家伙. 平台背景 从业务特性上,不少测试的服务很多是依赖第三方的接口的,比如其中的支付场景,就需要很多状态的返回进行验证,但大部分服务提供商没有很 ...
- 提高可测性-Mock平台设计和整体规划
微信搜索[大奇测试开],关注这个坚持分享测试开发干货的家伙. 平台背景 从业务特性上,不少测试的服务很多是依赖第三方的接口的,比如其中的支付场景,就需要很多状态的返回进行验证,但大部分服务提供商没有很 ...
- 测试开发【Mock平台】04实战:前后端项目初始化与登录鉴权实现
[Mock平台]为系列测试开发教程,从0到1编码带你一步步使用Spring Boot 和 Antd React 框架完成搭建一个测试工具平台,希望作为一个实战项目能为你的测试开发学习有帮助. 一.后端 ...
- 【从零开始学BPM,Day1】工作流管理平台架构学习
[课程主题] 主题:5天,一起从零开始学习BPM [课程形式] 1.为期5天的短任务学习 2.每天观看一个视频,视频学习时间自由安排. [第一天课程] Step 1 软件下载:H3 BPM10.0全开 ...
- [转] 前后端分离开发模式的 mock 平台预研
引入 mock(模拟): 是在项目测试中,对项目外部或不容易获取的对象/接口,用一个虚拟的对象/接口来模拟,以便测试. 背景 前后端分离 前后端仅仅通过异步接口(AJAX/JSONP)来编程 前后端都 ...
- 58同城高性能移动Push推送平台架构演进之路
本文详细讲述58同城高性能移动Push推送平台架构演进的三个阶段,并介绍了什么是移动Push推送,为什么需要,原理和方案对比:移动Push推送第一阶段(单平台)架构如何设计:移动Push推送典型性能问 ...
- ASP.NET 让无码编程不在是梦 -.NET通用平台、通用权限、易扩展、多语言、多平台架构框架
先拿出我半前年前平台的设计初稿,经过半年的努力我已经完成了该设计稿的所有功能.并且理念已经远远超出该设计稿. 下面是一些博友对我贴子的评价: 1.楼主,想法很美好,现实很骨感,我们公司就有一套你说的这 ...
- Android_进化史和平台架构介绍
一.Android平台发展史 2008年9月,谷歌正式发布了Android 1.0系统,全球第一台Android设备HTC (G1) 2009年4月,谷歌正式推出了Android 1.5 ...
随机推荐
- [python][django学习篇][5]选择数据库版本(默认SQLite3) 与操作数据库
推荐学习博客:http://zmrenwu.com/post/6/ 选择数据库版本(SQLite3) 如果想选择MySQL等版本数据库,请先安装MySQL并且安装python mysql驱动,这里不做 ...
- linux批量匹配移动文件的方法
需求 有需要移动的文件名清单 filename.txt filename.txt 内容如下: 15542842 1582457 1282427 1532158 4542457 1582453 6552 ...
- P2846 [USACO08NOV]光开关Light Switching
题目描述 Farmer John tries to keep the cows sharp by letting them play with intellectual toys. One of th ...
- [luogu1357] 花园 [dp+矩阵快速幂]
题面: 传送门 思路: 把P形花圃记录为0,C形记录为1,那么一段花圃就可以状态压缩成一个整数 那么,我们可以有这样的状压dp: dp[i][S]表示前i个花圃,最后m个的状态为S的情况 如果这是一条 ...
- 购物(sum)
购物(sum) 题目描述 visit_world 有一个商店,商店里卖N个商品,第ii 个的价格为 a[[i] 我们称一个正整数K 是美妙的,当且仅当我们可以在商店里选购若干个商品,使得价格之和落在区 ...
- splay模板整理
1.插入一个数 void insert(int x) { if (!root) { ++tot; e[tot].left = e[tot].right = e[tot].fa = ; e[tot].v ...
- [六省联考2017]组合数问题 (矩阵优化$dp$)
题目链接 Solution 矩阵优化 \(dp\). 题中给出的式子的意思就是: 求 nk 个物品中选出 mod k 为 r 的个数的物品的方案数. 考虑朴素 \(dp\) ,定义状态 \(f[i][ ...
- [暑假集训--数论]poj2909 Goldbach's Conjecture
For any even number n greater than or equal to 4, there exists at least one pair of prime numbers p1 ...
- ofbiz数据库表结构设计(3)- 订单ORDER
对于订单来说,主要的表就是ORDER_HEADER和ORDER_ITEM.ORDER_HEADER就是所谓的订单头,一条记录代表一条订单. ORDER_PAYMENT_PREFERENCE是订单的支付 ...
- pat 甲级 1080. Graduate Admission (30)
1080. Graduate Admission (30) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue It ...