软件测试中的移动端的埋点测试(干货)

简介: 软件测试中的移动端的埋点测试(干货)

什么是 埋点测试?

一、测试流程

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

图片.png

二、测试技巧

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

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

图片.png

三、测试方法

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

埋点的目的:实现app的数据收集和分析。

而数据收集和分析的意义是什么呢?

不同的人对于埋点有不同的目标。

比如对于版本的某个功能,产品可能只是想埋点以了解:

1、新功能是否得到用户的认可和使用?

2、用户使用的场景和路径是怎样的?顺畅吗?

3、是否需要针对反馈回来的数据,进行分析改进功能?

四、而对于某个广告和运营活动的投放,关注的可能是:

广告的展示率、用户的点击率、转化率、甚至是商业盈利等

总而言之,埋点本身其实是对于自己所设计的产品的有一个可视化健康检查,通过逻辑和数据,贯穿产品的整个生命周期,使产品逐步达到最佳状态从而实现硅谷最近所谓的“Growth Hacker”的效果。

另外,一般的app都会有一些核心指标和一般性指标,核心指标诸如下载量、用户数、活跃用户数、留存等等,一般性指标比如用户访问频率、停留时长、页面数等。

于是就衍生出了各种各样的埋点工具。市面上常见的埋点工具,谷歌的Google Analytics,国内比较普遍的第三方统计工具是友盟和talking data,现在小米和百度也有开放的统计sdk。

埋点的逻辑是:界面——事件——事件参数

每一个界面的每个事件都有唯一的标示ID

此外,每个界面中都会有公共参数统计,比如:userId、timestamp、taskId等

讲了这么多,那么埋点是怎么测试的呢?

通用的一种方式是直接第三方统计平台去定时查看自己的appid对应的数据。之前有测过Google和友盟的统计。

优点是,第三方平台的数据往往是经过分析汇总的,展示非常直观。但缺点,是这些平台数据往往不是时时更新的。

再加上第三方统计平台自己的稳定性也有待考量。所以没办法及时确认数据的准确性。

于是另一种方式是从客户端下手,查看开发的埋点日志。

工具:Android平台用androidsdk,iOS平台用xcode

五、Android平台

1.环境和资料准备

1、搭建ddms环境,可以使用androidstudio,或者直接使用android sdk里带的monitor

2、想尽一切办法拿到埋点字段表,这是开发埋点的依据,以及产品分析的标准

3、取已埋点的安装包并且输出app埋点的日志

2.测试步骤:

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

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

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

图片.png

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

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

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

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

测试方法

1、调起monitor之后,连接移动设备

2、设置logcat的filter,填写包名即可
图片.png

3、查看埋点字段表,执行对应有埋点的操作

比如
图片.png

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

4、查看ddms的logcat,即可看到操作的日志,如图所示:
图片.png

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

a.漏埋点

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

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

iOS平台

环境和资料准备

1、安装xcode,从appstore直接下载即可

2、找产品/开发拿到埋点字段表

3、找开发要已经埋点的安装包

测试方法

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

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

3、点击xcode的window —>devices(调起xcode之后,连接移动设备--选择Debug-Devices)

图片.png

图片.png

4、查看埋点字段表,执行对应有埋点的操作

5、检查埋点准确性

总结:

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

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
2天前
|
自然语言处理 安全 Java
【软件测试】教你如何写一份软件测试报告
【软件测试】教你如何写一份软件测试报告
|
2天前
|
安全 Java 测试技术
【软件测试】测试工具推荐
【软件测试】测试工具推荐
|
16天前
|
机器学习/深度学习 数据采集 人工智能
【专栏】AI在软件测试中的应用,如自动执行测试用例、识别缺陷和优化测试设计
【4月更文挑战第27天】本文探讨了AI在软件测试中的应用,如自动执行测试用例、识别缺陷和优化测试设计。AI辅助工具利用机器学习、自然语言处理和图像识别提高效率,但面临数据质量、模型解释性、维护更新及安全性挑战。未来,AI将更注重用户体验,提升透明度,并在保护隐私的同时,通过联邦学习等技术共享知识。AI在软件测试领域的前景广阔,但需解决现有挑战。
|
7天前
|
编解码 测试技术 Android开发
Appium Inspector与Weditor:移动端测试的利器
本文介绍了两款移动端自动化测试的元素定位工具:Appium Inspector和weditor。Appium Inspector是官方推荐的辅助工具,而weditor是基于Python的ATX生态工具,支持Android和iOS界面分析。weditor安装需Python 3.6以上版本,可能遇到的GBK编码问题可通过更改系统区域设置解决。它提供设备界面、元素详情和代码运行三个主要部分,便于元素定位、属性查看及交互代码执行。这两款工具对于提升开发和测试效率具有积极作用。
32 8
|
14天前
|
敏捷开发 机器学习/深度学习 Java
Java中的异常处理机制深入理解与实践:持续集成在软件测试中的应用探索自动化测试在敏捷开发中的关键作用
【4月更文挑战第29天】在Java编程中,异常处理是一个重要的概念。它允许开发者在程序执行过程中遇到错误或异常情况时,能够捕获并处理这些异常,从而保证程序的稳定运行。本文将详细介绍Java中的异常处理机制,包括异常的分类、异常的处理方式以及自定义异常等内容。 【4月更文挑战第29天】 随着敏捷开发和DevOps文化的兴起,持续集成(CI)已成为现代软件开发周期中不可或缺的一环。本文将探讨持续集成在软件测试领域内的关键作用、实施策略以及面临的挑战。通过对自动化构建、测试用例管理、及时反馈等核心要素的详细分析,揭示持续集成如何提高软件质量和加速交付过程。 【4月更文挑战第29天】 在当今快速发
|
15天前
|
机器学习/深度学习 人工智能 自然语言处理
提升软件测试效率:智能化测试用例生成策略
【4月更文挑战第28天】 随着软件开发的复杂性不断增加,传统的软件测试方法面临巨大挑战。为了提高测试覆盖率并确保软件质量,需要投入大量的时间和资源去设计、执行和维护测试用例。本文探讨了一种基于人工智能(AI)技术的智能化测试用例生成策略,该策略能够自动识别关键的测试路径,动态调整测试用例,并优化测试集合。通过引入智能化工具和算法,显著提升了软件测试过程的效率和有效性。
|
16天前
|
测试技术
【测试】优化软件测试:有效测试用例设计的关键
【测试】优化软件测试:有效测试用例设计的关键
|
17天前
|
jenkins 测试技术 持续交付
深入探索软件测试中的持续集成与自动化测试实践
【4月更文挑战第27天】 在当今软件开发的快速迭代过程中,持续集成(CI)和自动化测试已成为确保代码质量和加快交付速度的关键因素。本文将探讨如何通过实施持续集成流程,并结合自动化测试策略来优化软件测试工作。我们将分析持续集成的原理、自动化测试的最佳实践以及如何将这些方法应用于实际项目中,旨在为读者提供一套完整的解决方案,以提高软件项目的效率和质量。
17 3
|
19天前
|
机器学习/深度学习 人工智能 自然语言处理
提升软件测试效率:智能化测试用例生成策略
【4月更文挑战第25天】 在软件开发生命周期中,高效的测试用例设计是确保产品质量的关键步骤。随着人工智能和机器学习技术的不断进步,智能化测试用例生成已成为提高软件测试效率和效果的有力工具。本文将探讨智能化测试用例生成的策略,包括基于模型的学习、自然语言处理以及遗传算法等,并分析其对传统测试方法的影响,最后提出实施智能化测试的实践建议。
27 0
|
1月前
|
jenkins 测试技术 持续交付
软件测试|docker搭建Jenkins+Python+allure自动化测试环境
通过以上步骤,你可以在Docker中搭建起Jenkins自动化测试环境,实现Python测试的自动化执行和Allure报告生成。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
51 6

热门文章

最新文章