在我们实际的项目迭代过程中,基本上会经历过的几个问题:
【资料图】
测试用例不规范,有些甚至没有测试用例文档文档随个人喜好随便使用,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 项目的主要数据均存储在 MySQLKafka: 接收 JMeter 产生的性能测试结果数据Data streaming: 从 Kafka 中获取性能测试结果数据进行处理后存入 MySQL 数据库Docker engine: 为 Node Controller 提供 JMeter 容器运行环境
各个组件间的关系可参考下图
管理模型
MeterSphere 提供了多租户、多角色的管理模型, 用户可根据所在团队的实际情况进行灵活的租户体系映射
系统: 每个独立部署的 MeterSphere 即称为一套系统系统级角色: 角色的权限范围为整个体统, 常见的角色如系统管理员, 可管理整个系统内的租户、用户即测试资源, 同时可变更修改系统级配置参数组织: MeterSphere 中的一级租户, 可映射为一个公司下的不同部门组织级角色: 角色的权限范围限定在某个组织当中, 常见的角色如组织管理员, 可管理整个组织内的成员、工作空间及成员等工作空间: MeterSphere 中的二级租户, 可映射为一个部门下的不同团队、项目组工作空间级角色: 角色的权限范围现在在某个工作空间当中, 常见的角色如工作空间管理员及普通用户, 可在工作空间中创建项目、发起测试、查看测试报告等
安装部署
环境要求
操作系统: CentOS 7.xCPU/内存: 4核8G磁盘空间: 50G可访问互联网
一键安装
以 root 用户执行如下命令一键安装 MeterSphere:
curl -sSL https://github.com/metersphere/metersphere/releases/latest/download/quick_start.sh | sh
手动安装
请自行下载 MeterSphere 最新版本的在线安装包,并复制到目标机器的 /tmp 目录下
以 root 用户 ssh 登录到目标机器, 并执行如下命令
cd /tmp# 解压安装包tar zxvf metersphere-release-v1.0.3.tar.gz
在安装包解压后的目录,编辑修改安装参数, 如果无特殊需求可以不进行修改采用默认参数安装
cd metersphere-release-v1.0.3vim install.conf
安装脚本默认使用 /opt/metersphere 目录作为安装目录,MeterSphere 的配置文件、数据及日志等均存放在该安装目录
执行安装脚本
cd metersphere-release-v1.0.3# 运行安装脚本/bin/bash install.sh# 等待安装脚本执行完成后,查看 MeterSphere 状态msctl status
安装成功后,通过浏览器访问如下页面登录 MeterSphere
升级
按照本文档前述步骤, 下载新版本安装包并上传解压后, 重新执行安装命令进行升级