云音乐社交直播活动校验自动化

本文作者: 赵浪、孙佛喜

背景

活动在社交直播的业务中占比较重,且周期短、频次高、玩法复杂多样,在人力投入有限的情况下,活动的质量保障存在以下挑战:

  • 回归投入人力高:对于运营类的日常活动,一次开发完成后,后续高频的日常的活动多以运营为主,但每次启用此类活动,都需要投入人力回归一遍。因此,寻求一套自动化的回归方案,变得必要且重要。

  • 配置校验易出错:活动有着复杂的玩法场景,但为了保证其运营的自由度,往往会存在大量的运营配置。运营一般是以文档的形式编写活动所需的所有配置,然后提供给各需求方查阅。一方面,大量的文本信息,查阅方难以准确的定位到各自业务关注的信息;另一方面,这些配置数据配置到线上各个后台后,需要再拉齐开发、QA和策划完成线上配置的人工检查,效率极低。

针对以上两点,分别实现活动回归和配置校验的自动化流程。

活动回归自动化

运营类的日常活动,场景基本固定,回归流程也比较标准。但人工回归成本较高,且存在人员调整对业务不熟悉的情况。因此可按照标准回归流程,实现一套自动化回归的流程。

目前使用的GoAPI平台存在以下困难:

  • 构造活动场景的数据困难。活动数据的构造,需要一系列的配置辅助,目前GoAPI比较独立,无法形成联动。

  • 场景用例较为复杂,GoAPI的场景能力无法支持。

  • 结果校验,GoAPI自由度不够,校验有限。

  • 无法生成活动的整体回归报告。

因此,考虑通过平台调度+用例脚本的形式,实现从造数,到场景执行,再到校验,最后生成可视化报告的整体流程。流程如如下:

  • 任务管理系统:负责管理计划任务的创建、执行和可视化报告:

  • 一类活动对应一套用例,维护在单独的脚本工程中,并通过Jenkins任务调度执行。

  • 任务管理系统触发Jenkins任务,先执行前置脚本,完成整体的准备工作,再逐一执行用例脚本,完成该类活动的回归执行。

  • 用例执行结果异步上报任务系统,再生成可视化报告(支持分组维度和结果维度):

活动配置校验自动化

在一次大型的活动中,存在多场次不同类型玩法的组合,每个玩法是不同的运营人员来规划运营和协作,当前的配置和检查流程如下:

  • 各个运营人员按照各自的业务需求,在共享文档中,对各自业务的玩法配置做记录;

  • 然后在各自在线上配置后台中完成活动配置数据的录入;

  • 上线前,运营人员协同技术人员,通过人工检查的方式,对线上配置数据进行检查。

以上流程存在的痛点:

  • 配置信息量大,没有标准化的配置文档,配置的层次结构不清晰,一方面无法统筹整个活动配置,一方面难以聚焦关注的配置数据。

  • 线上配置分散在多个平台页面中,靠人工检查,容易遗漏。

方案

为了解决以上配置非标准化带来的各种痛点问题,我们结合当前活动的业务场景,将配置规范化为四大模块:榜单、任务、抽奖、兑换。然后在此基础上,结合业务提供的配置查询能力,实现一整套活动配置校验的自动化。架构如下:

  • 文档:在活动的维度,以在线导图的形式,记录活动配置数据。支持大纲视图和导图两种预览形式。

  • Template:比对模板,配置数据中存在大量的属性数据,属性数据有些是需要校验,有些是不需要校验,因此转成统一的模板,来进行对比校验。

  • Validator:校验器,完成线上配置数据的比对模板与文档配置数据的比对模板的校验,并输出校验结果。

操作流程

具体的后台操作上,我们考虑借鉴导图的模式,来实现统一的数据规划。通过实现在线结构化导图的形式,来替代非标准化的共享文档记录方式,既能够更清晰的统筹一次活动的所有配置数据,也能够快速聚焦到某一块关注的配置数据。具体操作界面如下:

  • 一次大型活动的所有配置称之为"文档",或者说文档就是活动所有配置的集合体,统一在文档后台管理:

  • 文档的具体配置中,以活动为根节点,借鉴在线导图的形式,逐级划分子活动,然后子活动中挂载具体的业务场景配置(也就是规范出来的四大模块),整体的结构如下:

  • 导图中,节点支持增删改,双击模块节点可进入模块的配置面板。结合每个模块需要的业务配置项,将业务预期的结果数据,转化为标准的配置数据,具体如下:

  • 文档管理后台触发校验后,后端异步执行校验,并将校验结果划分为四类:

  • 线上一致:某一项配置数据,文档和线上的配置一致。

  • 线上缺失:某一项配置数据,文档中有,但线上没有配置。

  • 线上多出:某一项配置数据,文档中没有,但线上有配置。

  • 线上差异:某一项配置数据,文档和线上都有配置,但是配置数据不一致。

  • 校验报告同样按照 子活动-结果分类-具体配置项 的层级聚合展示,示例如下:

校验失败的报告示例

至此,一整个配置和校验流程结束。

总结

  1. 活动回归自动化,实现了计划管理、Jenkins任务调度、场景用例脚本执行和可视化报告的能力,完成了直播&社交直播下活动榜单和活动任务的核心场景接入。在借助平台的自动化回归能力,可快速完成榜单和任务模块的回归验证,从原有的人工手动验证1d降低至0.2d,在提升回归效率的同时又增加了活动核心场景的保障维稳手段。

  1. 活动配置校验自动化,实现了文档的管理能力、活动业务数据查询能力、文档配置与线上配置的比对校验能力。同时提供了丰富的可视化文档页面,可快速进行活动模块数据的查阅。在配置比对效率上,从原有的各项目参与同学线下拉会对齐(单人*0.5d),降低至单人0.1d,提高了整个活动团队的配置比对效率,在大型活动中效果更为显著。

本文发布自网易云音乐技术团队,文章未经授权禁止任何形式的转载。我们常年招收各类技术岗位,如果你准备换工作,又恰好喜欢云音乐,那就加入我们 [email protected]

相关推荐
song_ly0015 天前
深入理解软件测试覆盖率:从概念到实践
笔记·学习·测试
试着9 天前
【AI面试准备】掌握常规的性能、自动化等测试技术,并在工作中熟练应用
面试·职场和发展·自动化·测试
waves浪游9 天前
论坛系统测试报告
测试工具·测试用例·bug·测试
灰色人生qwer10 天前
使用JMeter 编写的测试计划的多个线程组如何生成独立的线程组报告
jmeter·测试
.格子衫.10 天前
powershell批处理——io校验
测试·powershell
试着11 天前
【AI面试准备】TensorFlow与PyTorch构建缺陷预测模型
人工智能·pytorch·面试·tensorflow·测试
waves浪游11 天前
博客系统测试报告
测试工具·测试用例·bug·测试
智云软件测评服务13 天前
数字化时代下,软件测试中的渗透测试是如何保障安全的?
渗透·测试·漏洞
试着14 天前
【AI面试准备】XMind拆解业务场景识别AI赋能点
人工智能·面试·测试·xmind
waves浪游15 天前
性能测试工具篇
测试工具·测试用例·bug·测试