MeterSphere开源社区的用户经常会问一个问题:“MeterSphere中测试计划具体的场景和优势是什么?”
为了解答这个问题,我们专门撰写了此文,希望能够帮助社区用户更好地理解MeterSphere一站式开源持续测试平台中的测试计划的设计思路与功能实现。
什么是测试计划?
测试计划(Test Plan)描述的是即将进行的测试活动的范围、方法、资源和进度,确定了测试周期、测试项目、测试任务、谁执行任务等具体内容的文档,是对整个测试活动所进行的宏观规划。测试计划可以有效地预防测试过程中可能发生的风险,保障测试的顺利实施。
制定一个完善、规范的测试计划有利于以下几个方面的提升:
■ 方便测试经理(测试负责人)更好地把控项目测试进展,以及协调相关的测试资源;
■ 测试人员能够更清楚地知道项目的具体范围和阶段,以及每个阶段中自己所要做的事;
■ 方便其他人员(开发、测试、运维等)知道测试的任务安排、进度等,方便他们的工作安排和时间协调,例如联调和环境部署等。
测试计划在测试过程中的作用
测试经理(测试负责人)日常工作的重要部分之一,就是为项目制定测试方案,并指导测试工程师按照测试方案执行具体测试内容。
一个考虑周全的测试方案有利于提升测试质量与测试效率。不同企业的具体测试方案有着不同之处,这是由企业的组织架构、测试人员素质、被测试的系统等客观因素共同决定的。但是,依据测试方案进行的测试执行过程包含着一般的共性,大体可以分为测试需求分析、测试计划制定、测试计划执行、测试报告总结四大模块。
一般企业测试方案的主体流程如下图所示,而测试计划的制定和执行是测试过程中尤为重要的环节。
为实现相应的测试计划,不同的企业在具体实施测试方案时都会借助不同的平台或者工具开展工作。不同测试环节需要的主要平台或工具如下:
■ 测试需求管理:JIRA、禅道、云效、CODING等项目管理平台;
■ 测试计划制定:目前企业的测试计划制定所使用的工具基本以文档为主(测试方案中的一部分),也有企业会借助项目管理平台来管理测试任务(即测试计划);
■ 测试计划执行:主要借助测试工具或者人工完成测试。不同的测试项会涉及到不同的测试工具,主要包括JMeter、Postman、Selenium、Appium、pytest等开源测试工具或者测试框架,以及LoadRuner等一些商业测试工具。同时有些企业也会借助项目管理平台实现人工测试的管理与记录;
■ 最终测试报告:不同的企业或者项目组具有不同的测试报告编写标准,但基本都是采用人工测试,然后借助项目管理平台实现测试报告汇总的模式。不同的测试工具得出的测试结果依赖人工整合与汇总。
企业开展测试计划存在的问题
测试计划在整体的测试过程中有着承上启下的作用,即衔接测试需求、测试目标与测试最终报告。测试计划的制定与执行直接影响着整体测试的效果与质量,所以大部分企业都制定了测试计划相关的规范与要求。
但是,一个完善的测试计划不仅包含了测试任务分配、测试人员协调管理等统筹方面的问题,同时还包含了不同测试项的具体执行内容,这样便会导致企业在执行测试计划时多多少少都会遇到以下几类问题:
1. 测试计划与测试人员高度绑定,一旦发生测试人员变动的情况,很容易导致测试计划执行进度延后等问题;
2. 测试计划执行的具体情况需要测试人员口头或邮件汇报,容易引发计划执行过程中的测试进度、计划执行次数、实时测试结果等内容不透明、不实时的问题;
3. 同一个测试计划中的不同测试项采用不同的测试工具,且测试计划与测试工具不在一个平台,依靠人工进行关联,从而导致出现测试计划和测试工具无法互通、联动的问题。而此问题也间接导致了企业的DevOps实施与自动化测试集成难等问题;
4. 在其他方面,还存在不同项目的测试计划模板、测试报告模板等不一致,人工整理的测试报告可读性低、美观性差等问题。
综合分析可知,导致上述问题的根本核心,是大部分企业的测试计划具体开展时都采用了“线上管理(利用平台、工具进行管理)+线下执行(人工执行,采用差异化测试工具或者框架执行)”的模式,从而引发了测试计划管理执行过程中的信息不对称、数据不准确等问题。
MeterSphere的一站式测试计划设计
MeterSphere是一站式的开源持续测试平台, 涵盖测试跟踪、接口测试、性能测试、团队协作等功能,全面兼容JMeter、Postman、Swagger等开源、主流标准的测试工具。
在MeterSphere中,测试计划的管理与执行采用一站式平台设计,在提供功能测试、接口测试、性能测试功能的同时,解决了测试人员执行测试工作时工具差异化的问题。MeterSphere中所有的测试相关操作都可以直接在平台中线上化执行,且测试进度、测试结果实时汇总。
MeterSphere中的测试计划可以同时添加不同项目(应用系统)的功能用例、接口用例、性能用例等多种用例类型。测试计划本身支持手动执行、定时任务、Jenkins插件触发等多种执行方式,并且能在测试计划执行过程中在线生成多种用例类型汇总的测试报告,具体如下图所示。
MeterSphere中测试计划的运用
由于MeterSphere中的测试计划采用了一站式平台设计,所以在MeterSphere平台展开测试工作前,需要平台中已经有创建完成的相应功能用例池、接口、接口用例、接口自动化、性能测试等。具体使用流程如下:
具体的使用步骤如下:
1. 前置步骤
在MeterSphere中添加维护功能、接口、性能等测试类型(具体操作这里不再详述,具体参见MeterSphere官网文档使用手册:https://metersphere.io/docs/index.html);
2. 创建测试计划
明确测试计划名称、测试计划负责人员、测试计划开始与结束时间等信息;
3. 确定测试计划的内容,按测试需求关联不同的测试类型
■ 关联功能测试用例
■ 切换关联不同项目的功能用例
4. 选择关联接口测试(选择关联接口用例或者接口自动化时,需要选择运行环境)
■ 关联接口用例测试
■ 关联接口自动化测试
■ 调整运行顺序(功能、接口、性能运行的调整方式均类似)
5. 选择关联性能测试
■ 关联性能测试
■ 调整测试计划中性能测试参数
6. 执行测试计划
■ 选择测试计划
■ 设置测试计划运行方式
7. 实时查看测试计划统计报告
总结
由此可见, MeterSphere一站式开源测试平台将测试计划管理和测试计划执行两个层面进行了统一的整合,结合多维度的测试数据展示,测试进度与内容一目了然。
企业可以依托MeterSphere平台独特的设计以及强大的功能,再结合企业内部测试管理规范等要求,最终形成企业自身的最佳使用实践场景,从而可以从根本上解决“线上测试计划管理,线下手动执行的测试”模式所导致的测试信息不对称、测试数据不准确等问题。