测试神器之MeterSphere

01 引言

MeterSphere 本质是一款 开源 的测试神器,它基本涵盖了测试人员的所有日常工作,比如测试跟踪、接口测试、UI 测试和性能测试等,不仅提高了测试的速度,还加速了高质量的软件交付。

在这里插入图片描述

02 MeterSphere功能

首先贴上官网的一张图:
在这里插入图片描述

可以看出它主要的功能如下:

  • 测试跟踪:可以满足从测试计划、测试执行到测试报告分析的全生命周期需求在这里插入图片描述
  • 接口测试:比 Postman 强大; API 管理、Mock 服务、场景编排、多协议支持在这里插入图片描述
  • UI测试:基于 Selenium 浏览器自动化,高度可复用的测试脚本,进行低代码 UI 自动化测试在这里插入图片描述
  • 性能测试:兼容 JMeter 的同时补足其分布式、监控与报告以及管理短板,轻松实现高并发、分布式的性能压测在这里插入图片描述

03 MeterSphere架构

3.1 技术栈

MeterShpere使用的技术栈有如下:

  • 后端: Spring Cloud
  • 前端: Vue.js
  • 中间件: MySQL, Kafka, Redis, Minio, Prometheus
  • 基础设施: Docker, Kubernetes
  • 测试引擎: JMeter

3.2 组件关系图

组件间的关系如下:
在这里插入图片描述
组件说明:

组件 说明
Chrome 浏览器录制插件 录制 Web 访问请求生成 JMeter 脚本并导入到 MeterSphere 中用于接口测试及性能测试
Jenkins 插件 在 Jenkins 中安装该插件后可将 Jenkins 任务中添加 MeterSphere 构建环节,用户在该构建环节中配置 MeterSphere 平台的认证信息后,可选择指定项目下的接口/性能测试进行触发执行
IDEA 插件 IDEA 插件,基于javadoc解析,能够自动识别类,同步接口定义到 MeterSphere
GateWay API 网关项目
Eureka 服务注册中心
工作台 MeterSphere 项目的工作台模块
项目设置 MeterSphere 项目的项目设置模块
测试跟踪 MeterSphere 项目的测试跟踪模块
接口测试 MeterSphere 项目的接口测试模块
UI 测试 MeterSphere 项目的UI 测试模块
性能测试 MeterSphere 项目的性能测试模块
系统设置 MeterSphere 项目的系统设置模块
报告统计 MeterSphere 项目的报告统计模块
Node Controller 为接口或者性能测试提供独立节点类型的测试资源池
MySQL MeterSphere 项目的主要数据均存储在 MySQL
Redis MeterSphere 项目登录用户的 Session 和任务队列信息存储在 Redis
Minio MeterSphere 项目的分布式对象存储模块
Kafka 接收 JMeter 产生的接口测试或者性能测试的结果数据
Prometheus 收集压力机及被测系统的监控数据
Data Streaming 从 Kafka 中获取接口测试或者性能测试结果数据进行处理后存入 MySQL 数据库
Docker Engine 为 Node Controller 提供 JMeter 容器运行环境
Selenium Grid 为 UI自动化测试提供运行环境,支持分布式拓展

3.3 管理模型

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

类型 描述
系统 每个独立部署的 MeterSphere 即称为一套系统
系统级角色 角色的权限范围为整个系统, 常见的角色如系统管理员, 可管理整个系统内的租户、用户及测试资源, 同时可变更修改系统级配置参数
工作空间 MeterSphere 中的一级租户, 可映射为不同的部门或者产品线
工作空间级角色 角色的权限范围限定在某个工作空间当中, 常见的角色如工作空间管理员及普通用户, 可在工作空间中创建项目、发起测试、查看测试报告等
项目 以项目维度管理各种类型测试数据,各个项目间数据隔离
项目级角色 角色的权限范围限定在某个项目当中, 常见的角色如项目管理员、项目成员、只读用户等,可在项目中创建、修改、执行测试计划、功能测试用例、接口测试用例、性能测试用例、查看测试报告等
自定义角色 可创建不同所属类型的自定义角色,满足更多样化的团队管理及在线协作

04 文末

更详细的文档可参考:https://metersphere.io/docs/v2.x/

本文主要介绍了MeterShpere的功能、系统架构以及原理等,主要的目的都是为了看看能否使用该工具来更好地去提高测试效率和质量,希望能帮助到大家,谢谢大家的阅读,本文完!

猜你喜欢

转载自blog.csdn.net/qq_20042935/article/details/130887387