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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 软件测试中的移动端的埋点测试(干货)

什么是 埋点测试?

一、测试流程

每一个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日志并进行多维度分析。
相关文章
|
9天前
|
机器学习/深度学习 前端开发 测试技术
探索软件测试中的自动化测试框架选择与优化策略####
本文深入探讨了在当前软件开发生命周期中,自动化测试框架的选择对于提升测试效率、保障产品质量的重要性。通过分析市场上主流的自动化测试工具,如Selenium、Appium、Jest等,结合具体项目需求,提出了一套系统化的选型与优化策略。文章首先概述了自动化测试的基本原理及其在现代软件开发中的角色变迁,随后详细对比了各主流框架的功能特点、适用场景及优缺点,最后基于实际案例,阐述了如何根据项目特性量身定制自动化测试解决方案,并给出了持续集成/持续部署(CI/CD)环境下的最佳实践建议。 --- ####
|
10天前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
44 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
13天前
|
测试技术 开发者 UED
探索软件测试的深度:从单元测试到自动化测试
【10月更文挑战第30天】在软件开发的世界中,测试是确保产品质量和用户满意度的关键步骤。本文将深入探讨软件测试的不同层次,从基本的单元测试到复杂的自动化测试,揭示它们如何共同构建一个坚实的质量保证体系。我们将通过实际代码示例,展示如何在开发过程中实施有效的测试策略,以确保软件的稳定性和可靠性。无论你是新手还是经验丰富的开发者,这篇文章都将为你提供宝贵的见解和实用技巧。
|
11天前
|
jenkins 测试技术 持续交付
软件测试中的自动化测试策略
在当今快速发展的软件行业中,自动化测试已成为确保软件质量和效率的关键工具。本文将探讨自动化测试的重要性、实施策略以及面临的挑战,旨在为软件开发团队提供实用的指导和建议。
|
20天前
|
测试技术
探索软件测试中的“思维侧翼”——如何以创新思维引领测试策略###
本文旨在探讨软件测试领域中,如何通过培养与运用创新思维,提升测试策略的有效性与效率。不同于传统的技术解析或理论阐述,本文将以“思维侧翼”为喻,启发读者从不同维度审视软件测试,寻找突破常规的思路与方法。我们相信,在快速迭代的软件开发周期中,灵活多变且富有创造力的测试思维,是发现潜在缺陷、保障产品质量的关键。 ###
|
21天前
|
测试技术 定位技术 UED
软件测试的艺术:探索性测试的深度与广度
【10月更文挑战第22天】在软件开发的广阔舞台上,测试扮演着不可或缺的角色。本文将带领读者深入理解探索性测试(Exploratory Testing)的精髓,揭示其在现代软件质量保证中的价值。我们将通过实际案例、生动比喻和具体步骤,展现如何像艺术家一样进行软件测试,确保产品质量的同时,提升测试的效率和乐趣。文章不仅适合初学者建立测试基础,也能帮助资深测试人员深化对探索性测试的理解和应用。
|
19天前
|
监控 安全 jenkins
探索软件测试的奥秘:自动化测试框架的搭建与实践
【10月更文挑战第24天】在软件开发的海洋里,测试是确保航行安全的灯塔。本文将带领读者揭开软件测试的神秘面纱,深入探讨如何从零开始搭建一个自动化测试框架,并配以代码示例。我们将一起航行在自动化测试的浪潮之上,体验从理论到实践的转变,最终达到提高测试效率和质量的彼岸。
|
30天前
|
机器学习/深度学习 弹性计算 自然语言处理
前端大模型应用笔记(二):最新llama3.2小参数版本1B的古董机测试 - 支持128K上下文,表现优异,和移动端更配
llama3.1支持128K上下文,6万字+输入,适用于多种场景。模型能力超出预期,但处理中文时需加中英翻译。测试显示,其英文支持较好,中文则需改进。llama3.2 1B参数量小,适合移动端和资源受限环境,可在阿里云2vCPU和4G ECS上运行。
|
10天前
|
测试技术 持续交付
软件测试中的自动化测试策略与最佳实践
【10月更文挑战第31天】 在当今快速迭代的软件开发环境中,自动化测试成为确保软件质量和加速产品上市的关键。本文探讨了自动化测试的重要性、实施策略以及一些最佳实践。通过分析不同类型的自动化测试工具和框架,本文旨在为软件开发团队提供一套实用的指导方案,以提高测试效率和质量。
|
25天前
|
测试技术 开发者
探索软件测试中的自动化测试框架
在软件开发的世界中,质量是至关重要的。为了确保软件产品的质量,软件测试扮演着不可或缺的角色。本文将深入探讨自动化测试框架的概念、重要性以及如何有效地实施它们来提高软件测试的效率和效果。我们将从自动化测试的基本概念开始,逐步深入到不同类型的自动化测试工具和框架,最后探讨如何在实际项目中选择合适的自动化测试策略。

热门文章

最新文章