软件测试测试员的那点事软件测试

埋点测试之二三事

2019-02-19  本文已影响47人  CC先生之简书
范.海伦的棕色MM豆

曾经有一个乐队在他们的演出条款中明确的写道:演出前,承办方必须提供巧克力豆,但绝对不许出现棕色豆;如有违反,乐队立即取消演出。

相信不少的同学在看到这个条款的时候第一反应都是,搞艺术的人怪癖真多!!!

真相是,多年后,这个乐队的主唱范·海伦在自传中揭晓这一霸王条款的来由:“乐队怎样检测承办方的重视程度?这似乎很难!而把棕色巧克力豆的条款夹在合同里,就是确认承办方是否认真阅读了所有条款的一个办法!在合同中巧妙‘布雷’,如果承办方不幸中招儿,那就没得谈!”事实上,这一条款出台后,乐队再没有为安全问题伤过脑筋。

上述这种Event Tracking的方式放在互联网应用中,俗称就是“埋点”。

从IT开发的角度出发,当应用系统(网站、App等)投入运营后,在做用户行为分析的时候需要去挖掘核心业务功能使用情况时,往往会需要在应用的代码中添加一些额外的代码来采集数据,这就是所谓的“埋点”。包括访问数(Visits),访客数(Visitor),停留时长(Time On Site),页面浏览数(Page Views)和跳出率(Bounce Rate)等。

这样的信息收集可以大致分为三大类目标数据:
1、行为数据:时间、地点、人物、交互、交互的内容;
2、质量数据:浏览器加载情况、错误异常等;
3、环境数据:浏览器相关的元数据以及地理、运营商等;

埋点的方法除了在产品研发的时候直接在程序里嵌入代码统计搭建自己的平台以供查询以外,也有利用第三方统计工具(如友盟、神策、GrowingIO、谷歌的Google Analytics等)。但是不管哪一种埋点方式也不管哪一种埋点机理,在数据埋点以后还需要做的非常关键的一件事情就是埋点测试,从测试人员的角度来看,更准确一点的说法为“埋点数据的测试”。

以下为网上盛传的知乎埋点测试的流程图,从图中可以看出测试人员主要是依据埋点需求进行数据的测试,也就是通常我们说的Checking而非Testing。


知乎埋点测试流程.jpg

埋点数据的注意事项

埋点数据的一致性:埋点数据的值需要注意客户端和服务端的一致性,包括编码格式、大小写、全角半角、发送时机等。

在规范化埋点数据的一致性后,还需要针对埋点数据的正确性进行检验。埋点数据又可以分为四个类型:展现类、点击类、状态类和计数类。

展现类的埋点。最关键的在于避免重复统计。比如在某宝搜索“华为手机”时,当用户输入了“华为MATE10手机”和“华为MATE10”出来的效果几乎是一样的,失去了统计的意义。

点击类的埋点。关键在于避免服务器超时的情况下连续点击导致的重复统计。

状态类埋点。关键在于避免统计默认状态。并且状态类埋点统计的一定是最终的状态。例如,由开切换到关,那么最后发出的状态数据一定是关闭的状态。

计数类埋点。关键在于避免遗漏。一般情况下,非实时发送的计数埋点容易出现遗漏情况,因为涉及到数据库的读写。因此在测试时要格外留意。

因此,大家可以看出埋点数据的正确性更多的是需要在埋点设计的前期就对需求进行正确性、合理性的考虑,埋点数据的一致性更多体现在实现的技术上对数据一致性的校验。

另外,还有一些特别的注意事项:

举一个小例子,拿经常使用埋点的移动端平台来说,比如我们需要查看Android平台的埋点是否有效时,前提准备是有Android平台的ddms环境(可以使用androidstudio,或者直接使用android sdk里带的monitor)和埋点字段表(这是开发埋点的依据,以及产品分析的标准)

测试方法为:
1、调起monitor之后,连接移动设备
2、设置logcat的filter,填写包名即可
3、取已埋点的安装包并且输出app埋点的日志
4、查看埋点字段表,执行对应有埋点的操作

比如埋点字段表中,需要监测的埋点为点击首页中的“下一步”时

埋点字段表

5、进入手机上的app,点击 下一步

6、查看ddms的logcat,即可看到操作的日志,如图所示:

logcat的日志

5、检查埋点是否正确,出现错误的情况一般是:

a)漏埋点

b)埋点和操作类型不对应,比如点击的是“下一步”,却上报了“返回”

c)埋点和操作频率不对应,比如只操作了一次,却上报了两次

关于埋点测试也可以做自动化的考虑,知乎,阿里等公司都出了对应于自己公司的埋点自动化测试工具,后续同学们要有兴趣也可以继续的八一八。

以上是关于埋点测试的一些归纳总结和思考,若有做埋点测试的同学也欢迎大家一起来讨论和分享。

顺祝元宵节快乐!

上一篇下一篇

猜你喜欢

热点阅读