为了增进MeterSphere开源社区的互动,我们正式推出“MeterSphere用户访谈录”专栏。我们将陆续拜访来自不同行业的MeterSphere项目用户,倾听他们的实际需求和使用感受,并持续收集相关反馈和改进建议。
我们真诚地希望,这一栏目能够成为MeterSphere项目开发与应用交互的重要窗口。在接下来的日子里,我们将会访谈MeterSphere的深度用户,欢迎您的持续关注。如果您希望和我们谈谈MeterSphere的使用感受和开发建议,也可以在MeterSphere社区交流群与我们联系。愿我们共同携手,打造出一款更加好用的一站式开源持续测试平台!
用户访谈录
MeterSphere × 网鱼网咖
编者注:本次用户访谈的受访嘉宾为网鱼网咖质量经理何少良。
作为全球网咖行业的第一品牌,网鱼网咖正从传统公司向互联网公司转变。从连锁网咖计费、会员、POS等基础核心业务系统,到APP、小程序等面向顾客的各种软件产品,以及公司内部、连锁门店管理系统的开发建设,都离不开测试团队的持续投入测试。随着系统的日益庞大复杂,提升整体产品、研发、测试团队的效率和质量成为必须要走的路。
测试团队的痛点
网鱼网咖的测试团队很早就独立存在,目前有超过10人的规模。通过多年的运营,团队已经构建了相对完善的测试管理流程和方法。但是,在这些流程和方法落地的过程中,我们还是会面临一些非常实际的痛点。比如:
- 测试用例零散,测试同学负责的项目多,测试时间多有交叉;
- 用例未做维护,功能变动较多,用例无法使用;
- 测试过程、进度无法准确度量,评估的测试时间没有说服力;
- 测试进度不直观,无法进行精确管理;
- 人工测试占比较多,自动化测试实施难度较高;
- 测试效率不高,重复性的测试容易漏测;
- 测试同学技术水平/技术栈不一致,自动化脚本的实现方式多样;
- 测试脚本无法统一,复用性差;
- 测试脚本、执行过程、执行结果不直观;
- 脚本执行效果无法度量。
从上面这些痛点可以看出,其中很大一部分是和测试团队管理及自动化测试相关。除了团队自身能力和人员建设外,一款合适的测试工具也是解决以上痛点的重要一环。
需要的自动化测试工具
网鱼网咖的测试团队一直在自动化测试的道路上探索。由于资源的局限性,测试团队的小伙伴只能零散地做一些测试辅助工具,无法向统一化、灵活性、标准化的平台方向发展。虽然我们从兄弟公司借鉴了他们的测试平台,但是由于双方产品的技术栈相差太大,大多数功能需要进行二次开发,无法完全覆盖测试的全过程,很难直接满足我们现阶段的测试需求。
测试团队一直在寻找一款适合我们的工具,它需要符合以下特征:
- 平台集成度高;
- 测试计划、测试用例、接口测试、性能测试、UI测试、代码检查等测试线工具集成;
- 具备测试用例管理功能;
- 测试用例可用性高,便于阅读和编写,能够通过思维脑图形式导入用例,支持与测试计划、进度等进行关联;
- 测试资源/进度能够可视化展现;
- 测试人天、测试进度可视化,方便给出准确的测试计划数据;
- 接口测试技术要求低,便于代码基础薄弱的同学上手;
- 针对测试同学技术水平高低不等的情况,需要有无需开发即可支持场景化接口测试的能力;
- 性能测试支持高并发;
- 性能测试无需复杂配置支持施压机上万并发测试。
我们的团队是在2020年8月第一次接触到MeterSphere一站式开源持续测试平台的,当时是MeterSphere v1.2版本。经过简单的调研了解后,我们发现MeterSphere的功能和我们的实际需求匹配度很高,并且它完全兼容JMeter脚本,我们之前积累的测试脚本也可以很好地复用起来。
所有这些都刚好是我们想要的功能,在搭建测试环境进行试用后,大家都觉得比较好用。随着使用的逐渐深入,团队小伙伴一致认为,我们可以把测试资产转移到MeterSphere平台之上进行统一管理。
我们用MeterSphere做什么?
1. 接口自动化测试
在使用MeterSphere之前,我们已经积累了很多各种语言的接口自动化脚本。部署MeterSphere并维护好项目信息后,我们首先把原有的分散的、多语言的测试脚本,统一迁移录入到了MeterSphere的接口测试模块中,并且根据测试场景进行了比较好的划分,实现了对接口测试脚本的统一管理。同时,通过场景复制和引用功能,我们在不同的接口测试集中将多个场景复用了起来,跟原有方式相比极大地提高了测试脚本的复用性。
当接口测试集及测试场景维护好以后,我们还对部分测试配置了定时任务,通过定时任务来完成每日构建测试,并将测试结果通知到钉钉群当中,测试失败时还会在群里@相关负责人,让大家第一时间了解到测试执行结果。
除此之外,我们还通过接口测试完成了业务报表数据的每日校对测试。在该测试中需要进行断言校对的数据字段量达到几千条,跟原有的测试方式相比大大提升了测试效率,让测试团队摆脱了日复一日的繁杂劳动。
2. 性能测试
MeterSphere的性能测试也是我们很喜欢的一个功能。在MeterSphere平台上,我们将性能测试与接口测试资源相互分开,两者之间互不干扰。通过导入已有的JMeter脚本和CSV文件,既实现了既有资源的复用,又达到了对压测脚本统一管理的效果。同时,MeterSphere还可以方便地管理压测资源,使各个性能测试互不影响,提高压测节点的利用效率。
针对同一个性能测试脚本,可以很方便地在平台上调整此次测试的并发参数,同时每次的压测结果都能够进行追溯和比较。测试过程中自动生成的性能测试报告不仅十分方便快捷,也满足了我们测试团队的基本要求,节省了很多测试同学手工写报告的时间。
希望MeterSphere还能做什么?
过去半年时间里面,MeterSphere项目一直保持着极高的更新频率和每月一次大版本的迭代,产品功能也随着版本迭代而逐步丰富起来。MeterSphere目前的版本已经能够满足我们日常测试工作的大部分需求。
当然,我们对于MeterSphere的未来还有很多期待,比如:
- 希望MeterSphere能够更为广泛地对接周边常用系统。例如我们的研发需求管理和缺陷管理就在使用Teambition,所以期待MeterSphere能够尽快完成对此的对接;
- 希望MeterSphere能够持续提升性能测试的用户使用体验,例如集中的测试脚本库管理,测试脚本可在线编辑,测试数据可在线修改等;
- 希望MeterSphere能够在接口测试领域集成接口定义管理、接口Mock功能等常见功能,这样有助于我们在平台内完成接口测试的大闭环整合;
- 希望MeterSphere能够提供集中的测试环境管理,包括测试环境定义、测试服务器管理等。这样平台内各不同模块对环境的使用可以集中管理,分散引用。
另外,按照MeterSphere社区目前公开的路线图,未来的UI测试、移动测试都在规划当中。我们对此也非常期待!希望MeterSphere能够不忘初心,越来越好。我们也会持续跟进项目的进展,更深入地使用好MeterSphere来支持团队的日常运营。