【最佳实践】MeterSphere 版本管理(X-Pack)使用说明


飞致云 发布于 2023-02-03 / 746 阅读 / 0 评论 /
在 MeterSphere v1.17.0 版本中新增了版本管理及版本对比相关功能(X-Pack),用户可以在 “项目设置” 菜单中的 “版本管理” 页面中选择是否启用版本管理功能,并在当前项目中新建版本或对已有的版本进行管理。在项目下启用版本管理功能后,便可以在功能用例、接口定义、接口自动化场景及

在 MeterSphere v1.17.0 版本中新增了版本管理及版本对比相关功能(X-Pack),用户可以在 “项目设置” 菜单中的 “版本管理” 页面中选择是否启用版本管理功能,并在当前项目中新建版本或对已有的版本进行管理。在项目下启用版本管理功能后,便可以在功能用例、接口定义、接口自动化场景及性能测试的编辑页面中进行版本的切换、对比等操作。同时,在相应的列表中,用户也可以通过 “版本切换” 下拉框展示指定版本下的内容。在 V2版本中,对版本管理功能进行了增强,包括:首页增加“版本”统计口径(X-Pack),接口定义列表支持批量复制指定版本的CASE和Mock数据(X-Pack)等。本文以 MeterSphere V 2.5 版本为基础,详细说明版本管理功能的使用方法。

1. 版本管理场景介绍

在软件测试项目中,测试人员将测试过程中发现的bug提交给开发人员,开发人员在对测试人员提交的bug进行修改,在对这些bug修改后开发人员会将修改后的代码放入当前的软件版本之中,因为对于修改过的代码,无法保证缺陷一定已经修复或没有引起其它问题的,很可能在开发人员修改过之后,仍然是错误的,或者在修改过之后仍然会给软件带来别的问题。这种情况下就会给软件测试人员的测试工作带来新的麻烦。因此引入版本控制,将修改后的代码放入程序中,作为新的软件版本。流程为:测试人员要测试开发人员提交的代码,将测试过程中查找到的bug进行提交。而当测试人员提交的bug到了开发人员手中之后,开发人员要针对这些bug进行修复工作,测试人员在完成这一轮的测试工作后,在对新的版本也就是对经过开发人员修改过得下一个版本展新一轮的测试。

软件测试的版本控制有两个方面的作用:一个方面是标记历史上产生的每个版本的版本号和测试状态,另一个方面是保证测试人员得到的测试版本是最新的版本。所谓版本控制其实就是跟踪标记测试过程中的软件版本,以方便对比的一个过程,通过版本控制来表明各个版本之间的关系,和不同的软件开发测试阶段。从而 方便测试工作的进行。版本控制是测试人员不可缺少的一种技术。有了软件测试的版本控制,测试人员在软件测试工作可以更加高效并且有针对性的进行。

2. MeterSphere 版本管理

在项目设置-版本管理中启动版本管理,一个项目可以新建并开启多个版本,但只能设置一个版本为最新版本。

2.1 用例版本的显示与查询

正常每个项目都有最新版本,如v3.0,并且项目中的每个用例也会有各自不同的最新版本,如v1.0,v2.0,在功能或接口用例列表页面,默认展示当前项目版本下所有接口的最新版本数据。

在用例详情右上角点击版本,可以查看用例在各个版本的情况

如果版本管理关闭版本管理后版本后,该版本的所有用例则无版本入口,见下图:

在版本管理中关闭某一版本,例如v2.0,则在用例详情页面不展示已关闭版本

2.2 用例版本新建/切换/置新

原始用例在v1.0版本,在详情页面右上角,点击版本后,新建用例到v2.0

新建后此接口的最新版本还是v1.0,不会自动变为v2.0,可通过‘...’的设为最新版本;

2.3 用例版本对比

针对同一接口不同版本之间进行对比,版本对比不一致的地方将高亮显示出来,如下图:

2.4 用例版本删除

  • 在用例详情页,不能删除当前用例的当前版本(切换到哪个版本,哪个版本就不能删除);

  • 当用例无项目最新版本v3.0时,用例在v1.0和2.0都存在,当删除接口的最新版本v1.0时,用例的最新版本自动为v2.0;

  • 当用例有项目最新版本v3.0时,且用例在v1.0和2.0都存在,当删除接口的最新版本v3.0时,用例的最新版本自动为v2.0(此时最新版本的规则优先级为:接口在其它版本的更新时间);

  • 在用例列表批量删除接口后,该接口的全部版本都将被删除;

  • 在用例列表单个删除用例时,可选择删除列表版本,还是全部版本;

2.5 接口导入与版本的关联

2.5.1 导入接口说明

导入说明 :
注:导入文件包含多种协议,需切换协议多次导入
开启 URL 可重复,接口名称+请求类型+请求路径一致则判断为同一接口
未开启 URL 可重复,请求类型+请求路径一致则判断为同一接口
覆盖模式 :

  1. 1. 如勾选“同步覆盖 API 模块”选项,则 API 模块为导入文件中指定的模块

  2. 2. 系统已存在的同一接口,内容不一致则覆盖系统原接口

  3. 3. 系统已存在的同一接口,内容一致则不做变更

  4. 系统不存在的接口则新增

  5. 4. 不覆盖模式 :

  6. 5. 系统已存在的同一接口,则不做变更

  7. 6. 系统不存在的接口则新增

2.5.2 导入接口判断是否为同一接口说明

TCP、SQL、DUBBO请求,同项目同模块同版本下,接口名称相同就是同一接口

对于HTTP请求,同项目同模块同版本下,还需要根据「接口定义是否开启url可重复」进行具体判断情况

  • 开启「接口定义URL可重复」

  • 未开启「接口定义URL可重复」

2.5.3 初次导入

初次导入新接口文件,导入模式默认不覆盖,不用修改即可,如不指定导入版本,默认导入当前项目的最新版本。

2.5.4 非首次导入(有新增和修改)

实际应用场景举例,假设在v1.0版本,导入研发提供的接口文件,在ycr模块,产生了3个接口,进行测试;

而在v2.0版本,导入研发提供的基于存量3个接口,有1个新增接口和1个修改接口,一共4个接口的文件,部分接口的父模块名称也有变化,使用下面的导入配置,将新增接口导入v.3.0,修改接口导入v2.0。将新增和修改的接口作为下一版本迭代,同时也可进行对比功能进行用例回顾。

注:修改接口的url,为新增接口;修改接口的请求参数等,为修改接口;

此时接口的模块为新模块:ycr新模块,页面展示接口的最新数据如下图:

接口非首次导入版本控制逻辑总结:



是否对你有帮助?