埋点自动化测试框架设计

dreamyu dreamyu     2022-11-28     248

关键词:

  大数据时代,多数的web或app产品都会使用第三方或自己开发相应的数据系统,进行用户行为数据或其它信息数据的收集,在这个过程中,埋点是比较重要的一环。埋点收集的数据一般有以下作用:

1.  驱动决策:ABtest、漏斗优化、用户增长、bug修复、精准营销、流失用户预警

2. 驱动产品智能:智能推荐(千人千面)、场景化提示(私人助理)等

3. 驱动安全:风险识别

 

埋点测试分类

  埋点测试,首先要了解埋点的分类,埋点主要分为:前端埋点、后端埋点

1. 前端埋点:前端埋点可以理解为web端,app端等在前端触发相关规则时进行的埋点上报等,主要记录的是用户的操作行为,例如点击了哪个按钮,进入了哪个页面等等。

2. 后端埋点:主要是服务端埋点,可以理解为当用户进行相关操作触发相关接口请求或相关业务的时候,进行的埋点上报。

  那么两者有什么区别呢?

  在实际过程中,有些埋点是不用特意区分前后端的,用户的一个埋点事件在前端埋点或后端埋点都可以实现,但是需要注意的是,在实际埋点上报、数据收集等过程中会有数据丢失的情况,从这个角度来看的话,其实后端埋点要比前端埋点更有优势,前端埋点会因为一些网络问题、适配问题等等容易出现上报异常造成数据丢失且丢失后排查困难,因为前端相关的是没有记录相关操作的,只负责上报,上报成功与否没有记录。而如果是后端埋点,无论是自己的数据系统还是第三方数据系统都是可以通过自己系统本身相关的数据库查询或记录日志等操作进行埋点数据的校验排查,所以针对一些比较重要的埋点,还是建议以后端埋点为主,必要时通过记录日志或记入数据库等方式对相关数据进行二次记录以便进行数据核实。

 

埋点测试过程

  埋点测试的过程有两个比较重要的环节,埋点上报和埋点落库

1. 埋点上报:无论是前端埋点还是后端埋点,有没有正常按照相关规则进行上报,相关的事件名、属性值都是否完整正确上报,这个是需要关注的

2. 埋点落库:埋点上报完的数据是需要存储到数据库当中再进行相关的数据统计、分析、归类等等,除了检查埋点上报,还要看最终数据是否正常落库,相关数据字段是否正常。

 

埋点自动化测试设计

  了解了埋点测试的分类和过程,再思考如何针对埋点进行自动化测试。首先埋点自动化测试与其它自动化测试的方案设计在目的层面应该是一致的,是为了更好的进行埋点回归测试,扩大埋点回归的覆盖率,特别是针对一些核心的埋点数据,例如一些埋点数据是转化相关数据,而转化数据直接跟核心业务相关,有些核心业务还会根据转化数据进行营销、销售、业绩等相关统计,埋点数据不准直接影响到这些东西。

  那么如何进行埋点自动化测试设计呢?

  可以进行分层设计

1.  用户应用层框架-移动端Appium,web端selenium,主要是模拟用户正常的业务操作

2. 数据mock、上报数据收集-通过构造测试数据给到用户应用层使用,并且通过代理抓包收集上报数据,进行上报数据校验(jsonschema校验)

3. 服务端上报及落库查询-通过链接数据数据库或使用相关API,查询测试上报数据是否落库。

 

技术图片

 

 

另外,还需要结合Jenkins进行持续集成,每天或每次发版前对所有埋点进行回归测试。

 

 

 

字节跳动大规模实践埋点自动化测试框架设计

大数据时代,多数的web或app产品都会使用第三方或自己开发相应的数据系统,进行用户行为数据或其它信息数据的收集,在这个过程中,埋点是比较重要的一环。埋点收集的数据一般有以下作用:驱动决策ÿ... 查看详情

熬夜整理的自动化测试框架结构图,值的一看

自动化测试框架结构图目录自动化测试框架结构图1、接口自动化测试框架设计图2、接口自动化执行设计图3、API自动化平台框架设计图4、UI自动化测试框架设计图5、接口+UI自动化测试框架设计图6、Appium移动端自动化测试框架... 查看详情

webui自动化测试框架搭建之需求整理详细设计框架设计(代码片段)

(WebUI自动化测试框架搭建之需求整理、详细设计、框架设计)1总体需求1.1实现目的基于BS架构,模拟用户(鼠标、键盘)操作,达到快速、重复执行测试用例;便于回归测试,快速覆盖主线用例或功能;线上或线下巡检测试,结... 查看详情

api接口自动化测试框架搭建-详细设计&框架设计

...细分析,主要有下:功能说明使用Unittest框架开源自动化测试框架,直接使用批量或指定用例运行Unitt 查看详情

测试人如何高效地设计自动化测试框架?

...,提高测试覆盖率等这里就不讨论了。这里主要讨论自动化框架包含哪些内容,以及如何去设计一个测试框架。什么是自动化测试框架?它是由一个或多个自动化测试基础模块、自动化测试管理模块、自动化测试统计... 查看详情

api接口自动化测试框架搭建(二十三)-框架主入口main.py设计&测试报告调用和生成(代码片段)

(二十三)-框架主入口main.py设计&测试报告调用和生成1测试目的2测试需求3需求分析4详细设计4.1新建框架主入口脚本4.2设计main.py脚本5调用测试报告主函数main.py源码6运行效果7目前框架结构1测试目的组织运行所有的测试用例... 查看详情

简单的聊下自动化测试框架的设计(代码片段)

简单的聊一聊自动化测试平台设计的事在大部分博客,或是交流群,或是大家日常工作中,在学习和实践自动化测试时,都会接触到以下关键词:数据驱动测试框架关键字驱动测试框架混合测试框架等等那在... 查看详情

1-1接口自动化测试框架从设计到开发

...开发工程师,但是想成为测试开发工程师必须会一种接口自动化框架。必须从设计框架,开发框架,重构框架做起。要做到这些内容我们必须从以后这几个路线开始:1.接口基础(HTTP接口熟悉,常见接口介绍,接口测试工具的使... 查看详情

关于接口测试——自动化框架的设计与实现

一、自动化测试框架在大部分测试人员眼中只要沾上“框架”,就感觉非常神秘,非常遥远。大家之所以觉得复杂,是因为落地运用起来很复杂;每个公司,每个业务及产品线的业务流程都不一样,所以就导致了“自动... 查看详情

看完这个你就牛了,自动化测试框架设计(代码片段)

...#xff0c;传统的手工测试方式已经无法满足测试需求,而自动化测试随之而生。自动化测试可以提高测试效率和测试质量,减少重复性的测试工作,从而降低测试成本。本文主要介绍自动化测试框架的设计与实现。二、... 查看详情

自动化测试的建设与应用

参考技术A一、从UI自动化到接口自动化1、UI自动化框架:appium+airtest模式:PO模式——用来管理维护一组页面元素的对象库应用场景:(1)app发版前的核心场景回归测试(2)多渠道包的回归验证(3)app大数据埋点自动化测试2、... 查看详情

接口自动化框架模型设计

一、分层设计的思想公共方法目录:common测试用例类模块目录:testcases测试数据目录:data测试报告存放目录:reports配置文件存放目录:conf日志文件存放目录:logs项目启动文件:run_test.py二、数据驱动思想(ddt)以用例数据来生... 查看详情

api接口自动化测试框架搭建(二十五)-框架主入口main.py设计&sendmail邮件服务调用和生成(代码片段)

(二十五)-框架主入口main.py设计&sendmail邮件服务调用和生成1测试目的2测试需求3需求分析4详细设计4.1设计main.py脚本5调用邮件服务主函数main.py源码6运行效果7目前框架结构1测试目的组织运行所有的测试用例,并测试报告和... 查看详情

selenium自动化测试框架之po设计模式

面向对象的特性:封装、继承、多态。在自动化中一样适用,Selenium自动化测试中有一个名字常常被提及PageObject(思想与面向对象的特性相同),通过PO模式可以大大提高测试用例的维护效率。传统测试脚本的弊端测试脚本分离... 查看详情

api接口自动化测试框架搭建(二十六)-框架readme.md设计(代码片段)

(二十六)-框架README.md设计1README作用2如何写README3框架结构完善4完整的README文档1README作用声明版权相关问题;描述框架代码的作用;告诉读者如何使用这个框架;框架的基本操作过程等;写框架的时候建议一定要有个README。2... 查看详情

api接口自动化测试框架搭建(二十四)-框架主入口main.py设计&log日志调用和生成(代码片段)

(二十四)-框架主入口main.py设计&log日志调用和生成1测试目的2测试需求3需求分析4详细设计4.1新建存放日志目录log4.2加入日志的方法4.3主函数入口main.py中调用日志5调用日志主函数main.py源码6运行效果7目前框架结构1测试目的... 查看详情

埋点设计思路-基础知识和设计流程

一. 埋点功能方面,埋点是用来收集用户行为数据。比如想要了解一个用户在APP里面点击了哪些按钮,看了哪些页面,做了哪些事情等,就可以通过埋点来实现。实现方式方面,埋点就是通过植入一段代码到某个页面或某个... 查看详情

pageobject设计模式

...构件(类)实例间交互的方法。  1.2 为什么要搭建自动化测试框架    自动化测试的开发,通常是由自动化测试的需求决定的。这个需求主要包括:自动化测试更便于实施解决自动化测试脚本本身存在的问题,如异常... 查看详情