App的埋点测试

前言:


最近针对新开发的一款app进行了埋点测试。在这个过程中想总结自己对于埋点测试的学习与理解。


正文:

一、概念

埋点测试只是数据采集的一种术语,而数据采集是提供给运营工作人员去了解手机app对于某些模块、场景的用户使用情况,进行的一个触发埋点,将埋点采集到的数据到的数据进行上报的过程。采集数据只是起点,将数据进行分析、整理、汇总以及报表展示,最终得出用户对app普遍对使用行为,从而实现app面向用户的改良才是目的,为了产品更好符合用户需求体验才是终点。

以下就埋点测试的流程、技巧、方法这几个方面说起

二、测试流程

每一个app的完成,都少不了各方人员的共同努力,各司其职。如:产品经理符合提供需求以及确认app最后展示效果,研发人员负责编码开发app,测试人员负责测试app是否满足需求。为了更好的解释,我画了一个流程图:


三、测试技巧

1.了解开发针对不同模块分别用什么语言编写。若使用RN语言,则只需要测试一端即可。

现在普遍app开发是使用原生编程语言(如:ios端使用objective-C,Android端使用Java)+RN。而RN是开源的跨平台移动应用开发框架,完整封装了各种js内置的方法,则rn编码时是调用js处理逻辑层处理事件,而js会被转译成object-c和java。其实简单来说,我们在最上层编码开发app就能在Android和ios端使用。因为同一套代码,针对埋点测试只需要测试一端即可,这样就提高效率。不过因为RN组件不全,某些特殊功能就无法解决,则还是需要各自的原生语言去编码。关于rn使用的一个大致图提供参考:

针对RN语言的普及度,我特意去请教研发人员。研发人员说,现在普遍业务模块都是使用RN编码,减少代码冗余。除非某些特殊功能,比如:验证码、H5页面。

2.发现埋点缺失时,全方面去定位分析。

比如,我们测试ios端的工具使用的xcode不是非常成熟。所以若是某一端有埋点,另外一段没有埋点,问题可能来自:a.手机版本不兼容;b. xcode版本不兼容;c.中文日志有问题。

3.若是埋点真没有,可以自主拉取代码去跑动代码检查埋点。

发现问题后,尽可能去确认是否是bug,避免是因为个人失误,导致自己处于被动状态,同时也不易于项目的进展。

四、测试方法

其实我们有一个数据采集系统能统计埋点数据,数据经过分析汇总的,展示非常直观。但是,平台并不能区分是Android端或者ios端的触发,并且数据往往不是时时更新的,所以对于测试工作来说,无法保证埋点是否完成,数据不具有考核性。所以目前大部分公司是通过手机端连接电脑,通过查看日志方式去定位埋点情况。下面我们就Android端和ios端的测试方式讲述下:

Android

1.环境搭建:搭建ddms环境,可以使用android studio,或者直接使用android sdk里带monitor。

2.测试步骤:

1)在Android手机端安装带有埋点的安装包

2)在电脑端打开Android studio,同时通过usb连接手机

3)查看埋点字段表,执行对应有埋点的操作,比如:若app登录处埋点。则若在app上点击登录button,正常情况下能通过查找日志找到对应的埋点。


4)检查埋点是否正确,出错的情况有:

a)漏埋点。比如,若执行a步骤找到埋点a;执行b步骤,却找不到埋点b。大概率是埋点b没有被埋。

b)多埋点。比如,若只是操作一次,却找到多个埋点。

c)埋点和操作类型不对应,比如,点击的是“确认”,却上报了“返回”

ios

1.环境搭建:安装xcode

2.测试步骤:

1)在Android手机端安装带有埋点的安装包

2)在电脑端打开xcode,同时通过usb连接手机

3)点击xcode的window —>devices


4)查看埋点字段表,执行对应有埋点的操作,检查埋点的准确性。



总结:

尽管埋点测试在整个测试流程中操作相对简单,耗时较少,但是仍然是软件测试中不可或缺的一部分,保证埋点正常运作。通过埋点汇总后反馈的报表,可以科学有效的规划出一款APP的未来走向,更满足用户体验需求。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,306评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,282评论 4 61
  • 现在一思考问题,就出汗
    mimikatz阅读 160评论 0 0
  • 怎么才算一个好的交互设计? 空泛地回答,可以说满足用户行为需求的设计就是一个好的设计;更具体地可以说,就是符合可用...
    genrry阅读 719评论 2 8
  • 30.3.2防止内存泄露 1 使用Service时,尽量使用IntentService,这样可以避免忘记关闭服务。...
    xjbclz阅读 296评论 0 1