MeterSphere重构

7 篇文章 1 订阅
1 篇文章 0 订阅

MeterSphere重构

背景

最近公司要做一个测试平台,主要功能涉及了产品,开发和测试三方的业务联动。其实在业界已经有了很多类似的开源平台,例如阿里的云效,腾讯的tapd,还有很多其他的云测试平台。由于涉及到公司的信息安全问题,公司内部希望能够自研一款对内的测试平台,解决产研测一体化的问题。通过对市面上各种竞品调研,最终选定了metersphere这款测试平台进行二次开发。
最主要原因就是我们人太多了,testrail收费太贵。其次是希望我们有一个平台可以来做我们的测试过程管理。

TestRail不足或缺点?
对比老的系统,Metersphere的优点是什么?
1、信息安全问题
2、为公司每年节约50万的成本
3、流程管理可以自己管控

产品介绍

MeterSphere 是一站式开源持续测试平台,涵盖测试跟踪、接口测试、性能测试、团队协作等功能,兼容JMeter 等开源标准,有效助力开发和测试团队充分利用云弹性进行高度可扩展的自动化测试,加速高质量软件的交付。

MeterSphere 架构

在这里插入图片描述
架构图摘自官网,实际上在环境中,MeterSphere由6个容器组成,分别为ms-data-streaming、metersphere、kafka、ms-node-controller、mysql、zookeeper。

组件说明:
Frontend: MeterSphere 的前端工程, 基于 vue.js 、Element组件库进行开发
Backend: MeterSphere 的后端工程, 基于 Spring Boot 进行开发, 为 MeterSphere 的功能主体
Chrome plugin: 浏览器插件, 录制 Web 访问请求生成 JMeter 脚本并导入到 MeterSphere 中用于接口测试及性能测试
Node controller: 为性能测试提供独立节点类型的测试资源池, 接收来自系统的性能测试任务, 动态的启动 JMeter 容器完成性能测试,基于 Spring Boot 进行开发
MySQL: MeterSphere 项目的主要数据均存储在 MySQL
Kafka: 接收 JMeter 产生的性能测试结果数据
Data streaming: 从 Kafka 中获取性能测试结果数据进行处理后存入 MySQL 数据库,基于 Spring Boot 进行开发
Docker engine: 为 Node Controller 提供 JMeter 容器运行环境
Jenkins-plugin:在 Jenkins 中安装该插件后可将 Jenkins 任务中添加 MeterSphere 构建环节,用户在该构建环节中配置 MeterSphere 平台的认证信息后,可选择指定项目下的接口/性能测试进行触发执行。

各个组件间的关系可参考下图:
在这里插入图片描述
在这里插入图片描述

概念说明:

MeterSphere 提供了多租户、多角色的管理模型, 用户可根据所在团队的实际情况进行灵活的租户体系映射。

系统: 每个独立部署的 MeterSphere 即称为一套系统。

系统级角色: 角色的权限范围为整个系统, 常见的角色如系统管理员, 可管理整个系统内的租户、用户及测试资源, 同时可变更修改系统级配置参数。

组织: MeterSphere 中的一级租户, 可映射为一个公司下的不同部门。

组织级角色: 角色的权限范围限定在某个组织当中, 常见的角色如组织管理员, 可管理整个组织内的成员、工作空间及成员等。

工作空间: MeterSphere 中的二级租户, 可映射为一个部门下的不同团队、项目组。

工作空间级角色: 角色的权限范围限定在某个工作空间当中, 常见的角色如工作空间管理员及普通用户, 可在工作空间中创建项目、发起测试、查看测试报告等。

实际环境:

[root@XXX ~]# docker ps -a
CONTAINER ID   IMAGE                                                                    COMMAND                  CREATED       STATUS                 PORTS                                    NAMES
ba7dddc9126e   registry.cn-qingdao.aliyuncs.com/metersphere/ms-data-streaming:v1.7.3    "/deployments/run-ja…"   12 days ago   Up 12 days (healthy)   0.0.0.0:8084-8085->8084-8085/tcp         ms-data-streaming
ca172a6907fe   registry.cn-qingdao.aliyuncs.com/metersphere/metersphere:v1.7.3          "/deployments/run-ja…"   12 days ago   Up 12 days (healthy)   0.0.0.0:8081->8081/tcp                   ms-server
e4a11e24cfc7   registry.cn-qingdao.aliyuncs.com/metersphere/kafka:2                     "/opt/bitnami/script…"   12 days ago   Up 12 days (healthy)   9092/tcp, 0.0.0.0:19092->19092/tcp       kafka
fafb5fb4f5e6   registry.cn-qingdao.aliyuncs.com/metersphere/ms-node-controller:v1.7.3   "/deployments/run-ja…"   12 days ago   Up 12 days (healthy)   0.0.0.0:8082->8082/tcp                   ms-node-controller
950c67e56504   registry.cn-qingdao.aliyuncs.com/metersphere/mysql:5.7.25                "docker-entrypoint.s…"   12 days ago   Up 12 days (healthy)   33060/tcp, 0.0.0.0:3307->3306/tcp        mysql
ae5e4065c781   registry.cn-qingdao.aliyuncs.com/metersphere/zookeeper:3                 "/opt/bitnami/script…"   12 days ago   Up 12 days (healthy)   2181/tcp, 2888/tcp, 3888/tcp, 8080/tcp   zookeeper

测试跟踪工作流
在这里插入图片描述
测试用例管理
在这里插入图片描述
测试计划管理
在这里插入图片描述
接口测试工作流:
在这里插入图片描述
接口测试拓展功能:
在这里插入图片描述
功能列表:
在这里插入图片描述
在这里插入图片描述

Metersphere 新版测试系统二次开发:

一、Testrail测试用例全量数据完成备份;

二、Testrail测试用例全量数据同步到新版测试系统;

三、对新版测试系统进行全面开发

1、Bug修复,解决开发过程中测试人员提的bug;

2、回归团队试用,支持测试任务创建、分配、管理;

3、解决了测试用例数据的多种异常情况;

4、为每个项目配置了Jira Key以及对应的Jira 模版;

5、测试计划创建和展示与项目字段解耦;

6、完成MeterSphere测试管理部分重构设计;

7、回归团队全量测试任务导入;

8、需求测试团队全量测试任务导入;

9、定制化测试报告模块开发;

10、测试用例导入/导出功能模块开发;

11、Bug缺陷模块:在执行测试用例时,如遇case失败
原来的模式:使用内置生成的模板–>在Metersphere上自动提缺陷至jira–>提到jira上后,为了精准分配给相对应的开发,还需手动改jira。
现在的模式:先在jira上提好bug—>然后在Metersphere的相关case上关联对应的缺陷—>自动获取缺陷详细信息

新功能支持:
关联缺陷,输入jira号,自动识别该缺陷是否有效/是否存在,关联成功后,在缺陷列表里展示缺陷的详细信息(包括缺陷描述的预览)和状态。
1、1条case可以关联多个缺陷
2、1个缺陷可以被多条case关联
3、如关联错误,支持删除该缺陷
4、1条case中如果关联重复的缺陷,不予关联。
5、自动识别该缺陷是否有效/是否存在,如是无效bug,不予关联。

12、任务用例列表,执行人筛选不支持检索 --已修复
13、用例等级、类型、标签、测试方式这几个属性可以不展示或者放在后面展示,用例名称建议可折行全展示,执行结果、执行人属性排序可靠前展示
14、测试计划—功能测试用例页面,更改每页修改条数之后无法滑动页面查看更多 --已修复
15、测试用例模板下载下来是空文件,提供xmind和excel的模板,方便导入–已修复
16、执行测试任务时可进行用例修改,不然还要当时记录,在跑去case详情进行修改 --不修复,测试计划中的用例是对测试用例的一份copy,测试计划不能控制测试用例,否则每个人在各自的测试计划中修改用例,测试用例就乱了。
17、总是会登录过期,而且会在写完case保存的时候提示过期,登录后就白写了–已修复,签名设置1天超时
18、测试任务中,点击case整栏空白位置进去无法标注测试结果 --不修复,这设计的是一个预览模式,一个操作模式,两种模式。
19、同一个测试计划按照case级别分给不同的人
20、手动调case顺序,手动编辑顺序
21、测试阶段(优先改),当前状态这一列筛选bug --已修复
22、测试计划—组合查询—负责人多个时搜索有bug–已修复
23、执行测试计划跑测试case时,添加comments。 --已修复
24、批量移动/复制case --已修复
25、token过期(平均1天3次) 已修复
26、高级搜索按执行结果搜索 已修复
27、case_id:100596,case内容过多时显示需要滑动查看–已修复

效果:

1、成功替代了Testrail系统,测试部所有人员由原来老平台统一转移到新平台,使用新平台完成日常的测试工作;
2、为公司每年节省50万的成本 ;
3、比TestRail稳定性(testrail曾出现宕机,访问不了情况)、性能(有时候访问特别慢)都有提升
4、新功能在测试管理平台都实现了(测试用例评审、聚合测试报告、千人千面等)
5、我们把测试流程固化在平台里,规范了测试流程,减少了线上问题出现的概率。

效果:
打通了LDAP账户:
在这里插入图片描述
进入首页后以千人千面的形式展示:
在这里插入图片描述

测试用例:在这里插入图片描述
支持预览模式:
在这里插入图片描述
测试用例支持自定义标签:
用户可以在编辑测试用例时为用例添加任意标签,通过自定义标签功能,可以更有效、更直观地组织管理项目内的测试用例。同时搜索条件中也支持了根据标签搜索,帮助用户更方便地找到特定类别的测试用例。
在这里插入图片描述

新建的用例是未评审状态:
在这里插入图片描述
创建用例评审:
像创建测试计划一样,用户可以选择多个项目中的全部或部分用例发起测试评审任务,在测试评审任务中指定用例的评审人对用例进行评审。当用例评审状态变更或有用户添加评论后,相关人员也将收到相应的通知信息。
在这里插入图片描述

用例评审:
在这里插入图片描述

用例评审关联用例:
在这里插入图片描述
评审用例:
在这里插入图片描述

评审结果:
在这里插入图片描述
测试计划:
创建测试计划:
在这里插入图片描述
在测试计划列表中点击某一测试计划,进入测试计划详情页面 。
在这里插入图片描述
关联测试用例
点击右侧测试用例列表中的关联测试用例按钮,在弹出的测试用例列表中,选择项目中的测试用例添加至该测试计划 。
在这里插入图片描述

执行测试
点击某个测试用例所在行的编辑按钮,进行执行测试用例。
在这里插入图片描述
提交缺陷:
MeterSphere对接JIRA方案如下所示:
在这里插入图片描述
JIRA对接设置:
通过包含系统管理员用户的角色登录MeterSphere,在【服务集成】中填充JIRA信息,填写完成后点击“测试连接”。
在这里插入图片描述

在编辑项目信息,添加JIRA项目键值(KEY)
在这里插入图片描述

检查JIRA中,发现缺陷同步是否成功。

测试报告
当所有测试用例结果均执行完后,即可点击用例列表中的查看测试报告按钮,查看此次测试计划的测试报告 。

测试完成后支持自动生成测试报告
在这里插入图片描述

生成的测试报告:
在这里插入图片描述
多处测试报告均增加导出功能
报告导出功能,用户可以选择指定的报告导出成PDF格式,方便用户进行离线查看或进行归档。
在这里插入图片描述

导出的报告PDF截图:
在这里插入图片描述

  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值