[TOC]
埋点测试
什么是埋点测试
- 埋点测试(Event Tracking Test)就是验证“用户行为触发 → 数据准确上报 → 分析平台可见”的完整链路是否符合预期
测什么
维度 | 验证点 | 举例 |
---|---|---|
事件触发 | 动作→事件名正确 | 点击“立即购买”只触发 purchase_click ,不触发 cart_click |
属性完整 | 字段不缺、类型正确 | price (double)、category (string)、user_id (string) |
时序 | 多步骤场景顺序正确 | 下单流程:view → click → pay → result |
边界 & 异常 | 连续点击、弱网、杀进程 | 快速连点 5 次只上报 1 次;断网恢复后补报 |
性能 | 埋点不能拖慢主流程 | 埋点 SDK 初始化 < 200 ms,上报包大小 < 10 KB |
埋点测试核心目标
- 完整性
- 所有预设事件(点击、曝光、页面停留等)是否触发
- 准确性
- 事件命名、参数值(如按钮位置、商品ID)是否正确
- 一致性
- 多端(iOS/Android/Web)数据格式统一
- 实时性
- 数据上报延迟是否符合预期(通常<3s)
用什么测
场景 | 工具/方法 | 用法一句话 |
---|---|---|
实时抓包 | Charles、Fiddler | 打开抓包,过滤域名,触发事件,看 JSON 是否到达 |
移动端调试 | Xcode/ADB + SDK Debug 日志 | iOS:idevicesyslog \| grep event ;Android:adb logcat \| grep track |
浏览器端 | Chrome DevTools + 分析平台 Debugger(GA Debugger、Adobe Debugger) | 控制台直接看 event 与 payload |
自动化 | Selenium / Puppeteer / Airtest | 脚本模拟点击、滑动,断言上报字段 |
埋点管理平台 | 神策、友盟、GrowingIO 自带验证工具 | 输入版本号→实时查看事件列表→一键对比未触发项 |
怎么测
1.拿到《埋点需求文档》:
- 一般是EXCEL,文档内包含如事件名、触发时机、必传属性、采样率。
2.用例设计
- 每个事件至少3条用例:正常触发、边界操作、异常场景
3.环境准备
- APP的话,安装已经编码埋点的测试包
- 工具:抓包工具(Charles), 数据验证平台(神策/GrowingIO后台),日志查看工具(Android平台用androidsdk,iOS平台用xcode)
4.测试操作
-
抓包 & 触发事件:
-
打开 App / H5 → 执行埋点规范里定义的操作(点击、滑动、曝光等)
-
在 Charles 的 Structure 或 Sequence 面板中,用Filter输入关键字(事件名、域名、路径)快速过滤无关流量 或 使用 Focus 功能过滤埋点域名(如 datacollect.example.com)
-
验证埋点报文:
-
双击找到的埋点请求 → 切到 Contents 面板:
检查项 | 说明 |
---|---|
URL | 是否命中埋点网关路径(如 /event/upload ) |
HTTP 状态码 | 200 表示成功,4xx/5xx 需要排查 |
Request Payload | JSON 中查看事件名、属性、值是否完整正确(可以用 JSON Text 视图) |
Query 参数 | 部分埋点用 GET 方式,参数在 URL 上,同样需校验 |
-
查看埋点日志:
-
服务器查看日志:
- 进入Linux,cd到对应日志文件地址(寻求开发确认)
- 使用tail -f 加上文件名打开
- 加上一个过滤字段:tail -f 文件名 |grep 打点字段
- 再去app/H5里触发对应的操作,查看日志中是否出现了对应的打点字段
-
Android查看日志:
- 在Android手机端安装带有埋点的安装包
- 在电脑端打开Android studio,同时通过usb连接手机
- 查看埋点字段表,执行对应有埋点的操作,比如:若app登录处埋点。则若在app上点击登录button,正常情况下能通过查找日志找到对应的埋点
- 检查埋点是否正确,出错的情况有:
- 漏埋点。比如,若执行a步骤找到埋点a;执行b步骤,却找不到埋点b。大概率是埋点b没有被埋
- 多埋点。比如,若只是操作一次,却找到多个埋点
- 埋点和操作类型不对应,比如,点击的是“确认”,却上报了“返回”
-
结果确认:
-
登录分析后台(神策、友盟、GA 等)确认数据已入库且字段一致,如神策
典型问题
问题现象 | 根因分析 | 修复方案 |
---|---|---|
事件重复上报 | 按钮快速点击未做防抖 | 前端增加300ms点击冷却期 |
参数值丢失/为null | 未处理异步数据获取失败 | 添加默认值逻辑(如 price=0 ) |
iOS/Android同名事件参数不一致 | 两端开发规范未对齐 | 建立埋点Schema强制校验机制 |
生产环境数据量骤降 | 新版本SDK兼容性问题 | 热修复SDK + 版本灰度发布 |
- 易出现的问题
- 埋点没埋上:经常会有开发,埋点的时候字段搞错,或者是触发条件搞错,导致做了相应操作,但是日志里查不到埋点
- 埋点多次触发:有时候,开发在写逻辑的时候,会出现问题,比如说只点击了一次广告,但是连续触发了多次埋点,这也是有问题的,会造成数据上统计不方便
- 埋点字段参数错误:如埋点字段是有type、index和linkURL三个字段,开发有时候会少传,或者不传,或者字段错误
报告关键指标
- 埋点覆盖率 = (已测试事件数 / 需求事件总数) × 100%
- 参数错误率:数值型传字符串等异常比例
- 丢失事件数:服务端未接收到的事件
- 关键路径转化率:如
注册→支付
漏斗数据连续性
- THE END -
最后修改:2025年8月1日
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:https://www.qian777.cn/38.html
共有 0 条评论