乐趣区

关于测试环境搭建:一站式的开源持续测试平台MeterSphere

【转载请注明出处】:https://blog.csdn.net/huahao1989/article/details/107827383

在咱们理论的我的项目迭代过程中,基本上会经验过的几个问题:

  • 测试用例不标准,有些甚至没有测试用例文档
  • 文档随集体爱好轻易应用,word、excel、xmind…
  • 没有专门的人去治理这些文档,工夫长了就失落了
  • 测试用例和测试脚本很凌乱,根本都是测试集体保存

以前的公司,包含当初的公司都自研过本人的测试平台,然而都不尽人意,直到看到 MeterSphere 让人眼前一亮,产品的厂家和 JumpServer 的厂家是同一个,比拟靠谱,从公布到当初差不多 7 个月的工夫,star 曾经超过了 1.4k,十分沉闷。

为什么要继续测试?

传统 QA 团队和实际难以满足数字业务的需要

数字业务的要求
  • 缩短交付工夫
  • 快节奏交付
  • 从品质保障到品质帮助
传统 QA 的不足之处
  • 人工测试耗时长
  • “部门墙”和“交接”依然存在
  • Bug 发现和解决老本高

什么是 MeterSphere ?

MeterSphere 是一站式的开源企业级继续测试平台,涵盖测试跟踪、接口测试、性能测试、团队合作等性能,兼容 JMeter 等开源规范,无效助力开发和测试团队充分利用云弹性进行高度可扩大的自动化测试,减速高质量软件的交付。

整体定位

继续测试是企业 DevOps 实际中的关键环节

测试跟踪

测试用例治理
  • 树状用例治理构造
  • 在线编辑用例
  • 疾速导入用例
测试计划跟踪
  • 基于已有用例发动测试
  • 在线更新用例执行后果
  • 自定义测试报告模板

接口测试

测试脚本
  • 在线编辑测试内容
  • 反对参数化测试
  • 反对断言、变量提取
  • 通过浏览器插件疾速录制
测试报告
  • 主动生成测试报告
  • 屡次测试后果比照
  • 查看申请及响应详情
  • 测试报告内容导出

性能测试

测试脚本
  • 齐全兼容 JMeter 脚本
  • 在线调整压力参数
  • 分布式、多平台测试资源池
  • 通过浏览器插件疾速录制
测试报告
  • 主动生成测试报告
  • 屡次测试后果比照
  • 丰盛的报告展现详情
  • 测试报告内容导出

团队合作

多租户反对
  • 多级租户体系
  • 反对多种租户角色
  • 租户资源隔离
测试资源管理
  • 性能测试资源池
  • 测试报告模板
  • 第三方零碎对接

MeterSphere 的劣势

  • 全生命周期
    可能笼罩从测试计划到测试执行、测试报告剖析的不同阶段
  • 自动化 & 扩展性
    反对接口和性能的自动化测试,可充分利用云弹性实现超大规模的性能测试
  • 继续测试
    可能与继续集成工具无缝集成,撑持企业实现测试左移
  • 团队合作
    反对不同规模的测试团队,小到几个人的测试团队,大到数百人的测试中心

技术栈

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

整体架构

  • Frontend:
    MeterSphere 的前端工程, 基于 vue.js 进行开发
  • Backend:
    MeterSphere 的后端后称, 基于 Sprint boot 进行开发, 为 MeterSphere 的性能主体
  • Chrome plugin:
    浏览器插件, 录制 web 拜访申请生成 JMeter 脚本并导入到 MeterSphere 中用于接口测试及性能测试
  • Node controller:
    为性能测试提供独立节点类型的测试资源池, 接管来自零碎的性能测试工作, 动静的启动 JMeter 容器实现性能测试
  • MySQL:
    MeterSphere 我的项目的次要数据均存储在 MySQL
  • Kafka:
    接管 JMeter 产生的性能测试后果数据
  • Data streaming:
    从 Kafka 中获取性能测试后果数据进行解决后存入 MySQL 数据库
  • Docker engine:
    为 Node Controller 提供 JMeter 容器运行环境

各个组件间的关系可参考下图

治理模型

MeterSphere 提供了多租户、多角色的治理模型, 用户可依据所在团队的理论状况进行灵便的租户体系映射

  • 零碎 :
    每个独立部署的 MeterSphere 即称为一套零碎
  • 零碎级角色:
    角色的权限范畴为整个体统, 常见的角色如系统管理员, 可治理整个零碎内的租户、用户即测试资源, 同时可变更批改零碎级配置参数
  • 组织:
    MeterSphere 中的一级租户, 可映射为一个公司下的不同部门
  • 组织级角色 :
    角色的权限范畴限定在某个组织当中, 常见的角色如组织管理员, 可治理整个组织内的成员、工作空间及成员等
  • 工作空间:
    MeterSphere 中的二级租户, 可映射为一个部门下的不同团队、项目组
  • 工作空间级角色 :
    角色的权限范畴当初在某个工作空间当中, 常见的角色如工作空间管理员及普通用户, 可在工作空间中创立我的项目、发动测试、查看测试报告等

装置部署

环境要求
  • 操作系统: CentOS 7.x
  • CPU/ 内存: 4 核 8G
  • 磁盘空间: 50G
  • 可拜访互联网
一键装置

以 root 用户执行如下命令一键装置 MeterSphere:

curl -sSL https://github.com/metersphere/metersphere/releases/latest/download/quick_start.sh | sh
手动装置

请自行下载 MeterSphere 最新版本的在线安装包,并复制到指标机器的 /tmp 目录下

安装包下载链接: https://github.com/metersphere/metersphere/releases

以 root 用户 ssh 登录到指标机器, 并执行如下命令

cd /tmp
# 解压安装包
tar zxvf metersphere-release-v1.0.3.tar.gz

在安装包解压后的目录,编辑批改装置参数, 如果无非凡需要能够不进行批改采纳默认参数装置

cd metersphere-release-v1.0.3
vim install.conf

装置脚本默认应用 /opt/metersphere 目录作为装置目录,MeterSphere 的配置文件、数据及日志等均寄存在该装置目录

执行装置脚本

cd metersphere-release-v1.0.3
# 运行装置脚本
/bin/bash install.sh
# 期待装置脚本执行实现后,查看 MeterSphere 状态
msctl status

装置胜利后,通过浏览器拜访如下页面登录 MeterSphere

地址: http:// 指标服务器 IP 地址:8081
用户名: admin
明码: metersphere`

降级

依照本文档前述步骤, 下载新版本安装包并上传解压后, 从新执行装置命令进行降级

# 进入我的项目目录
cd metersphere-release-v1.x.y
# 运行装置脚本
/bin/bash install.sh
# 查看 MeterSphere 状态
msctl status

操作手册能够参考官网
https://metersphere.io/docs/user_manual/system_management/

欢送关注“后端老鸟”公众号,接下来会发一系列的专题文章,包含 Java、Python、Linux、SpringBoot、SpringCloud、Dubbo、算法、技术团队的治理等,还有各种脑图和学习材料,NFC 技术、搜寻技术、爬虫技术、举荐技术、音视频互动直播等,只有有工夫我就会整顿分享,敬请期待,现成的笔记、脑图和学习材料如果大家有需要也能够公众号留言提前获取。因为自己在所有团队中根本都处于攻坚和探路的角色,搞过的货色多,遇到的坑多,解决的问题也很多,欢送大家加公众号进群一起交流学习。

【转载请注明出处】:https://blog.csdn.net/huahao1989/article/details/107827383

退出移动版