随着业务的高速发展,对于精细化流量运营的需求不断提升,埋点量级也在不断提升,埋点数据的质量问题是绕不过去的一个点。我们主要围绕“埋点管理”(定义管理和流程控制)、“埋点线下保障”、“埋点线上保障”这三个环节展开。改造流程、优化策略,打造相应的工具平台来固化流程和辅助测试,保障埋点开发正确性的同时,也提高协作效率。
随着业务的高速发展,对于精细化流量运营的需求不断提升,埋点量级也在不断提升,埋点数据的质量问题是绕不过去的一个点,但埋点质量保障又是个老大难问题:
针对这样的一个长链路的保障,我们主要围绕“埋点管理”(定义管理和流程控制)、“埋点线下保障”、“埋点线上保障”这三个环节展开。改造流程、优化策略,打造相应的工具平台来固化流程和辅助测试,保障埋点开发正确性的同时,也提高协作效率。在实施的过程中,我们也充分的利用了现有的各种能力,寻求各方合作(避免重复造轮子),快速的构建起一套能够跑得通的实操方案。
先来一张大图,描述一下此方案在各个环节的内容和工具平台建设(如下)。再详细地分三个小章节来描述各个点的实践细节;最后附录中会对各个平台系统的简介。
本着规范先行的思路,我们制定了一些的“流程规范”和具体的“研发规范”,比如:
“流程规范都在哪里找啊?新人来了谁培训(各个角色都要培训)?埋点定义在哪找,变更的维护很不及时,同一个埋点有好几个excel版本中不一样啊!?” 于是我们开始“夸父-埋点管理平台”的建设来固化流程、提高协作正确性和效率。
一方面,从思路上还是沿用了通用的测试思路,线下测试(新功能&回归)+ 线上监控。
新埋点测试
思路:手工触发、人工校验;新埋点需求可能比较碎片化,自动化的投入产出比不高
落地:依靠“夸父-埋点管理平台”提供的2个功能,“手动测试” 和 “自动测试方案”
回归测试
思路:利用UI自动化触发埋点 + 数据校验
落地:依靠“埋点自动化测试平台”
线上埋点监控
思路:监控线上埋点的实际上报情况
落地:依靠“夸父-埋点管理平台”提供的“埋点进度监控”能力
另一方面,也将埋点测试和现有研发流程进行了集成:
思路:策略制定 --> 触发测试 --> 度量结果 --> 上线门禁
落地:整体依靠“严选质量平台”控制全流程
为了支持埋点的手工测试,开发了2个能力来支持:
首先是“埋点数据实时展示”,可以根据用户提供的账号、期望关注的页面、行为、计划执行时间段等等信息,展示、校验、统计相关的埋点信息。避免去通过手机抓包来看数据,在通过大数据平台查询工具去数仓里查落表数据的麻烦。
其次,提供“执行集”的概念,来圈定本次测试需要执行的测试内容来判断执行的进度和测试覆盖情况。
随着用户的操作,能够实时展示上报并落入数仓的埋点数据详细信息。端到端的测试(不仅仅只测客户端是否正确)。
有的放矢,统计测试覆盖。筛选需要测试的埋点列表 -> 测试执行(手工或自动化)-> 覆盖情况统计
-如何筛选所需要测试的埋点列表?
随着埋点数量的不断增加,QA和开发同学在校验埋点数据的工作量越来越大。也常常因为回归不充分,出现一些比较“低级”的错误,比如必填字段为空、字段缺失或者Key不对等等。
为了避免这些问题出现且又能降低人工测试的成本,我们抽取了一些通用的校验规则来对收到的埋点数据进行自动稽核。比如:
这个数据自动化校验能力,在下面提到的手工测试、自动化回归、线上监控都会被应用到。
埋点回归和普通的功能回归相同,它主要的痛点是耗时耗力。
因此实际情况下,草草的部分回归是家常便饭,全回归的成本实在太高(哪怕是核心埋点的全回归)。为了解决这个问题,2019年下半年,开始共建埋点自动化测试平台,利用SmartAuto的UI自动化能力和夸父平台原有的埋点校验能力,解决客户端核心埋点的回归问题。
首先,大致介绍一下严选埋点上报的流程
其次,看一下埋点自动化测试的流程,以及它和其他现有平台的交互
最后,我们来介绍一下严选和杭研QA部一起合作开发的埋点自动化测试平台的使用姿势。把大(埋)象(点)装进冰箱(自动化回归)一共需要3步:
说完线下,再说说线上。客户端兼容性问题、线下无法完整覆盖所有的场景。作为对线下测试的补充,线上的埋点监控也是不可或缺。
因此我们也在夸父平台上提供针对每一个埋点的线上数据统计能力,当新增的/变更的埋点发布以后,QA、开发、产品同学可检查这些埋点线上的实际数据。
最后,针对缺失埋点可以利用热修复来保障及时修复,形成整个线上埋点保障的闭环。
优化埋点回归的测试
埋点数据自动化校验
埋点线上问题处理闭环加强
作者简介:
梁策:2014年加入网易,目前主要负责严选数据线的质量保障工作。对质量体系建设、各类测试技术有一定的实战经验和浓厚的兴趣。
领取专属 10元无门槛券
私享最新 技术干货