年度发布 | MeterSphere一站式开源持续测试平台发布v2.10 LTS版本

2023年5月25日,MeterSphere一站式开源持续测试平台正式发布v2.10 LTS版本。这是继2022年5月发布v1.20 LTS版本后,MeterSphere开源项目发布的第三个LTS(Long Term Support)版本。MeterSphere开源项目组将对MeterSphere v2.10 LTS版本用户提供长期支持,每两周发布小版本,持续进行问题修复更新并针对部分功能进行优化。
MeterSphere开源项目组深入践行“一站式持续测试平台”的设计理念,自v1.20 LTS版本起已实现了对测试跟踪、接口测试、UI测试和性能测试的一站式覆盖。随着广大开源社区用户在不同行业、不同领域深度落地使用MeterSphere,用户在功能覆盖上对MeterSphere提出了更多的期望,在使用体验上对MeterSphere提出了更高的要求,MeterSphere开源项目在系统稳定性、性能和安全性等方面面临挑战。
本次发布的MeterSphere v2.10 LTS版本在测试能力、用户体验、系统架构、系统安全四大方面进行了关键性的升级与优化,为用户带来全面升级的使用体验。
一、测试能力升级
■ 一站式测试能力增强
MeterSphere v2.10 LTS版本在测试管理与测试执行上采用一站式平台设计,在交付功能测试、接口测试、UI测试、性能测试能力的同时,规避了测试人员执行测试任务时因工具繁多、种类差异化而导致的无法沉淀和无法追溯的问题。MeterSphere平台全面承载不同类型的测试用例、API、测试数据、测试环境等关键资产的集中管理。

MeterSphere的功能测试模块支持以脑图模式编写用例,用户可以在线进行用例评审与用例执行,缺陷管理与主流项目管理工具(例如JIRA、TAPD、禅道等)集成,缺陷数据双向同步。功能用例可以关联其对应的自动化(包括接口、UI、性能)用例,运行自动化用例可以同步更新功能用例结果,实现功能用例与自动化用例在线联动;
MeterSphere的UI测试模块支持在线编辑或Selenium IDE录制两种方式编写用例,基于页面对象模型,提供自定义指令和“搭积木”式的场景编排能力,复用性强。用户可以在本地或服务端进行UI用例执行,基于Grid的强大扩展能力,UI测试也支持多节点分布式运行;
MeterSphere的接口测试模块全面兼容JMeter、Postman、Swagger等数据格式,支持IDEA插件和MeterSphere Chrome浏览器插件直接导入API数据进行API、接口用例以及接口场景的管理。接口用例和接口场景也可以一键生成性能测试用例,基于JMeter测试引擎完成性能测试;
MeterSphere v2.10 LTS版本的测试计划模块支持同时添加不同项目(应用系统)的功能用例、接口用例、UI用例和性能用例。测试计划自身支持手动执行、定时任务、Jenkins插件触发等多种执行方式,并且能够在测试计划执行过程中在线生成多种用例类型汇总的测试报告。
自此,MeterSphere平台实现了一个测试计划覆盖全部测试类型的应用场景,进一步提升了测试工作的集中化、规范化、自动化的执行能力和效率。
■ 测试管理能力增强
在MeterSphere v2.10 LTS版本中,测试计划功能进行了增强,覆盖功能用例、接口用例、UI用例和性能用例。
测试计划执行支持串行和并行两种模式,同时支持配置失败重试机制,用户可以自定义重试次数以提升自动化测试执行的成功率,避免因网络、环境因素导致误报。

在MeterSphere v2.10 LTS版本中,用例评审功能进一步增强,支持多人评审模式。多人评审模式需要所有评审人参与评审活动,只有全部评审通过,用例的最终评审状态才会更新为“通过”状态。多人评审模式能够推动评审活动更加规范和严谨,最大程度上规避评审环节的相关风险。

■ 接口测试能力增强
在MeterSphere v2.10 LTS版本中,接口测试重点解决了“API发生变更一键更新接口用例”的问题。
在MeterSphere平台中进行API变更,用户可以自定义同步要素将变更内容一键同步给用例,用例更新后引用该用例的场景也会同步更新。通过数据导入方式导致的API变更,系统会根据用户自定义的数据流入规则将符合条件的接口用例展示在工作台的待更新列表中,用户可以逐条或者批量同步API的指定信息或全部信息,将其更新至接口用例中。

■ UI测试能力增强(X-Pack增强包)
在MeterSphere v2.10 LTS版本中,UI测试模块针对Selenium原生指令进行了进一步扩展,以覆盖特殊测试场景。例如,扩展后的拖拽指令支持从一个坐标位置到目标坐标位置,添加多个坐标位置可以覆盖绘图场景。

在MeterSphere v2.10 LTS版本中,UI测试与项目环境正式打通,用户可以将设计好的自动化脚本在不同环境中执行,进一步提高UI测试用例的可复用性。

■ 性能测试能力增强
在MeterSphere v2.10 LTS版本中,性能测试实时报告的计算能力增强。将性能测试生成的jtl文件分成小段,分段计算结果,节省了磁盘空间和IO性能,覆盖了高强度、持续性的压测场景,同时也提升了报告生成的效率。

二、用户体验升级
■ 测试跟踪首页、接口测试首页UX交互升级
在MeterSphere v2.10 LTS版本中,接口测试模块首页示例图如下。首页UX交互设计将核心指标与明细指标分层展示,视觉上避免了因数据过多产生的视觉疲劳。

■ 测试跟踪模块功能用例UX交互升级
在MeterSphere v2.10 LTS版本中,测试跟踪模块的“功能用例”页面进行了全新的交互升级,整个页面采用轻量化设计进行了整体降噪,页面信息更加清晰易懂,操作流程更顺畅,用户体验得到了整体提升。
在测试跟踪模块的“功能用例”列表页中,对功能操作与信息展示进行了分区,页面中心位置展示用例列表信息,功能操作分布于页面的顶部和底部。

“用例详情”页面布局进行了全新的调整,用例详情与用例其他关联信息以多个Tab的方式分类展示,用例基础信息展示在页面右侧,整体页面更加聚焦。

除此之外,MeterSphere v2.10 LTS版本还进行了以下高频使用功能的体验优化:
■ 测试跟踪:高级搜索支持输入多个标签进行搜索;
■ 测试跟踪:脑图用例删除时增加二次确认;
■ 接口测试:接口测试批量添加请求参数时自动去空格处理;
■ 接口测试:支持通过路径搜索;
■ 接口测试:接口测试列表展示定时任务列;
■ 接口测试:固定单接口用例执行按钮的位置;
■ 接口测试:运行环境列表支持模糊搜索;
■ 接口测试:单步调试用例或场景步骤时响应内容自动展开;
■ 接口测试:接口TEST支持保留最近一次的执行记录;
■ 性能测试:测试报告增加图表单位展示;
■ 通用功能:标签字数过多时的展示优化。
三、系统架构升级
■ 系统架构升级为微服务架构
MeterSphere v2.10 LTS版本采用了微服务架构,既能满足用户按需配置、水平扩展的需求,又能有效规避单个服务故障导致整体服务不可用的现象。

■ 平台扩展能力增强
作为一款一站式的持续测试平台,MeterSphere既需要与各种周边系统进行集成对接,也需要支持各种不同协议的接口测试,灵活的插件体系可以很好地解决平台扩展性的问题。用户可以按需安装、开发各种形式的插件以覆盖不同场景的测试及对接需求。
MeterSphere v2.10 LTS版本支持通过插件的方式与其他工具和系统进行集成。MeterSphere的Jenkins插件可以很好地融入企业DevOps流水线,实现自动化部署和持续交付。在提升协作效率方面,MeterSphere的IDEA插件可以将HTTP接口直接同步到MeterSphere平台进行管理。在统一项目管理方面,MeterSphere支持与JIRA、TAPD、禅道等主流项目管理工具集成,用户可以安装所需的插件实现测试用例与需求的关联,同时可以实现缺陷的双向同步。
除此之外,MeterSphere也扩展了一些特殊协议类的插件,例如WebSocket、MQTT、gRPC等,用户可以安装所需的插件在MeterSphere平台进行这些协议的接口测试。
MeterSphere v2.10 LTS版本支持的插件(部分)列表如下:

■ 性能优化
1.UI测试批量执行性能优化
MeterSphere v2.10 LTS版本对UI测试的执行策略进行了重新设计,解决了大批量UI测试用例执行时会导致内存泄漏的问题,降低了资源占用率,将UI服务的内存分配由2GB优化到1GB,以满足更大批量测试任务,提升了UI测试的整体执行效率和成功率。

注:据深度使用MeterSphere UI测试模块(使用版本为v2.8.0)的用户反馈,在整体资源配置不变的情况下,160个UI场景并行执行,由原来的120分钟执行完成,提效至33分钟即可执行完成。
2.测试计划执行效率优化
在MeterSphere v2.10 LTS版本中,针对高频使用的测试计划执行功能,从生成执行脚本到执行资源查询,到资源分配策略,再到最后的执行结果入库分片存储,每一个环节都进行了深度优化,提升了多个测试计划并行执行的效率。在实时生成测试报告的过程中,对测试计划报告涉及到的资源查询及统计算法进行优化,提高页面渲染效率,解决了用户反馈的大批量测试执行时的系列问题。
注:据深度使用MeterSphere测试计划功能(使用版本为v2.9.1)的用户反馈,通过测试计划的定时任务并行执行超过2000个自动化测试用例进行核心场景的回归测试,均能稳定运行。
3.接口测试执行过程附件加载优化
加载机制从实时获取优化为本地缓存加文件服务(MinIO)中按需获取。

除此之外,MeterSphere v2.10 LTS版本还进行了以下常用功能的性能优化:
① 左侧模块树效率优化;
② 登录系统加载耗时性能优化;
③ 批量导出大数据量用例性能优化;
④ 测试计划批量关联大数据量用例性能优化。
■ 运行稳定性提升
用户对于MeterSphere平台的使用规模很多时候总会超乎我们的想象。在MeterSphere v2.10 LTS版本的迭代过程中,我们接触了很多大规模、高频次使用MeterSphere开展日常测试工作的案例,包括脑图模式下编辑大量功能用例,大批量的接口测试、UI测试执行,高并发、高TPS的性能测试等众多使用场景,这些场景给MeterSphere带来了很大的挑战,但经过我们的不懈优化最终都达到了让用户满意的效果。
MeterSphere v2.10 LTS版本不仅包含以上所有真实使用案例中的稳定性优化改进,还经过了我们长达三个月的内部测试和部分用户的灰度测试。
服务运行列表:

四、系统安全升级
作为一款开源的企业级软件,产品的安全性至关重要。MeterSphere开源项目组非常重视产品的安全性,自项目发布以来,我们一直与第三方的安全测试团队及个人保持着紧密沟通,在第一时间修复反馈给我们的安全性问题,并在修复后即时通知用户进行处理。
在MeterSphere v2.10 LTS版本中,我们着重处理了由接口测试自定义脚本带来的安全风险。自定义脚本功能是接口测试中十分常用也十分重要的功能,该功能极大地提高了接口测试的灵活性,拓展了 MeterSphere平台的能力边界。但也由于这样的特性,导致接口测试自定义脚本的执行可能会带来一些安全风险,例如在脚本中引入死循环、误操作了服务器上的重要文件等。针对这种情况,我们在当前版本中进行了如下处理来规避潜在的安全风险。
■ 接口测试禁用本地执行
在之前的版本中,接口测试提供了本地执行(即在接口测试服务中直接执行)和资源池执行两种方式。MeterSphere v2.10 LTS版本禁用了接口本地执行方式,与性能测试一样,当接口调试或运行时会在指定的资源池上运行,同时资源池节点上的node-controller服务默认以容器方式运行。这样一来,即便存在上述用例设计不当的问题也只会影响到对应资源池节点上的node-controller容器,接口测试主体服务还可以正常使用,node-controller所在服务器也不会受到影响。
注意:当存在多个可用的测试资源池时,可以选择“项目设置”→“应用管理”→“接口测试”,在菜单中配置接口执行的默认资源池。

■ 测试用例脚本预警通知
除了禁用本地执行,为接口测试提供沙箱执行环境外,MeterSphere v2.10 LTS版本还增加了主动预警机制。当用户保存或修改的用例中包含脚本的内容时可以配置指定用户审核,当系统检测到包含脚本的用例时会触发系统消息通知,指定审核人对该脚本进行审核。
除了上述针对执行自定义脚本采取的安全措施外,我们在此期间还修复了以下公开漏洞,仍在使用受影响版本的用户请尽快进行升级。

总结
在MeterSphere开源项目创立的三年时间里,MeterSphere开源项目组累计收到了超过1500名社区用户提交的7800多个GitHub Issue。MeterSphere v2.10 LTS版本经历了10个功能版本的迭代,期间有来自全国19个城市的123名用户参与填写了用户使用调查问卷进行反馈,有15家企业的测试团队同MeterSphere的产品团队进行了累计1350分钟的深度沟通,帮助MeterSphere开源项目组进一步完善产品功能和使用体验。
感谢广大社区用户和企业客户的信任和支持。MeterSphere开源项目组会坚守初心,做出一款好用的工具平台,帮助企业中不同规模的测试团队落地“持续测试”理念,加速高质量的软件交付,推动中国测试行业整体效率的提升。
因为热爱,快意成长。
相关文章:
年度发布 | MeterSphere一站式开源持续测试平台发布v2.10 LTS版本
2023年5月25日,MeterSphere一站式开源持续测试平台正式发布v2.10 LTS版本。这是继2022年5月发布v1.20 LTS版本后,MeterSphere开源项目发布的第三个LTS(Long Term Support)版本。MeterSphere开源项目组将对MeterSphere v2.10 LTS版…...
从 OceanBase 迁移数据到 DolphinDB
OceanBase 是一款金融级分布式关系数据库,具有数据强一致、高可用、高性能、在线扩展、高度兼容 SQL标准和主流关系数据库、低成本等特点,但是其学习成本较高,且缺乏金融计算函数以及流式增量计算的功能。 DolphinDB 是一款国产的高性能分布…...
淘宝商品列表数据接口(支持价格、销量排序)
淘宝商品列表数据接口是淘宝提供的一种可以获取淘宝商品信息的接口。通过该接口,可以获取到具有一定规则的商品信息,例如按照价格排序、按照销量排序等。接口返回的数据格式为JSON格式,可以方便地处理数据。 我们可以通过调用淘宝提供的API&…...
Android 11 版本变更总览
Android 11 版本 Android 11 总览重大隐私权变更行为变更:所有应用行为变更:以 Android 11 为目标平台的应用功能和 API 概览Intent系统广播 intent(API 级别 30)通用应用 intent(API 级别 30) Android 11 …...
传染病学模型 | Matlab实现基于SIS传染病模型模拟城市内人口的互相感染及城市人口流动所造成的传染
文章目录 效果一览基本描述模型介绍程序设计参考资料效果一览 基本描述 传染病学模型 | Matlab实现基于SIS传染病模型模拟城市内人口的互相感染及城市人口流动所造成的传染 模型介绍 SIS模型是一种基本的传染病学模型,用于描述一个人群中某种传染病的传播情况。SIS模型假设每个…...
物联网技术如何改变我们的生活:一位资深物联网专家的见解
物联网(IoT)是指通过网络互联的物理设备、车辆、建筑物以及其他物品,这些物品都内置了传感器、执行器、软件和网络连接器,使它们能够收集和交换数据。物联网技术已经在各个领域产生了深远的影响,包括家庭、医疗、交通、…...
node.js+vue.js大学生在线选课系统的设计与实现93pul
本次设计任务是要设计一个选课系统的设计与实现,通过这个系统能够满足用户对选课信息的需求。系统的主要功能包括:个人中心、学生管理、教师管理、选课信息管理等功能。 管理员可以根据系统给定的账号进行登录,登录后可以进入选课系统的设计与…...
华为OD机试真题 Java 实现【寻找符合要求的最长子串】【2023Q1 200分】
一、题目描述 给定一个字符串 s ,找出这样一个子串: 该子串中的任意一个字符最多出现2次;该子串不包含指定某个字符;请你找出满足该条件的最长子串的长度。 二、输入描述 第一行为要求不包含的指定字符,为单个字符,取值范围[0-9a-zA-Z]。 第二行为字符串s,每个字符范…...
接口测试工具Postman接口测试图文教程
目录 一、前言 二、Postman安装和使用 三、请求方式 四、资金记录接口实例演示 一、前言 在前后端分离开发时,后端工作人员完成系统接口开发后,需要与前端人员对接,测试调试接口,验证接口的正确性可用性。而这要求前端开发进…...
视频编辑软件:迅捷视频工具箱
这是一款功能强大、易于使用的视频编辑工具,支持视频剪辑、视频转换、音频转换、视频压缩、视频水印、字幕贴图等实用功能,可以帮助你制作出高质量的视频作品。(传送门:https://www.xunjiepdf.com/xjspgjx) 功能简介 …...
网络知识点之-HTTP协议
超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而消息内…...
K类函数和KL类函数
Class K \mathcal{K} K function- K \mathcal{K} K类函数 Definition: A continuous function α : [ 0 , a ) → [ 0 , ∞ ) \alpha:[0,a)\rightarrow[0,\infin) α:[0,a)→[0,∞) is said belong to class K \mathcal{K} K if it strictly increasing and α ( 0 ) 0 …...
华为OD机试之完美走位(Java源码)
完美走位 题目描述 在第一人称射击游戏中,玩家通过键盘的A、S、D、W四个按键控制游戏人物分别向左、向后、向右、向前进行移动,从而完成走位。 假设玩家每按动一次键盘,游戏任务会向某个方向移动一步,如果玩家在操作一定次数的键…...
Vue 原始(传统)或特别的视频组件具体实现方法
一、原始的播放器组件(传统的视频播放组件) 参考链接 1. Vue2视频播放(Video) 二、自定义视频播放组件,自播放,无控制模式 简单点的理解,就是没有点击就会暂停播放视频,还有忽略…...
香豆素荧光标记652966-03-5,ATTO425 acid,ATTO 425 羧酸,进行简析说明
中文名称:ATTO 425 羧酸 英文名称:ATTO425 COOH,ATTO-425 carboxylic acid 规格标准:10mg,25mg,50mg CAS:652966-03-5 分子式:C22H27NO6 分子量:401.46结构式:…...
linux信号量与PV操作知识点总结
信号量 信号量(semaphore) 与已经介绍过的 IPC 结构不同,它是一个计数器,信号量用于实现进程间的与斥与同步,而不是用于存储进程间通信数据。 1、特点 (1)信号量用于进程间同步,若要在进程间传递数据需要结…...
6-python中的string类型
目录 内容提要字符串截取python的转义字符 \python的字符串格式化format()的参数format()的数字格式化 字符串常用函数count()函数endwith()函数 与 startwith()函数find()函数与index()函数find()函数 ⭐index()函数 判断字符串内的字符种类函数isalnum()函数isalpha()函数isd…...
Windows系统内核溢出漏洞提权
目录 Windows内核溢出漏洞原理 溢出漏洞简介 什么是缓冲区 缓冲区溢出 缓冲区溢出目的 Windows内核溢出漏洞利用流程 提权实战思路 手工提权测试 辅助提权 EXP如何寻找 使用MSF提权 关于提权时可能遇到的问题 如果提权的时候发现无法执行命令的话,可以上…...
BlackIce病毒分析
概述 blackice是一个古老的感染型病毒,可感染系统中exe、doc和xls文件,通过USB设备和网络驱动器来传播,会向C&C下载pe执行,会关闭常用的杀软进程。下面找了一个样本,这个样本的代码结构清晰,用IDA pro…...
软件测试基础知识整理(八)- 软件缺陷
目录 一、软件缺陷 1.1 缺陷定义 1.2 缺陷判定标准 1.3 软件缺陷产生的原因 1.4 软件缺陷产生的根源 1.5 软件缺陷信息 1.5.1 缺陷状态 1.5.2 缺陷严重程度 1.5.3 缺陷优先级 1.6 缺陷报告模板 1.7 缺陷报告注意事项 1.8 缺陷跟踪流程 1.9 缺陷数据分析关注的问题 …...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...
【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)
前言: 双亲委派机制对于面试这块来说非常重要,在实际开发中也是经常遇见需要打破双亲委派的需求,今天我们一起来探索一下什么是双亲委派机制,在此之前我们先介绍一下类的加载器。 目录 编辑 前言: 类加载器 1. …...
实战三:开发网页端界面完成黑白视频转为彩色视频
一、需求描述 设计一个简单的视频上色应用,用户可以通过网页界面上传黑白视频,系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观,不需要了解技术细节。 效果图 二、实现思路 总体思路: 用户通过Gradio界面上…...
ZYNQ学习记录FPGA(一)ZYNQ简介
一、知识准备 1.一些术语,缩写和概念: 1)ZYNQ全称:ZYNQ7000 All Pgrammable SoC 2)SoC:system on chips(片上系统),对比集成电路的SoB(system on board) 3)ARM:处理器…...
【安全篇】金刚不坏之身:整合 Spring Security + JWT 实现无状态认证与授权
摘要 本文是《Spring Boot 实战派》系列的第四篇。我们将直面所有 Web 应用都无法回避的核心问题:安全。文章将详细阐述认证(Authentication) 与授权(Authorization的核心概念,对比传统 Session-Cookie 与现代 JWT(JS…...
DAY 26 函数专题1
函数定义与参数知识点回顾:1. 函数的定义2. 变量作用域:局部变量和全局变量3. 函数的参数类型:位置参数、默认参数、不定参数4. 传递参数的手段:关键词参数5 题目1:计算圆的面积 任务: 编写一…...
基于开源AI智能名片链动2 + 1模式S2B2C商城小程序的沉浸式体验营销研究
摘要:在消费市场竞争日益激烈的当下,传统体验营销方式存在诸多局限。本文聚焦开源AI智能名片链动2 1模式S2B2C商城小程序,探讨其在沉浸式体验营销中的应用。通过对比传统品鉴、工厂参观等初级体验方式,分析沉浸式体验的优势与价值…...
何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡
何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡 背景 我们以建设星云智控官网来做AI编程实践,很多人以为AI已经强大到不需要程序员了,其实不是,AI更加需要程序员,普通人…...
