在【rainbowzhou 面试3/101】技术提问--大数据测试是什么,你如何测?中,我介绍了大数据系统测试之功能测试,含对数据的采集和传输,存储和管理,数据计算,数据查询和分析以及数据可视化等功能的测试。本篇的埋点测试便是其中功能测试的一部分。本篇将聊聊埋点测试是什么、埋点测试的流程以及埋点测试需要注意的点,希望对大家有所帮助。
说说我的理解,在应用程序(APP/H5/小程序等)投入运营后, 在做用户行为分析的时候需要挖掘核心业务功能使用情况时,往往会需要在应用的代码中添加一些额外的代码来采集数据,这就是所谓的“埋点”。而埋点测试就是对埋点数据的测试。
现在埋点方式主要分为三种,分别是:代码埋点、可视化埋点、无埋点(全埋点)。
采集的数据大致可以分为三类目标数据:
如图所示:测试人员主要是依据埋点需求进行数据的测试。
1.语义准确(一致性) 语义准确指的主要是我们要知道开发埋的是一个什么类型的点,这里的类型指代一个一个语义模型,例如一个卡片曝光( show + card )、一个按钮曝光( show + button )、一个页面曝光( show + page )、一个能打开页面的点击行为( event + openurl )。当我们去触发app某个事件的时候,是否打出来一个跟这个事件相匹配的语义埋点是我们最关心的事情。
2.字段准确(准确性) 埋点的每个字段的值在上报的时候应该保证准确,这里的准确是字段和埋点列表中的枚举值应该一一对应,例如卡片的曝光 logtype 是 show,element_type 是 card 等这种字段对应关系。
3.时机准确(顺序性) 埋点的时机是指埋点的顺序应该和用户操作以及页面曝光的具体事件一致,有几个比较明确的时序是我们需要提前知道的。
页面上的事件以及模块的曝光一定要在页面曝光之后打。
页面关闭之后绝对不能再打这个页面上的任何事件以及任何曝光。
前端的页面第一次进入容器的时候都由 sdk 的 hybird 容器打,后续相同容器内的页面跳转就由前端自己打。(前端的打点都有web_url,非前端的都没有web_url)
播放器播放事件是播放器自己打的点,自动播放的时候会打一个点,点击之后会先打一个点击的点,再打一个播放的点。(加备注,所有场景) 点击之后如果有跳转一定要打 openurl 事件,并且之后会打一个 pageshow 打点,只有多 tab 切换的时候可以不遵循这个规律。
定时器类打点生命周期需要做成只在当前页面内,切换页面或者 tab 要杀死相关打点线程。
4.是否重复上报,是否漏报 需要注意的主要是 pageshow 和交互事件是否有重复打点的情况。
5.埋点的 url 是否符合规范。
行为数据如下图所示,仅供参考:
以上是关于埋点测试的一些归纳总结和思考,此外非常感谢艾老师抽取宝贵的时间,来帮我答疑解惑~
看完今天的分享对你是不是有所启发呢,有任何想法都欢迎大家后台私信我,一起探讨交流。
本文分享自 rainbowzhou的成长足迹 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!