专栏名称: 互联网后端架构
主要介绍Java后端架构。其中也会掺杂一些前端、GO、Python、Linux,目标:全栈工程师!---好像很牛叉的样子 ^-^
目录
相关文章推荐
美团技术团队  ·  空降香港!美团无人机率先在港启航 ·  2 天前  
架构师之路  ·  第6篇10W+,原来不跳舞也可以... ·  5 天前  
架构师之路  ·  一个无价的DeepSeek闭门会,送10张门 ... ·  2 天前  
架构师之路  ·  总有人问,出海怎么用DeepSeek满血版( ... ·  5 天前  
51好读  ›  专栏  ›  互联网后端架构

优酷客户端埋点质量保障三步曲

互联网后端架构  · 公众号  · 架构  · 2020-03-02 08:05

正文

一、背景

优酷客户端在埋点的质量保障过程中,遇到了一些困难和挑战,我们从项目流程、测试方案、业务深入度 3 个方面进行改造,经历多个版本的迭代,形成了一套客户端埋点质量保障方案,这里和大家分享一下。

二、改造之前的我们

先来了解下优酷客户端埋点,它使用的是阿里巴巴的 UT(UserTrack)埋点,把不同的用户行为分成不同埋点事件,常见的事件有:页面事件、点击 / 曝光事件、播放事件,不同的事件又有基于位置和内容等多维度统计的埋点字段。

在实际的埋点测试工作中,不同事件和字段组合,一个版本的埋点数据需求量很大,而且需要面对枯燥的数据,辛苦测试完成,发布上线后却是“大问题偶尔有、小问题不间断”的状况,是不是很崩溃?

为什么会有这种状况?是因为整个环节存在诸多问题:比如,业务上,埋点需求延续性差,容易漏测;测试同学无法将埋点和业务的数据指标关联,排查问题无从下手;手工测试,效率稍低。流程上,常常是多个大项目项目同时进行,问题处理不及时。

三、埋点质量保障改造之路

针对上面的问题,围绕质量效率的目标,我们开启了埋点质量保障的 3 步改造之路:

1. 构建完备测试体系

1)解源头:优化埋点需求管理

如何高效的管理埋点需求,是构建完备测试体系的前提,我们开发了埋点管理平台,抛弃了原始的 Excel 埋点管理方式,统一将埋点录入平台来管理,在此基础上,还可以进行自动化等提效改造。

平台设计的初衷有 3 点:

a) 能够支持优酷内容分发、视频播放这种特有业务的数据需求;

b) 服务优酷,对于内部不同业务模块的多种需求,能够快速支持并上线;

c) 和质量部其他平台打通,能够进行质量效能统一管理。

平台覆盖 4 个维度,规则、需求、方案、报告,支持 5 类埋点事件,6 种埋点字段匹配能力:

a) 规则:埋点事件中不同字段的组合,方便埋点事件的字段录入;

b) 需求:单个埋点事件,包含不同字段;

c) 方案:多条埋点需求集合;

d) 报告:埋点测试报告;

e) 支持的埋点事件:页面、点击、曝光、播放、自定义;

f) 埋点字段匹配能力:等于、非空、包含、正则、枚举、自定义

“规则”和“需求”维度是针对埋点需求管理:我们为每条埋点需求制定了唯一 ID,

将具有不同规则的埋点需求单条或批量导入到平台,实现埋点的统一管理。

埋点管理平台设计框架

2)测试提效:自动化测试

埋点管理平台的后两个维度“方案”和“报告”,是针对埋点测试:借助埋点管理平台的日志匹配能力,我们设计了手动验证、自动验证功能,来解决测试手段单一,效率低的问题。

手动测试,是对统一录入的需求集合(即方案)实现手动测试、自动匹配。主要在需求功能测试阶段使用,只要保证设备和平台连通,业务测试的同时,平台就会进行埋点匹配验证。

自动测试,前提是要和设备实验室打通,通过 Jenkins 定时任务自动触发埋点自动化测试。主要在全量回归阶段使用,优点是可多业务大方案同时验证。

两种测试方式的结果埋点监控平台以报告形式展示,同时有钉钉和邮件通知。







请到「今天看啥」查看全文