郑州易盛信息技术有限公司(以下简称为易盛信息)是郑州商品交易所的全资技术子公司。其主要的发展战略为“两个面向”,即面向郑州商品交易所和面向全球金融期货市场。

目前,易盛信息一个普通交易日6小时处理的交易额远远超过了天猫双十一全天的交易额,核心系统处理时延精确至纳秒级,部分系统数据精度要到小数点后三十多位。系统的稳定性至关重要,如果交易系统发生故障导致中断会影响世界范围内相关产品定价。总而言之一句话,我们要千方百计地确保系统“不能出事”。

系统测试阶段面临的问题

在系统测试阶段,针对接口测试我们主要面临两类问题。

第一类是私有协议问题,期货交易采用基于TCP和UDP的期货报文交换协议,市面上没有针对性的测试工具。如果需要自动化,就需要编写C++代码来进行测试,这无疑对测试人员提出了很高的要求;

第二类问题则是我们的办理申报类业务,对HTTP接口测试的需求具有鲜明的特点。此类采用非私有协议的系统,大部分采用Java开发,通过HTTP接口进行交互。

而在这一环节中,我们需要和数据库进行比较。业务中有大量的表单填写和各种计算,需要对接口处理后的数据进行一定规则的校验。传统接口测试工具均无法支持数据库相关操作。

在这方面,我们也进行了一些尝试,今年疫情期间,我们开发了一版以HttpRunner为核心引擎的接口测试工具原型,结合自有Python操作Oracle封装的库,实现了和数据库结果的比较,但由于脚本编写内容多、UI不够便捷、文档不够清晰等一系列原因最终搁置了这一自研工具;

接口测试的另一个特点是具有复杂且长的流程性接口。对于很多审批、申报类业务,需要按照顺序和逻辑条件请求十几个接口,中间由不同的用户登录并操作,过程之繁琐远超微服务的无状态调用,对于很多长流程组成的场景,无论是手工测试还是编写自动化测试脚本都很复杂。

MeterSphere给我们带来的帮助

任何技术都有着自己的生命周期,从诞生到衰落也符合事物发展的客观规律。传统金融行业的互联网转型是漫长的,为了求稳,对于业内的众多新兴技术,并不会立刻采纳,但我们仍然持续关注相关理论、技术、工具及平台,争取成为早期技术红利的受益者。

2020年8月,在朱少民老师的公众号“软件质量报道”上第一次了解到了MeterSphere这个开源项目,并在9月的QECon大会上第一次见面。真的是“相见恨晚”呀!

经过一段时间的使用,我们逐步将MeterSphere开源持续测试平台引入到我们的业务场景测试之中,也收获了一些使用心得和体会。在这里和大家分享一下。

1.平台即服务

在使用MeterSphere之前,我们主要用Postman进行接口测试。与工具型的Postman相比,MeterSphere是一个持续测试的平台。MeterSphere的主要优势包含以下几点:

■ 搭建方便

MeterSphere基于Docker提供服务,并提供完备的私有化部署能力,支持一键安装和升级,整个过程非常流畅,体验良好。容器化的部署方式避免了测试人员安装工具的成本,搭建好平台后即可直接使用。

图1 MeterSphere支持一键安装和升级

■ 管理规范

MeterSphere能够实现组织、工作空间、项目、测试、场景等多级管理,角色权限分离,井井有条。它还可以与内部LDAP对接,使用起来非常方便。

图2 MeterSphere可与LDAP进行对接

图3 MeterSphere支持用户、组织和工作空间管理

2. 与MeterSphere的“一见钟情”

初次试用MeterSphere,就发现了它非同一般的易用性,提供接口测试解决方案上也恰好直击我们的痛点。我们选择了具体的业务组进行了试用推广,真的很香,主要的原因来自以下几个方面:

■ 调试功能

测试过程中常常需要调试,MeterSphere贴心地提供了调试按钮,可以立刻看到当前接口的执行情况,方便使用者及时调整,这方面体验和Postman完全一样。

图4 MeterSphere接口测试提供了与Postman类似的体验

■ 支持Python的前后置脚本

Postman支持使用JavaScript编写脚本,但我的同事们更熟悉Python,而MeterSphere支持Python的前后置脚本就给接口测试增加了更多的灵活性。在这方面,MeterSphere更具优势。

图5 MeterSphere支持Python的前后置脚本

■ 支持SQL语句

这应该是支持我的团队开始使用MeterSphere最关键的原因了。支持SQL就满足了我们在接口测试中50%的需求,结合自定义变量和数据库源配置及调试功能,可以非常便捷地编写用例。即使测试人员不会写代码只会写SQL,也可以通过简单的培训快速上手,相较于原有需要测试人员手动编写Python测试代码要便捷许多。

图6 MeterSphere在接口测试中支持SQL语句

图7 SQL请求返回结果

3. 支持测试跟踪和性能测试

除了我们主要关注的接口测试,MeterSphere也支持测试跟踪和性能测试。官方有意和我们目前正在使用的禅道平台打通,进行缺陷管理,这样工具就可以联动起来。对于性能测试的功能,我们也正在探索中,将接口测试用例一键转为性能测试用例,并辅以可视化施压曲线,非常直观,点个赞!

4. 与技术栈契合

基于Vue.js和SpringBoot的前后端分离程序是当前主流的技术实现方式,MeterSphere没有藏着掖着,核心功能代码全部开源,使用Swagger作为接口文档清晰易读,大大降低了二次开发和定制化的门槛。

5. 支持持续集成

MeterSphere提供了Jenkins插件用来打通持续集成,能够和内部的CI/CD流水线配合工作,提高自动化率。同时,基于前后端分离的设计,MeterSphere还能够便捷地通过自定义脚本触发接口批量执行。

使用情况

我们目前对MeterSphere的使用方法是在诸多测试团队中选择了一个典型团队进行试点推广,文中截图均来源于此团队的测试实践。具体项目由专职测试团队进行系统测试,充分设计场景和用例,开始逐渐将原有零散的用例向MeterSphere平台迁移,充分利用其管理能力和复用能力。当用例积累到一定规模后,可以便捷地展开冒烟和回归测试。

感受与评价

MeterSphere开源持续测试平台是一款经过细心雕琢的产品,易用性相较于之前接触过的开源工具有极大的提升。

社区的活跃度是评价一个开源项目的关键指标。没有社区哪来的生命力?MeterSphere团队的同学非常热情,积极协助我们解决使用中的各种问题,同时我们将发现的问题和意见建议提交Issue,官方再有选择地采纳,这就形成了一个良性的互补和循环,互相促进各自的产品质量持续提升,共同受益。

期待与建议

截至目前,MeterSphere每一个新版本都能解决多个切实关心的实际问题,并且积极采纳用户合理的意见和建议,永葆活力。希望MeterSphere开源项目不忘初心,在开源社区持续不断地茁壮成长,成为测试工程师们不可或缺的工具。

编者注:本文作者为郑州易盛信息技术有限公司测试中心效能组狄雨晨。

MeterSphere案例分享丨易盛信息MeterSphere接口测试使用经验相关推荐

  1. MeterSphere案例分享丨88完美邮箱全面提升产品质量的落地指南

    2019年,全球领先的文化娱乐产业集团完美世界拿下了"一定是东半球最贵的"顶级域名www.88.com.2020年8月8号,历时一年研发,88完美邮箱与大家正式见面.立足产品角度, ...

  2. 虹科案例分享丨世界领先的矿业公司(英美资源集团)与虹科-Atheer合作

    虹科案例分享丨世界领先的矿业公司(英美资源集团)与虹科-Atheer合作   摘要 世界领先的矿业公司之一.总部位于伦敦的英美资源集团(Anglo American)与虹科-Atheer合作,推动了劳 ...

  3. python 易盛行情_易盛信息9.0外盘期货行情数据API接口公共授权开发包例子代码...

    易盛信息9.0外盘期货行情数据API接口公共授权开发包例子代码 怎么才能获取到外盘期货行情数据API接口呢?不少朋友就会考虑到易盛9.0行情API接口,本身易盛就是一个软件提供商,提供行情API接口也 ...

  4. 性能测试方案_MeterSphere案例分享丨基于JMeter的性能测试方案演进之路

    目前,我在公司的测试团队中担任Leader,团队成员11人,以外包居多.外包同事在工作中遇到最多的问题是权限受限的问题.我们每次在完成SIT(System Integration Testing,系统 ...

  5. 频谱分析幅值单位_案例分享丨某水泥厂入窑斗提减速机不对中故障分析及处理...

    斗式提升机是利用均匀固接于无端奉引构件上的一系列料斗,竖向提升物料的连续输送机械.分为环链.板链和皮带三种.今天因大师将给大家分享一个水泥厂的入窑斗提减速机不对中故障的诊断案例. 1 设备概况 设备基 ...

  6. 案例分享丨红外自动感应门设计与实现详解

    主要内容 项目场景说明  人体红外传感器介绍  项目实现 一.项目场景 感应探测器探测到有人进入时,感应探测器将收集信号,生成脉冲信号,其后脉冲信号传给主控器,主控器判断后通知马达运行,同时监控马达转 ...

  7. 创新案例分享 | 临床研究数据信息互联互通,共创医疗新局面

    临床医学研究中心以临床应用为导向,以协同网络为支撑,开展临床研究.协同创新.学术交流.人才培养.成果转化.推广应用的技术创新与成果转化类国家科技创新基地.近年来,各大医院临床试验项目增速较快,为提高临 ...

  8. 正大国际期货:易盛软件系统的介绍

    作为期货市场比较知名的交易系统之一,易盛易星APP是由郑州商品交易所的子公司易盛信息出品的作为一款集市场和交易于一体的手机APP交易软件,EasyStar APP提供的数据直接来自交易系统网关,这是一 ...

  9. dataguru北京线下沙龙-第二部 《Oracle 索引优化思路--案例分享 -- 刘盛》

    [视频:dataguru北京线下沙龙-第二部 <Oracle 索引优化思路--案例分享 -- 刘盛> /微笑]

最新文章

  1. JavaScript深度学习
  2. 安装linux办公软件,Centos7如何安装开源办公软件Libreoffice
  3. JAVA-初步认识-第五章-数组-常见操作-最值
  4. phpcms2008常用函数
  5. Sentinel初始化监控_分布式系统集群限流_线程数隔离_削峰填谷_流量控制_速率控制_服务熔断_服务降级---微服务升级_SpringCloud Alibaba工作笔记0031
  6. Visual C#.Net网络程序开发-Tcp篇(1)
  7. SharePoint 2013 的HTML5特性之响应式布局
  8. 155.PHP中“==”运算符的安全问题
  9. deepin 应用市场安装软件失败_深度商店软件无法安装问题解决方案
  10. 齿轮计算机在线,齿轮参数计算器(萝卜花齿轮计算工具)9.5 中
  11. 光学三原色与色的三原色
  12. oracle 判断是否复数,第 14 章 使用复数运算库
  13. 复习单片机:流水灯(内含2种方法(左移操作符法+crol法)+设计思路+原始代码)
  14. 第三方广告平台admob聚合接入过程
  15. Node如何处理模块之间的关系
  16. 记录:nodejs 裁切图片的方法
  17. 60种数据可视化图表总结
  18. 安装cuda和Pytorch
  19. kali安装burpsuite专业版
  20. python和正则表达式抽取文本化的信息

热门文章

  1. html网页字体出现模糊,浏览器打开网页字体模糊问题的解决方法
  2. html word 批注,Word2013中显示批注的两种方法
  3. linux修改键盘按键
  4. 西部世界科普时间:FIL将从4月15日开始减产? 谣言!
  5. 晚上蜜蜂在巢门口大量集聚的原因
  6. 北斗由“高大上”转为“接地气” 芯片成国内智能手机标配
  7. DNS错误不能上网怎么办 电脑dns错误修复方法
  8. java取拼音首字母
  9. diskpart(diskpart转换GPT)
  10. 《网络攻防》 恶意代码分析