MeterSphere使用场景,以及组件作用
在我们实际的项目迭代过程中,基本上会经历过的几个问题:
测试用例不规范,有些甚至没有测试用例文档
文档随个人喜好随便使用,word、Excel、xmind…
没有专门的人去管理这些文档,时间长了就丢失了
测试用例和测试脚本很凌乱,基本都是测试个人保管
以及各个部门或者个人使用的测试工具都是碎片化的,比较凌乱,有没有可以全部人员都可以使用,而且可以快速上手的工具呢
为什么要持续测试?
数字业务的要求
缩短交付时间
快节奏交付
从质量保障到质量协助
传统 QA 的不足之处
人工测试耗时长
“部门墙”和“交接”仍然存在
Bug 发现和解决成本高
什么是 MeterSphere ?
MeterSphere 是一站式的开源企业级持续测试平台,涵盖测试跟踪、接口测试、性能测试、团队协作等功能,兼容JMeter 等开源标准,有效助力开发和测试团队充分利用云弹性进行高度可扩展的自动化测试,加速高质量软件的交付。
MeterSphere 的优势
全生命周期 能够覆盖从测试计划到测试执行、测试报告分析的不同阶段
自动化 & 扩展性 支持接口和性能的自动化测试,可充分利用云弹性实现超大规模的性能测试
持续测试 能够与持续集成工具无缝集成,支撑企业实现测试左移
团队协作 支持不同规模的测试团队,小到几个人的测试团队,大到数百人的测试中心
技术栈(本次总结针对2.2版本以前没有做微服务改造之前)
后端: 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 容器运行环境