MeterSphere 版本管理功能变更记录
在 MeterSphere v2.6.0 版本中接口定义列表支持批量复制指定版本的CASE和Mock数据(X-Pack)
在 MeterSphere v2.5.0 版本中新增了接口置新功能(X-Pack),单接口的最新版本可*切换。
在 MeterSphere v2.5.0 版本中新增了首页增加“版本”统计口径(X-Pack),接口测试首页支持统计不同版本的数据指标,用户可以通过切换版本来查看数据覆盖的情况,更好地帮助用户掌握系统中用例的完成情况和执行情况。
在 MeterSphere v1.17.0 版本中新增了版本管理及版本对比相关功能(X-Pack),用户可以在 “项目设置” 菜单中的 “版本管理” 页面中选择是否启用版本管理功能,并在当前项目中新建版本或对已有的版本进行管理。在项目下启用版本管理功能后,便可以在功能用例、接口定义、接口自动化场景及性能测试的编辑页面中进行版本的切换、对比等操作。同时,在相应的列表中,用户也可以通过 “版本切换” 下拉框展示指定版本下的内容。
1. MeterSphere 版本管理功能背景介绍
1.1 业务背景
软件测试的版本控制有两个方面的作用:一个方面是标记历史上产生的每个版本的版本号和测试状态,另一个方面是保证测试人员得到的测试版本是最新的版本。所谓版本控制其实就是跟踪标记测试过程中的软件版本,以方便对比的一个过程,通过版本控制来表明各个版本之间的关系,和不同的软件开发测试阶段。从而 方便测试工作的进行。版本控制是测试人员不可缺少的一种技术。有了软件测试的版本控制,测试人员在软件测试工作可以更加高效并且有针对性的进行。
1.2 业务场景
在软件测试项目中,测试人员将测试过程中发现的bug提交给开发人员,开发人员在对测试人员提交的bug进行修改,在对这些bug修改后开发人员会将修改后的代码放入当前的软件版本之中,因为对于修改过的代码,我们不能够保证他们一定是正确的,很可能在开发人员修改过之后,仍然是错误的,或者在修改过之后仍然会给软件带来别的问题。这种情况下就会给软件测试人员的测试工作带来新的麻烦。
因此引入版本控制,将修改后的代码放入程序中,存成新版本。流程为:测试人员要测试开发人员提交的代码,将测试过程中查找到的bug进行提交。而当测试人员提交的bug到了开发人员手中之后,开发人员要针对这些bug进行修复工作,测试人员在完成这一轮的测试工作后,在对新的版本也就是对经过开发人员修改过得下一个版本展新一轮的测试。
2. MeterSphere 版本管理
2.1 新建启用版本
以产品迭代周期为一个月,在项目设置-版本管理中新建版本信息;
可选择是否启动版本管理,如不开启版本管理,页面也将不显示第三部分'版本使用'版本相关信息
一个项目可以新建并开启多个版本,但只能设置一个版本为最新版本
以下介绍以及截图均以项目最新版本为v3.0
2.2 服务对象
企业中的决策者、测试负责人、业务运营、数据研发。
3. MeterSphere 版本使用
前提:当前项目开启版本管理 注:本文章使用metersphere2.5.0环境
3.1 接口在不同版本中使用
特殊说明:2.5版本目前不支持批量编辑用例版本;不支持批量置新功能;
3.1.1 用例列表默认展示
正常每个项目都有最新版本如v3.0,项目中的每个用例也会有各自不同的最新版本,如v1.0,v2.0
在功能或接口用例列表页面,列表默认展示所有接口的最新版本数据,即按用例的最新版本数据展示。
在版本管理中关闭v2.0版本,用例列表依然会显示最新版本是v2.0的接口;
3.1.2 用例列表版本筛选
可使用列表的版本筛选功能,查询各个版本的数据
特殊说明:2.5.0版本左侧模块树用例数变化仅针对右上角简单搜索框,不包括高级搜索和版本搜索
3.1.3 用例版本查看
在用例列表的版本是最新版本,在用例详情右上角点击版本,可以查看用例在各个版本的存在情况;
版本管理关闭某版本后,该版本的所有用例,进行详情页,均无版本入口。
进入该用例的详情页面,无版本入口原因:接口所在版本v2.0被关闭;
在版本管理中关闭v2.0版本,用例详情页面不展示已关闭版本;
3.1.4 用例版本新建/切换/置新
原始用例在v1.0版本,在详情页面右上角,点击版本后,新建用例到v2.0
新建后用例自动切换到版本v2.0,用例详情页当前版本不支持切换删除等操作;
新建后此接口的最新版本还是v1.0,不会自动变为v2.0,可通过‘...’的设为最新版本;
新建用例到项目最新版本3.0,接口的最新版本自动为项目版本3.0;
当接口在项目最新版本新建后,不能设置用例到其他版本为最新版本;
MeterSphere 版本管理(xpack)使用
3.1.5 用例版本对比
只能是同一接口两个版本间对比,如下图,版本对比不一致的地方将高亮显示出来
3.1.6 用例版本删除
- 在用例详情页,不能删除当前用例的当前版本(切换到哪个版本,哪个版本就不能删除);
- 当用例无项目最新版本v3.0时,用例在v1.0和2.0都存在,当删除接口的最新版本v1.0时,用例的最新版本自动为v2.0;
- 当用例有项目最新版本v3.0时,且用例在v1.0和2.0都存在,当删除接口的最新版本v3.0时,用例的最新版本自动为v2.0(此时最新版本的规则优先级为:接口在其它版本的更新时间);
- 在用例列表批量删除接口后,该接口的全部版本都将被删除;
- 在用例列表单个删除用例时,可选择删除列表版本,还是全部版本;
3.1.6 支持批量复制指定版本的CASE和MOCK数据
在实际项目测试过程中会经常遇到接口变更的情况,接口每更新一个版本就需要进行新一轮测试。而针对变更比较小的接口,比如新增了一个参数,这时候用户希望可以快速复制上一个版本的CASE,针对这些CASE再添加相应的参数即可覆盖新版本的测试。
为了满足这一测试需求,在MeterSphere v2.6.0版本中,新增了“复制版本数据”批量处理的功能,用户可以将指定版本的CASE和Mock数据复制到当前版本中。
3.2 批量导入接口与版本的关联
3.2.1 导入说明
导入说明 :
注:导入文件包含多种协议,需切换协议多次导入
开启 URL 可重复,接口名称+请求类型+请求路径一致则判断为同一接口
未开启 URL 可重复,请求类型+请求路径一致则判断为同一接口
覆盖模式 :
- 如勾选“同步覆盖 API 模块”选项,则 API 模块为导入文件中指定的模块
- 系统已存在的同一接口,内容不一致则覆盖系统原接口
- 系统已存在的同一接口,内容一致则不做变更
- 系统不存在的接口则新增
不覆盖模式 : - 系统已存在的同一接口,则不做变更
- 系统不存在的接口则新增
3.2.1.1 导入接口模块说明
3.2.1.2 导入接口判断是否为同一接口说明
TCP、SQL、DUBBO请求,同项目同模块同版本下,接口名称相同就是同一接口
针对HTTP请求,同项目同模块同版本下,分为接口定义是否开启url可重复两种情况
未开启 URL 重复:请求类型+路径相同则为同一接口,如:
开启 URL 重复:接口名称+请求类型+路径相同则为同一接口,如:
3.2.2 初次导入
初次导入新接口文件,导入模式默认不覆盖,不用修改即可;
如不指定导入版本,默认导入当前项目的最新版本。
3.2.3 有新增和修改的接口文件导入(接口非首次导入)
实际应用场景举例:
v1.0版本,导入研发提供的接口文件,在ycr模块,产生了3个接口,进行测试;
v2.0版本,导入研发提供的基于存量3个接口,有1个新增接口和1个修改接口,一共4个接口的文件,部分接口的父模块名称也有变化,使用下面的导入配置,将新增接口导入v.3.0,修改接口导入v2.0。将新增和修改的接口作为下一版本迭代,同时也可进行对比功能进行用例回顾。
注:修改接口的url,属于新增接口;修改接口的请求参数等,为修改接口;
此时接口的模块为新模块:ycr新模块,页面展示接口的最新数据如下图: