埋点测试

七言 2025-8-1 7 8/1

[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

埋点测试核心目标

  1. 完整性
  • 所有预设事件(点击、曝光、页面停留等)是否触发
  1. 准确性
  • 事件命名、参数值(如按钮位置、商品ID)是否正确
  1. 一致性
  • 多端(iOS/Android/Web)数据格式统一
  1. 实时性
  • 数据上报延迟是否符合预期(通常<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三个字段,开发有时候会少传,或者不传,或者字段错误

报告关键指标

  1. 埋点覆盖率 = (已测试事件数 / 需求事件总数) × 100%
  2. 参数错误率:数值型传字符串等异常比例
  3. 丢失事件数:服务端未接收到的事件
  4. 关键路径转化率:如 注册→支付 漏斗数据连续性
- THE END -

七言

8月01日15:53

最后修改:2025年8月1日
0

非特殊说明,本博所有文章均为博主原创。

共有 0 条评论