我是标题
  • 介绍
  • 产品使用指南
    • 新手入门
      • 神策分析是什么
      • 神策分析能做什么
      • 神策分析怎么解决问题
      • 神策分析的数据来源
    • 功能介绍
      • 基本概念
        • 行为分析常用名词
        • 神策分析相关名词
        • 基础指标配置说明
        • 属性筛选条件说明
      • 分析模块
        • 事件分析
        • Session 分析
        • 漏斗分析
        • 留存分析
        • 分布分析
        • 归因分析
        • 用户路径分析
        • 网页热力分析
        • APP 点击分析
        • 间隔分析
        • 用户属性分析
        • 搜索用户
        • 用户分群
          • 用户分群(1.14 版本)
          • 用户分群
          • 用户分群(1.13 之前版本)
        • 用户行为序列
        • 书签及数据概览
          • 数据概览(1.11 之前版本)
          • 概览分组
          • 渠道对比组件使用说明
          • 预置概览
        • 自定义查询
      • 辅助功能
        • 事件分类
        • 查询抽样
        • 权限管理
          • 角色权限与账号(1.14 版本)
        • 预警管理
        • 元数据管理
        • 可视化全埋点
        • 维度字典
        • 正则表达式
        • 推荐分享
        • 小版本升级
        • 掌上神策分析
  • 技术指南
    • 数据采集
      • 数据模型
      • 数据格式
      • 调试模式
        • 调试模式动态配置
      • 数据校验
      • 导入实时查看
        • 导入实时查看(新版本)
        • 导入实时查看(老版本)
      • 埋点管理
      • 多项目
      • 如何准确的标识用户
      • 新增用户及首日首次标记
    • 快速接入指南
      • 接入前准备(全员阅读)
      • 如何准确的标识用户 (全员阅读)
      • 事件设计 (需求方阅读)
      • SDK 采集数据 (开发必读)
        • JavaScript 快速使用
        • 微信小程序快速使用
        • Android 快速使用
        • iOS 快速使用
        • Java 快速使用
      • 数据校验(测试必读)
    • 客户端 SDK
      • C++ SDK
      • 微信小程序 SDK
        • 微信小程序 SDK 历史版
        • 微信小程序 SDK 标准版
        • 微信小程序 SDK 插件版
        • 微信小程序 SDK 自定义全埋点版
      • 支付宝小程序 SDK
      • 百度小程序 SDK
      • JavaScript SDK
        • 常见问题
        • 全埋点(AutoTrack)
        • 点击图(HeatMap)
        • 单页面
        • 关闭页面发数据
      • Android SDK
        • 常见问题
        • 全埋点(AutoTrack)
        • 点击图(HeatMap)
      • iOS SDK
        • 常见问题
        • 全埋点(AutoTrack)
        • 点击图(HeatMap)
      • 打通 App 与 H5
      • App 第三方框架
        • React Native(Android & iOS)
        • Flutter(Android & iOS)
        • Weex(iOS)
        • Weex(Android)
        • 第三方 H5 页面嵌入 js(iOS)
        • 第三方 H5 页面嵌入 js(Android)
      • APICloud SDK
    • 服务端 SDK
      • C SDK
        • C SDK Demo
      • CSharp SDK
      • Java SDK
        • Java SDK Demo
      • Python SDK
      • PHP SDK
      • Ruby SDK
      • Golang SDK
      • Node SDK
    • 公共属性
    • 渠道追踪
      • App 渠道追踪
      • Web 渠道追踪
      • 小程序渠道追踪
      • 渠道对接
      • 渠道链接管理
    • 数据导入
      • BatchImporter
      • LogAgent
        • LogAgent 场景使用示例
      • FormatImporter
      • HdfsImporter
      • 数据导入常见问题
    • 数据导出
      • 查询 API
      • 订阅实时数据
      • 使用 JDBC 进行数据访问
      • 数据迁移
    • 辅助工具
      • 数据清理工具使用说明
      • 多项目管理工具使用说明
      • 元数据创建工具使用说明
      • 环境检测工具使用说明
    • 高级功能
      • 数据接入 API
      • App 消息推送
      • 虚拟属性和维度表
      • 数据预处理模块
      • 服务转发配置
      • 使用 HTTPS 的数据接入
      • API
        • 查询 API
        • 功能 API
          • 分群 API(1.12 及之前版本)
          • 分群 API(1.13 版本)
          • 分群 API(1.14 版本)
          • 埋点统计 API(1.11 及之前版本)
          • 埋点统计 API(1.12 及之后版本)
      • 第三方登录
      • 数据归档
  • 最佳实践
    • 功能应用示例
      • 事件分析
      • 漏斗分析
      • 留存分析
      • 分布分析
      • 间隔分析
      • 用户分群
      • 自定义查询
      • 用户行为序列
    • 复杂分析场景
      • 定位商品销量变化原因
  • 常见问题
  • 产品更新日志
Powered by GitBook
On this page
  • 1 事件和属性完整性校验
  • 1.1 检查事件及名字是否与《事件设计文档》一致。
  • 1.2 点选事件名,检查其包含的属性是否完整,名字和类型是否正确。
  • 2 对用户关联情况进行校验
  • 2.1 检查 first_id 取值
  • 2.2 检查 second_id 取值
  • 2.3 检查用户 ID 关联过程是否正常
  • 3 验证 App 与 H5 打通

Was this helpful?

  1. 技术指南
  2. 快速接入指南

数据校验(测试必读)

PreviousJava 快速使用Next客户端 SDK

Last updated 6 years ago

Was this helpful?

本环节由测试人员完成,需要完成的任务如下:

  • 对事件和属性的完整性及数据类型进行校验

  • 对用户关联情况进行校验

  • 验证 App 与 H5 打通(做了打通的情况下)

1 事件和属性完整性校验

进入神策分析页面,点击左下角【元事件管理】,查看元事件和属性字段,请注意此时事件和属性显示名仍是英文,后续需要统一调整为对应的中文名。检查项如下:

1.1 检查事件及名字是否与《事件设计文档》一致。

1.1.1 事件是否有遗留或新增。如有新增事件可能是开发人员测试产生的,需要开发确认相关的埋点代码已经清除。如有遗留则可能是漏埋了或者埋点了但是未传输过数据。

1.2 点选事件名,检查其包含的属性是否完整,名字和类型是否正确。

1.2.1 属性是否有遗留或新增。这块遗留的情况比较常见,可能是漏埋了。

1.2.2 属性值类型是否与事件设计一致。如不一致,请开发在代码里修正变量类型,然后联系技术支持同学修改变量类型,修正后的数据才可正常入库。或者另取一个属性名,数据即可直接入库。

2 对用户关联情况进行校验

该环节需要结合神策分析中“自定义查询”的功能来操作,校验的目的有 3 点:

  • 1、检查 first_id 取值是否存在异常,是否有将 second_id 写入 first_id 的错误操作;

  • 2、检查 second_id 取值是否异常,是否有正常关联的用户存在;

  • 3、检查用户 ID 关联过程是否正常。

2.1 检查 first_id 取值

查询 users 表,检查查询结果中 first_id 是否为设备 ID,以及是否存在异常情况。以下是各端 SDK 默认取的设备 ID ,可根据 ID 格式大致判断 first_id 取值是否正常。

查询 sql: select * from users limit 1000

SDK 类型

ID 样式

Android 端

01c23e12e10a7810(AndroidID 为 16 位 ,字母+数字组成)

iOS 端

447BAE19-7117-4D1B-81E2-7B46AA7998A4(IDFA / IDFV / UUID 为32位,8-4-4-4-12)

H5 端

15ffdb0a3f898-02045d1cb7be78-31126a5d-250125-15ffdb0a3fa40a

微信小程序

oWDMZ0WHqfsjIz7A9B2XNQOWmN3E(28 位,字母+数字组成)

上面查询结果中可能存在的常见情况有:

  • first_id = second_id,这种情况可能是正常的,如果开发人员在同一台设备上登录过多个账号,则除了首个登录的账号会进行正常关联外,其余账号均会发生自关联,即出现 first_id = second_id = 账号 ID 的情况。

  • first_id 的实际取值不是设备 ID,而是账号 ID,而 second_id 取值为空,这种情况代表着 second_id 误写入了 first_id,可通过下方SQL 进一步检查。

查询 sql:SELECT u1.first_id, u1.second_id, u2.first_id, u2.second_id FROM users u1 JOIN users u2 ON u1.first_id = u2.second_id WHERE u1.second_id IS NULL;

如果以上查询有返回结果,原因可能但不限于如下情况:

  • $SignUp 事件传送失败,导致没有关联成功;

  • 后端在传 distinct_id 时没有设置 is_login_id 的参数值为 true;

  • 调 login 时误调用了 identify,将登录 ID 替换了匿名 ID。

2.2 检查 second_id 取值

2.2.1 查询 users 表,观察 second_id 取值是否是预设的 user_id 或其他用户唯一标识。注意,在测试环境中 second_id 大部分为空的情况可能是正常的,开发人员可能仅对少量测试账号进行了 ID 关联的尝试

2.2.2 检查是否有正常关联的情况存在,即 first_id 取值为设备 ID,second_id 取值为 user_id。

2.3 检查用户 ID 关联过程是否正常

在 users 表的查询结果中,选取一个正常关联的情况的 id(users 表的 id 字段)在events 表中查询行为记录。

查询 sql:select * from events where user_id = "选取的id“ order by time

查询结果中主要观察的点,首次触发 $SignUp 事件前后,events 表中的数据记录的 $distinct_id 字段前后取值会由设备 ID 替换为 user_id。存在这个情况便表示存在有正常关联的过程。如果您采取的是多对一的关联方案,请联系对应的分析师协助这部分内容的校验。

3 验证 App 与 H5 打通

如果是开发人员,进入神策分析页面,点击左下侧【埋点】—>【导入实时查看】—>【Debug 数据】 事件名选择 “$pageview” 点击【开始刷新】实时查看具体事件及属性是否正确。在手机上,打开 App 进入到 H5 页面。看 “$pageview” 事件的属性,如果有 “$wifi” “$network_type” 、“$app_version” 、“$carrier”等字段,说明 App 和 H5 打通成功。(或者开启 SDK 调试日志后,在开发工具的控制台,通过输出的事件日志信息来核对)

也可以在事件分析中,找到 Web浏览页面 事件,查看事件属性中是否带有 设备ID、应用版本、是否 WIFI、网络类型、运营商。

在开始本小节的校验之前,请提前阅读 第 2 步: 并确定理解了用户关联的概念和方案。

做了 打通 的情况下,才需要进行本环节的验证。

如何准确的标识用户
App 与 H5