GrowingIO 数据采集 iOS SDK 测试实践

作者:吕雨强

GrowingIO iOS 测试工程师,主要负责 iOS SDK 功能测试、自动化测试 。

GrowingIO 是基于用户行为数据的增长平台,精准采集用户行为数据是公司业务的基石,只有及时、准确、可靠的采集到数据,才能支撑上层的数据分析,用户画像,运营等业务,所以公司一直非常注重数据采集 SDK(Software Development Kit) 的质量保证工作。

为了满足客户的各种业务与技术的需求,GrowingIO 提供了 Web、Android、 iOS、Hybrid、各种小程序(微信、支付宝、头条、QQ 等 )、微信内嵌页等多种平台,以及 React Native、Flutter 、Cordova、Weex 、API Cloud 、AppCan 众多开发框架的 SDK,这无疑为 SDK 的测试工作带来的巨大的挑战。

本文主要介绍 GrowingIO 在 iOS SDK 测试方面的具体实践,希望对从事 iOS 测试的同学提供一些参考。

1. 数据采集 SDK 是如何工作的?

要测试一个软件或系统首先必须要先了解其业务逻辑和技术实现,接下来我们简单看下数据采集 SDK 是如何工作的。

GrowingIO 的数据采集 SDK 支持无埋点(全埋点)数据采集以及埋点数据采集,以满足不同的业务需求,其简易结构如下:
在这里插入图片描述
在用户打开 App ,浏览不同的页面,点击不同的元素(如按钮,文本框,图片),关闭 App 时,无埋点事件采集模块会将用户的具体行为自动采集并保存到手机的本地存储(关于无埋点数据采集的具体实现,欢迎关注 GrowigIO 后续的文章分享,这里不再详述)。

埋点事件采集与之类似,不同之处是埋点事件是由 App 主动调用 SDK 的埋点 API 触发事件采集,当然不同事件的具体数据格式有所不同。

接下来是数据发送模块,其主要负责将数据通过 HTTP API 上报到数据接收服务。

需要说明的是,为了节约用户的数据流量和电量,发送程序并不是实时上报的,它会根据设备的电量、网络类型、以及数据量进行发送时机的选择,而且发送前还会对数据进行压缩和混淆以降低传输数据量并提升数据安全性。

当然数据发送程序还会处理数据上报中的各种数据发送失败,网络异常等错误,采取适当的重试机制。

2. 如何测试?

通过以上结构分析,可以看出数据发送模块跟核心的数据采集业务关系不大,并且很稳定,几乎不会改动,因此我们测试的重点主要是数据采集部分,尤其是无埋点数据采集。

要测试数据采集首先需要有一个包含各种页面和元素的 Demo App,然后切换不同的页面,操作页面上的元素或触发埋点事件,然后检查采集到的事件数据是否正确。
在这里插入图片描述
检查事件数据有两种方式,一种是将事件详细数据通过日志打印出来观察日志检查;一种是通过抓包程序获取数据发送然后检查。

后者一般需要配置复杂的代理工具,而且数据量多,还需要考虑数据的解压缩、解密,比较难以精准定位到事件数据。所以在实际测试中一般使用前者。
在这里插入图片描述
上图是一个采集数据

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据提供的引用内容,iOS SDK的一键登录功能可以通过第三方库实现。可以使用苹果提供的Apple登录功能进行一键登录。具体步骤如下: 1. 引用中提到了几种登录方式,其中包括了Apple登录。这意味着你的App已经适配了Apple登录功能。 2. 引用中的代码片段展示了微信登录和Apple登录的逻辑。针对Apple登录,你可以使用相应的第三方库来实现一键登录功能。 3. 首先,你需要在苹果开发者平台注册你的App,并获取到相应的App ID。 4. 在你的代码中使用该第三方库,并调用相应的方法来初始化Apple登录功能,传入你的App ID。 5. 需要判断用户设备是否安装了微信和是否已登录微信账号,以提供相应的登录选项。 6. 对于Apple登录,你可以调用相应的方法进行授权登录,并指定所需的权限范围。 综上所述,你可以使用适配了Apple登录功能的第三方库来实现iOS SDK的一键登录功能。123 #### 引用[.reference_title] - *1* *2* *3* [flutter在IOS上的登录实现——QQ登录、微信登录、自动识别手机号一键登录、apple登录](https://blog.csdn.net/qq_41510985/article/details/121272687)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值