又一款国产自动化测试平台,开源了!

“时间就是金钱,效率就是生命”,在当下的社会里不仅我们的生活节奏变得越来越快,软件研发上线的节奏也是如此。在如此快节奏的软件开发环境中,高质量的软件测试变得尤为重要。

为了提高测试的效率和质量,建设一个强大的自动化测试体系势在必行。企业引入自动化测试的过程主要有两种方式:基于测试框架编写自动化测试脚本,或者建设自己的测试平台。

基于测试框架编写自动化测试脚本的方式,可以实现灵活的测试定制和精细化控制。这种方式适用于对测试框架和编程语言较为熟悉的团队,能够根据实际需求进行自由扩展和定制。

然而,编写和维护大量的测试脚本需要投入大量的时间和人力资源。此外,测试脚本的开发对开发人员的技术要求较高,对团队的技术依赖性较大。对测试结果的分析和报告生成也需要额外的工作。

相比之下,建设测试平台可以带来一系列优势。测试平台提供了集中管理测试用例、执行测试任务、跟踪测试进度和分析测试结果的能力。

测试平台还可以提供丰富的报告和分析功能,方便团队查看测试结果和评估测试覆盖率。但建设一个完整的测试平台需要投入大量的人力和资源,对于一些团队来说是一项不小的挑战。

今天给大家推荐一个 GitHub 开源项目:MeterSphere 一站式开源持续测试平台。

这是粉丝群中一个负责公司内部测试平台建设工作的小伙伴推荐的,他跟我讲述了他们团队原本打算自研测试平台,了解到这个开源项目之后果断放弃自研,直接采用这个开源测试平台开展测试工作的经过。

经过一番了解之后,我发现在众多的测试平台中,MeterSphere 确实有他的独到之处,怪不得能够成为越来越多测试人员的选择。

开源活跃度和影响力

MeterSphere 项目创立于 2020 年 2 月,目前总共有 9000 多个 Star,2000 多次 Fork,累计的 issues 更是有 8000 多个。这应该是迄今为止我见到过数据最牛的测试相关开源项目了。

放一张与知名开源测试工具 JMeter 的 GitHub Stars 对比图大家感受下。

图片

此外,在由中国开源推进联盟(COPU)牵头,联合众多知名社区、高校、专家共同发布的《2023 中国开源发展蓝皮书》中,MeterSphere 项目的影响力更是排在第 6 位,是排名前二十的项目中唯一的测试相关项目。

图片

接下来就带大家进一步了解下 MeterSphere,为什么它能受到众多测试人员的喜爱,能让粉丝群中的小伙伴放弃自研测试平台。

一键安装,开箱即用

MeterSphere 提供了十分完善且简单的安装脚本,对于像我这样不需要修改安装参数只是想体验一下平台功能的用户,可以通过一键安装脚本实现快速安装(需要联网)。

安装不仅包含 MeterSphere 的应用,需要用到的数据库、还有 Redis 这些中间件,不需要自己额外部署,这一点先给个好评。

对于纯内网环境,服务器不能连外网的小伙伴,MeterSphere 项目组也提供了完整的离线安装包,下载以后传到服务器上解压执行安装脚本,也可以很快速地完成安装环节。

MeterSphere 还支持通过 Helm Chart 在 Kubernetes 环境中部署以及分布式的部署方案,从部署这个方面就可以看出 MeterSphere 项目组考虑得十分周到细致,基本上各式各样的部署场景都考虑到了。

界面美观,操作顺畅

MeterSphere 的主题色使用了比较少见的紫色,整体给人一种耳目一新的感觉。产品的菜单设计也比较清晰,左侧设计了可以展开 / 收起的功能模块菜单,顶部是功能模块下的子模块菜单和消息通知、任务中心以及个人设置这些通用功能的入口。

图片

功能全面且强大

定位为 “一站式持续测试平台”,MeterSphere 的功能确实既全面又强大。

MeterSphere 主要包含了测试管理、接口测试、UI 测试和性能测试四个核心功能模块,以及项目设置、系统设置这样的管理模块。

接下来简单给大家介绍下每个模块的主要功能,以及我的使用感受。

图片

测试管理

测试管理模块围绕测试用例及测试计划提供以下主要功能:

首页信息展示:首页集中展示了当前项目的用例数量统计、关联用例数量统计、用例维护人分布、遗留缺陷统计、过去 7 天测试计划失败用例 TOP10、测试用例评审、定时任务等信息。

功能用例:支持在线表单、脑图方式创建测试用例,创建用例时关联其他类型测试用例(比如接口用例、场景用例、性能用例),支持测试用例导入 / 导出,导入 / 导出格式支持 Excel、XMind 等多种文件格式。

用例评审:支持创建评审,关联及取消关联测试用例,在线评审并反馈评审是否通过及评审具体意见建议。

测试计划:支持列表显示、创建、编辑、删除测试计划,关联测试用例,在线更新反馈测试用例的测试结果,包括 “通过”、“失败”、“阻塞”、“跳过”,以及在线自动实时统计显示测试计划对应的测试报告,导出 HTML 格式的测试报告和分享报告链接。

缺陷管理:管理该项目下所有的缺陷信息,如果项目设置关联了其他 Bug 平台(比如 Jira、TAPD、禅道等),则此 Bug 会自动同步到相应的平台。

报告:提供直观、美观的页面对测试计划结果进行可视化展示,同时提供导出报告等功能方便对测试结果进行归档及分享,同时可以自定义配置报告模版。

MeterSphere 测试管理模块中比较吸引我的有两个点,一是脑图模式下的用例编辑和管理,二是测试计划的概念以及测试计划里功能用例与其他自动化用例之间的关联关系。

接口测试

接口测试模块由首页、接口定义、接口自动化、测试报告四部分组成。

首页:展示当前项目的接口数量、接口用例数量、自动化场景数量、场景定时任务数量、接口覆盖度、用例覆盖度等信息,以及过去 7 天有更新的接口、运行中的定时任务等,帮助用户快速了解当前项目接口测试情况。

接口定义:可用于管理接口、接口用例,并执行调试等测试工作。其中接口定义支持 HTTP、TCP、SQL、Dubbo 协议,导入支持手动录入,也支持导入企业现有的接口测试工具中的接口,例如 MeterSphere 格式、Postman 格式、Swagger 格式、HAR 格式、JMeter 格式等。

接口自动化:用于场景级自动化测试工作,能够编排组合多个接口实现一个场景的测试;在场景中支持自由添加接口请求,提供变量提取、响应断言、前后置脚本、逻辑控制器等功能。

测试报告:对接口测试结果进行可视化的美观页面报告展示,支持报告分享和导出,方便对测试结果进行归档留存。

根据 MeterSphere 官方文档介绍,其接口测试使用了 JMeter 作为执行引擎,体验了一下后主要感觉的是,MeterSphere 在功能和体验上结合了 Postman 和 JMeter 两者的优点。

在单接口管理和调试上,MeterSphere 跟 Postman 比较接近,相信用过 Postman 的用户都很容易上手。在多接口场景化编排上,MeterSphere 完全保留了 JMeter 强大的能力与灵活性,同时又把很多功能进行了进一步包装,让用户更容易理解和上手。比如,接口测试中经常用到的参数提取和断言功能,MeterSphere 针对 JSON 格式的响应体提供了推荐功能,点点鼠标就可以添加想要的断言,不需要自己写 JSONPath 表达式了。

图片

UI 测试

MeterSphere UI 测试模块围绕应用系统的用户界面提供以下主要功能:

元素库:平台提供元素库的功能,通过创建元素库,可以把 UI 自动化场景中的单个步骤,进行统一管理,达到页面元素在不同 UI 场景中复用的效果。

UI 自动化:支持手动创建 UI 自动化场景和导入 SeleniumIDE 工具录制好的 side 脚本文件,支持添加浏览器操作、 弹窗操作、元素操作、鼠标操作、输入操作、流程控制等步骤,并提供查看元素库、前置操作、后置操作、错误处理等高级功能。

测试报告:提供直观、美观的页面对 UI 测试的结果进行可视化展示,可查看场景全部步骤和失败步骤,以及控制台详情,并且支持对步骤执行时的 UI 截图预览。

整体上 MeterSphere UI 测试功能也是比较容易上手的,我在之前没怎么接触过 Selenium 以及浏览器自动化测试的情况下,通过查看 MeterSphere 的文档和视频教程也可以很快速地完成一个页面的自动化测试场景。

性能测试

MeterSphere 性能测试模块可以认为是一个在线的、Web 版的 JMeter。相比于直接使用 JMeter 进行性能测试,MeterSphere 在这四个方面进行了相应的增强:

测试脚本录制和管理增强:提供脚本录制 Chrome 插件,并统一存储在一个平台上。

压测规模扩展性增强:压测执行节点按需创建和安装,轻松支持大规模性能测试。

测试报告分析增强:实时的性能测试报告展示,多次测试结果可以快速比较。

团队协作增强:B/S 架构,测试用例、脚本和报告可以有效隔离和分享协作。

虽然我没怎么用过 JMeter 进行性能测试,但还是很快就能上手 MeterSphere 提供的相关功能,之前在接口测试模块中调试的场景一下子就能转换成一个性能测试。相信之前有在使用 JMeter 的用户,肯定更能体会到 MeterSphere 性能测试模块的特点和优势。

写在最后

综合体验了 MeterSphere 平台之后,我十分理解前文提到的小伙伴为什么会放弃自研测试平台,选择直接使用 MeterSphere。

一方面 MeterSphere 作为一个开箱即用的测试平台,本身的功能就已经足够丰富、足够强大了,相信大部分测试团队直接部署使用就可以满足自己的需求。

另一方面,MeterSphere 作为一个明星开源项目,有着广泛的用户群体、活跃的交流社区以及持续不断投入的项目组成员,与其自己闭门造车不如共同参与到开源项目当中,既能满足自己又能帮助他人。

对于没有 IT、人力资源来私有化部署、维护一套 MeterSphere 环境的用户,官方还提供了在线的 SaaS 版本(https://metersphere.com),注册账号之后就有 7 天的免费体验时间,后续正式订阅的价格也比较公道。

如果你所在的团队也在自研自动化测试平台,或者有自动化测试的相关需求,MeterSphere 是一个我认为值得去体验尝试的开源项目。

最后再放上该项目的开源地址,大家可以参考学习。

GitHub:https://github.com/metersphere/metersphere

 感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/892100.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

小北的技术博客:探索华为昇腾CANN训练营与AI技术创新——Ascend C算子开发能力认证考试(初级)

前言 哈喽哈喽友友们,这里是zyll~(小北)智慧龙阁的创始人及核心技术开发者。在技术的广阔天地里,我专注于大数据与全栈开发,并致力于成为这一领域的新锐力量。通过智慧龙阁这个平台,我期望能与大家分享我的技术心得,共同探索技术的无限可能。 Ascend C编程:小北的技术…

【大数据技术基础 | 实验二】Linux基础:常用基本命令和文件操作

文章目录 一、实验目的二、实验要求三、实验环境四、常用基本命令1、验证cd和pwd命令2、验证ls命令3、验证mkdir命令4、验证cp、mv和rm命令 五、Linux文件操作1、验证touch命令2、验证cat命令3、验证more命令 六、实验心得 一、实验目的 学会linux常用命令(cd,ls,pwd,mkdir,rm…

元器件行业常用软件推荐-加速度JSUDO

元器件行业中,工程师们会使用多种软件来辅助设计、仿真、布局、布线和验证等工作。以下是一些推荐的软件,它们在电子设计自动化(EDA)和集成电路(IC)设计领域中被广泛使用: Altium Designer&…

创建包含可导入浏览器信任的SSL自签名证书

问题:现在的三大浏览器,chrome、edge、firefox 一般都默认启用https检查,这就要求我们自建的局域网内的网址和其他诸如nextcloud、photoprism、tiddlywiki等应用也必须要有证书。解决方法是使用openssl自己生成一个。由此则会再衍生出一个问题…

计算机视觉之YOLO算法基本原理和应用场景

YOLO算法基本原理 整体流程 YOLO 将目标检测问题转化为一个回归问题。它将输入图像划分成多个网格单元,每个网格单元负责预测中心点落在该网格内的目标。对于每个网格单元,YOLO 预测多个边界框以及这些边界框中包含目标的类别概率。边界框通常由中心点坐…

(vue)a-upload上传文件后将结果展示图片

&#xff08;vue&#xff09;a-upload上传文件后将结果展示图片 亲测有效 项目背景&#xff1a;油气项目上传数字岩心图片 接口返回 控制台打印的info: 代码 <a-uploadname"file"list-type"picture-card"class"avatar-uploader":show-u…

LabVIEW如何实现高精度定时器

在LabVIEW中实现高精度定时器通常需要考虑以下几个方面&#xff1a;定时器的精度要求、操作系统的调度机制、硬件资源&#xff08;如计时器、触发器&#xff09;等。以下是几种常见的实现方式&#xff1a; ​ 1. 使用 Wait(ms) 或 Wait Until Next ms Multiple VI 这两个函数…

Docker-compose 单节点管理、consul 注册中心、registrator、template

consul是一个基于分布式的服务发现和配置管理工具。它具有快速构建分布式架构&#xff0c;提供服务发现和服务注册功能。consul职能&#xff1a;1、自动发现、注册&#xff1b;2、自动配置&#xff1b;3、自动更新 服务发现&#xff1a;自动检查网络中的服务&#xff08;如数据…

101、QT摄像头录制视频问题

视频和音频录制类QMediaRecorder QMediaRecorder 通过摄像头和音频输入设备进行录像。 注意: 使用Qt多媒体模块的摄像头相关类无法在Windows平台上进行视频录制&#xff0c;只能进行静态图片抓取但是在Linux平台上可以实现静态图片抓取和视频录制。 Qt多媒体模块的功能实现是依…

李沐团队发布Higgs-Llama-3-70B,角色扮演专用模型

前言 近年来&#xff0c;大语言模型&#xff08;LLM&#xff09;在各个领域都展现出强大的能力&#xff0c;尤其是其在对话、写作、代码生成等方面的应用越来越广泛。然而&#xff0c;想要让 LLM 真正地融入人类社会&#xff0c;扮演各种角色&#xff0c;还需要具备更强大的角…

Qt媒体播放器实现

本文介绍Qt媒体播放器实现。 Qt应用程序有时会涉及到视频文件的播放&#xff0c;Qt提供了QVideoWidget类实现视频和音频的播放&#xff0c;本文基于QVideoWidget类实现一个简单的媒体播放器。 1.自定义类&#xff08;基于QVideoWidget类&#xff09; 由于Qt并未提供专门的控…

免费绘图软件全解析:让你的创意工作更加高效

在数字化时代&#xff0c;绘图软件已成为我们生活中不可或缺的一部分&#xff0c;无论是业余爱好者还是专业设计师。幸运的是&#xff0c;市面上有许多免费且功能强大的绘图软件可供选择。以下是我们为您精选的8款免费绘图软件&#xff0c;每一款都是精心挑选的&#xff0c;值得…

idea2024启动Java项目报Error running CloudPlApplication. Command line is too long.

idea2024启动Java项目报Error running CloudPlApplication. Command line is too long. 解决方案&#xff1a; 1、打开Edit Configurations 2、点击Modify options设置&#xff0c;勾选Shorten command line 3、在Edit Configurations界面下方新增的Shorten command line选项中…

Midjourney零基础学习

Midjourney学习笔记TOP08 Midjourney的各种参数设置 Midjourney的用户操作界面没有醒目的工具栏、属性栏&#xff0c;所有的操作都是通过调用各种指令和参数进行的。 【质量&#xff08;–quality&#xff09;】 质量&#xff1a;顾名思义就是生成图像的画面细节和品质。 Mid…

Android10 recent键相关总结

目录 初始化流程 点击Recent键流程 RecentsActivity 显示流程 RecentsModel 获取数据管理类 RecentsActivity 布局 已处于Recent界面时 点击recent 空白区域 点击返回键 recent组件配置 Android10 Recent 功能由 System UI&#xff0c;Launcher共同实现。 初始化流程 …

数据结构之顺序表——动态顺序表(C语言版)

静态顺序表我们已经实现完毕了&#xff0c;下来我们实现一下动态顺序表 静态链接&#xff1a;数据结构之顺序表——动态顺序表(C语言版) 首先来了解一下两个顺序表的差别 一、内存管理的灵活性 动态分配与释放&#xff1a;动态顺序表能够在运行时根据需要动态地分配和释放内存…

Prometheus+Grafana 监控 Kubernetes

文章目录 一、Prometheus介绍二、Prometheus组件与监控三、Prometheus基本使用&#xff1a;怎么来监控四、Kubernetes监控指标五、Prometheus的基本使用&#xff1a;部署1.基于docker部署prometheusgrafana2. 查看prometheus配置文件3. 监控Linux服务器3.1找到自己相应的系统去…

C# 中循环的应用说明

一循环的概念说明 在C#编程中&#xff0c;循环结构是一种非常重要的控制流语句&#xff0c;它允许我们重复执行一段代码&#xff0c;直到满足某个特定条件为止。C#提供了几种不同类型的循环结构&#xff0c;包括for循环、while循环、do-while循环和foreach循环。 循环语句允许…

【华为HCIP实战课程十一】OSPF网络NBMA网络解决方案,网络工程师

上节我们讲解了DR DBR 选举,每台设备可以学到全网路由,但是通信是有问题的 DR BDR的选举是基于接口的,而不是基于路由器的 一、OSPF路由通信问题 R5虽然可以学到全网的OSPF路由,但是R5无法ping通44.1.1.1 原因是R5到达R4 lo0的下一跳是10.1.1.4, 而R5和R4直连无法ping通…

40款主流的AI工具集盘点,这些好用的AI软件一定要知道!

AI工具哪款好&#xff0c;有哪些值得推荐&#xff1f; 不可否认&#xff0c;当下各式各样的AI工具层出不穷&#xff0c;面对不断涌现的AI工具&#xff0c;各位在选用时是否无从下手&#xff0c;或是抽不出时间&#xff0c;逐一体验对比不同AI工具的差异…… 这也是现如今许多…