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

本文作者: 赵浪、孙佛喜

背景

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

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

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

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

活动回归自动化

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

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

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

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

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

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

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

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

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

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

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

活动配置校验自动化

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

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

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

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

以上流程存在的痛点:

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

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

方案

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

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

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

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

操作流程

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

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

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

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

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

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

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

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

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

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

校验失败的报告示例

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

总结

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

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

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

相关推荐
Lossya6 小时前
【自动化测试】常见的自动化遍历工具以及如何选择合适的自动化遍历工具
自动化测试·功能测试·测试工具·自动化·测试
HinsCoder8 小时前
【渗透测试】——Upload靶场实战(1-5关)
笔记·学习·安全·web安全·渗透测试·测试·upload靶场
大柏怎么被偷了1 天前
【软件测试】测试的岗位有哪些?
软件测试·测试
革斤要加油6 天前
测试开发基础——软件测试中的bug
bug·测试
Amd79411 天前
使用 nuxi upgrade 升级现有nuxt项目版本
测试·开发·命令·升级·nuxt 3·nuxi·项目创建
bug菌¹15 天前
滚雪球学MyBatis-Plus(13):测试与部署
部署·测试·mybatis-plus·零基础入门教学
开测开测21 天前
day31-测试之性能测试工具JMeter的功能概要、元件作用域和执行顺序
测试开发·测试工具·jmeter·单元测试·压力测试·性能测试·测试
开测开测23 天前
day35-测试之性能测试JMeter的测试报告、并发数计算和性能监控
测试开发·测试工具·jmeter·压力测试·性能测试·测试·监控
small_snowball25 天前
三种自动化测试(接口自动化,UI 自动化,单元测试)保姆级教程
java-ee·测试
让开,我要吃人了1 个月前
OpenHarmony实战开发: unittest单元测试的编写
linux·华为·log4j·移动开发·测试·harmonyos·鸿蒙