背景:
由于搜索埋点数据过于繁琐,每次测试任务量巨大,导致统计方面的一些工作的不方便,单靠人肉diff工作量大且效率低。
- 生产环境老埋点丢失,大批量埋点回归测试耗时耗力
- 埋点从需求,开发,测试,上线这一整个链路中,参与的角色非常多,涉及到 业务、PM,数据PM,分析师,开发(客户端、服务端,数据);
- 有4个端的埋点需要全量回归(移动端,h5,桌面端,web端),多端埋点,开发不同,埋点的正确性和一致性难以保障;
- 埋点是非结构化数据,如果文档和流程不足够规范,埋点中就经常会出现“必传而未传”、“非空而为空”、“值类型不对”、“值内容不对”等情况。
埋点的核心目的是要采集用户行为数据,并对数据结果进行分析,进一步优化产品或指导产品运营工作,那么如何体系化的去保障埋点数据质量呢?
各厂商埋点上报流程
这里以神策埋点作为示例,我们从一个web埋点上报发送入库的流程中看一下,在什么节点中测试是最高效,工作量最小的。
从我们画的流程图来看,有2个关键节点,我们可以来做测试验证
1.上报后
通常在埋点服务较为稳定后,基本可以认为上报了就等同于入库了,所以可以只看上报。
2.入库后
在入库后去再去做校验,是更加合理规范的做法,会绝对保证数据的一致性、完整性和准确性。
埋点测试方法比较
收集整理了各种埋点测试方法,方式各异,大体上有以下几种,目标是一致的保证埋点不丢失不重复:
埋点自动化测试
由于搜索埋点数据过于繁琐,每次测试任务量巨大,导致统计方面的一些工作的不方便,单靠人肉diff工作量大且效率低。现在开发一款自动化抓取埋点日志的工具,支持安卓苹果的全部产品形态,避免埋点多难以查找、分析困难等情况,辅助测试埋点 并今后结合自动化和脚本 设计埋点日志数据对比脚本,正则表达式判断部分key value,从而达到完全自动化的埋点检查,提升测试效率!
实践:
接下来的文章我们将一步一步带领大家完成 各厂商 的埋点自动化测试,解放你的双手,嗨起来,敬请期待!!
关注「测试开发囤货」公众号回复「数据分析」,送你一套 《深入浅出Pandas:利用Python进行数据处理与分析》教程!