数据校验(测试必读)
Last updated
Was this helpful?
Last updated
Was this helpful?
本环节由测试人员完成,需要完成的任务如下:
对事件和属性的完整性及数据类型进行校验
对用户关联情况进行校验
验证 App 与 H5 打通(做了打通的情况下)
进入神策分析页面,点击左下角【元事件管理】,查看元事件和属性字段,请注意此时事件和属性显示名仍是英文,后续需要统一调整为对应的中文名。检查项如下:
该环节需要结合神策分析中“自定义查询”的功能来操作,校验的目的有 3 点:
1、检查 first_id 取值是否存在异常,是否有将 second_id 写入 first_id 的错误操作;
2、检查 second_id 取值是否异常,是否有正常关联的用户存在;
3、检查用户 ID 关联过程是否正常。
查询 users 表,检查查询结果中 first_id 是否为设备 ID,以及是否存在异常情况。以下是各端 SDK 默认取的设备 ID ,可根据 ID 格式大致判断 first_id 取值是否正常。
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 进一步检查。
如果以上查询有返回结果,原因可能但不限于如下情况:
$SignUp 事件传送失败,导致没有关联成功;
后端在传 distinct_id 时没有设置 is_login_id 的参数值为 true;
调 login 时误调用了 identify,将登录 ID 替换了匿名 ID。
在 users 表的查询结果中,选取一个正常关联的情况的 id(users 表的 id 字段)在events 表中查询行为记录。
查询结果中主要观察的点,首次触发 $SignUp 事件前后,events 表中的数据记录的 $distinct_id 字段前后取值会由设备 ID 替换为 user_id。存在这个情况便表示存在有正常关联的过程。如果您采取的是多对一的关联方案,请联系对应的分析师协助这部分内容的校验。
如果是开发人员,进入神策分析页面,点击左下侧【埋点】—>【导入实时查看】—>【Debug 数据】 事件名选择 “$pageview” 点击【开始刷新】实时查看具体事件及属性是否正确。在手机上,打开 App 进入到 H5 页面。看 “$pageview” 事件的属性,如果有 “$wifi” “$network_type” 、“$app_version” 、“$carrier”等字段,说明 App 和 H5 打通成功。(或者开启 SDK 调试日志后,在开发工具的控制台,通过输出的事件日志信息来核对)
也可以在事件分析中,找到 Web浏览页面 事件,查看事件属性中是否带有 设备ID、应用版本、是否 WIFI、网络类型、运营商。
在开始本小节的校验之前,请提前阅读 第 2 步: 并确定理解了用户关联的概念和方案。
做了 打通 的情况下,才需要进行本环节的验证。