猫眼测试开发实践沉淀--Chaoyue测试管理平台

avatar
猫小娱 @猫眼娱乐

背景

在软件生命中期中PM、RD、QA扮演重要的角色,在各个阶段职责各不相同。首先,在需求阶段,PM需要编写PRD,进行需求评审。其次,RD和QA参与需求评审之后,进入设计阶段,RD根据PRD编写设计文档,组织设计评审,QA结合PRD和设计文档进行测试用例编写,RD开发完成的中期,QA组织PM和RD进行测试用例评审,当然有些时候也参与到RD的代码评审中,关注技术实现细节,发现潜在问题。最后,在测试完成阶段,QA会出具各个轮次的测试报告,上线后进行整体的线上回归验证。

在整个软件测试周期中,测试用例和相关文档都是测试工作的重要依据,但文档的缺失和管理的不统一,会大量增加沟通成本,降低工作效率。

因此,QA组内部启动搭建自己的工具平台,也就是今天为大家介绍的Chaoyue平台,目标在于使流程提效、测试度量可视化,目前已经支持用例管理功能和模板报告平台功能,其中,用例管理平台已广泛应用于各业务,模板报告平台也处于试用和优化阶段,后续根据业务需求陆续添加新功能,打造平台化的流程管理及协作工具。

Chaoyue 平台介绍

Chaoyue平台基于团队打造一个猫眼自己的用例管理平台的诉求而来,目前主要实现包含两个部分功能,用例管理平台及模板报告平台,具体如下图:其中用例管理平台实现业务分组管理、用例组管理、用例管理、用例执行管理功能;模板报告平台实现需求管理,发版前检查邮件管理,自测报告,提测报告,测试报告的管理。目前Chaoyue用例管理平台已支持公司70%项目使用。

Chaoyue平台以猫眼技术提效为依托,旨在降低学习成本,方便维护,其中。前端使用React+ Antd Design的开发框架,便于QA快速上手,测试用例管理平台引入百度开源脑图,在开源脑图框架的基础上,进行二次开发,便于快速搭建和使用,同时支持邮件和内部通讯工具进行消息发送。服务端基于Spring Boot开发框架,并通过Mysql数据库和S3数据存储服务进行数据管理。

Chaoyue 用例管理平台

测试用例管理形式多种多样的。早期线下测试用例的管理,比较常见的是excel形式,例如下图所示

这种管理方式的优点是,操作简单,步骤详细。通过表格形式的管理,能将测试用例用最简单的方式呈现,本地存储的方式也有稳定可靠的效果,但是本地存储的弊端也十分明显,当版本迭代较快时,excel形式的测试用例管理效率较低,多人参与同一个需求时,使用维护也很困难。

后期随着互联网的快速发展,业务的快速迭代,对项目流程各个环节的效率要求越来越高,很多QA开始选择使用脑图方式来编写和执行用例进行测试,常见Xmind工具如下图:

这种测试用例的形式在操作上相对简单,逻辑结构清晰,编写用例效率高,同时,测试用例的评审上十分方便,能让整个测试过程的结构更加清晰明确,但同样,线下存储的方式也面临不能支持多人协作的问题,导致用例缺少一致性,执行情况难以统计,最终给用例维护带来较大成本。

线上的测试用例管理方式多种多样,针对团队内部使用的相对成熟的产品做了分析,具体如下:

通过调研以上线下和线上的测试用例管理工具,我们提取了如下3个痛点问题

l 痛点一:测试用例管控不统一,存放和管理形式各异,有wiki,本地Xmind,缺乏统一的管理,无法形成文档沉淀

l 痛点二:用例无法追溯:如遇到线上问题回溯用例及测试情况时,无法追溯,且增加排查问题难度

l 痛点三:用例执行过程中缺少数据指标统计,无法度量用例质量和提测质量,漏测风险不能有效评估

为了解决以上痛点问题,并提供可支持定制化需求的开发,QA组内部启动Chaoyue平台项目,目标在于搭建支持协作的可视化测试用例管理平台,同时将需求和缺陷等数据打通,将用例管理通过平台有效管控起来,实现以用例为核心,将测试前提测-测试中执行-测试结果统计-测试后报告等过程进行一体化管理。

结合测试用例的生命周期和QA在各个阶段的工作内容,确定用例管理平台实现的功能如下:

1. 在需求和开发阶段,QA进行测试用例的编写和评审,Chaoyue用例管理平台支持多人线上编写,用例在线编写,线下编写用例导入,用例在线评审,后期规划提供公用测试用例库,为用例设计提供参考,并支持用例Review功能。

2. 测试执行阶段,用例管理平台对用例执行结果进行统计和展示,后期计划打通测试用例与缺陷系统,对整个测试活动进行度量,测试进度及时通知,生成测试报告

3. 完成测试后,通过对业务组管理和用例管理,实现测试用例的管理

以下为Chaoyue用例管理平台页面展示

业务管理页——示例:

用例编辑页——示例:

Chaoyue 模板报告平台

测试的度量离不开测试报告作为测试结果的分析和评估,在项目周期内,开发自测后需要发布自测报告,提测报告,测试阶段需要编写测试报告,统计缺陷数量,并整理测试质量报告,而这些报告的处理仅依靠人工处理,效率低下。同时持续集成环节中,提测阶段关键入口缺失,统一的提测规范不明确。

所以,QA内部开发了模板报告平台,目标实现报告一键发送,报告支持可视化,历史数据可追溯,平台集成了测试报告的能力,通过自动获取数据,减少相关报告信息的编辑和分析的人力成本,同时打通持续集成环节,实现提测入口自动化。

模板报告平台以需求为起点,通过需求对各个阶段的报告进行管理。例如:一个需求下,包含自测报告、提测报告、测试报告和发版前检查,同时支持发送邮件和通知功能,便于相关人员及时收到消息,关注项目进度,建立从需求产生到发布生产的持续交付体系,达到如下目标:

• 实现标准化,自动化流程的流转

• 提升交付流程中的节点交付质量

• 提高交付流程的执行效率

• 让需求的交付过程可靠,可视,可预期。

其中提测流程自动化功能是指由RD发出提测申请,系统进行准入条件判断,通过提测规则后,由QA确认是否提测成功,具体流程图如下:

目前提测规则包括以下三个方面:

1. 分支检测:结合分支规范进行自动校验,避免不符合分支规范的提测场景

2. 静态代码检查:结合Sonar规则进行静态代码检查,将扫描结果回传,当无严重级别问题时,校验通过

3. 自测结果统计:根据测试用例的执行情况自动计算自测通过率,当通过率大约90%时,则认为自测通过

Chaoyue 未来规划——新Chaoyue

Chaoyue平台的目的始终在于实现全流程的持续交付,在需求、开发、测试、发布、运维的关键节点,发挥平台的作用,将交付的流程与测试活动相结合,将测试设计,测试用例,测试执行,缺陷管理,测试报告,以及回归测试集成到平台中,通过Chaoyue平台进行统一管理,同时支持流水线配置,增加自动化执行方式,提高执行效率,节约人力成本。

愿景:提供产研测自动化的”一站式“解决方案,将Chaoyue平台打造成以测试流程驱动的持续集成平台。

参考资料:

www.tapd.cn/official/in…

www.testlink.org.cn/

www.atlassian.com/software/co…

www.zentao.net/