Java+MotionEvent实现埋点自动化

本文旨在帮助测试人员“0”代码完成UI自动操作以及埋点自动校验,基于现状,埋点测试以及每次发版需要花费大量时间验证相关埋点,并且随着业务发展,埋点数量只会越来越多,很难做到每次发版将全部埋点回归验证一遍,虽然线上有埋点数据监控系统,但是发现埋点数据异常时已处于外网阶段,因此需要一套机制降低埋点问题逃逸率,同时降低测试负担,提高测试效率。…

基于Jenkins、Apifox和GitLab实现自动化测试

在现代软件开发实践中,快速迭代和高质量交付的需求日益增长。为了满足这些需求,测试团队必须采用高效的工具和方法来确保软件在整个开发周期中的质量和性能。自动化测试作为一种有效的质量保障手段,能够帮助团队在早期发现和修复缺陷,减少手动测试的负担,提高测试的覆盖率和准确性。Jenkins、Apifox和GitLab的组合为自动化测试提供了一个强大、灵活且高效的解决方案。 一、概述 如下图所示,本课题将详细阐述运用GitLab的触发功能(当代码被推送到GitLab以后)触发Jenkins自动构建和部署,接着运行Apifox的自动化脚本,运行完成后发送通知给飞书,由飞书机器人把结果推送给相关人员的整个过程,配置以及实际应用。 使用这一组合进行性能测试有很多优势: 自动化测试流程:Jenkins可以根据代码的提交自动触发测试,使用Apifox执行API测试用例,并将测试结果反馈给开发和测试团队;快速反馈和问题定位:自动化测试可以快速提供反馈,帮助团队及时发现和定位问题,从而减少修复成本;持续集成和部署:Jenkins支持持续集成和持续部署,确保软件质量的同时加快软件交付速度;文档和协作:Apifox生成的API文档可以实时更新,与团队成员共享,提高沟通效率;版本控制:GitLab的版本控制功能确保代码变更的可追溯性,同时支持代码审查,提高代码质量;可扩展性和可维护性:随着项目的增长和变化,自动化测试用例和流程可以方便地进行扩展和维护,适应不断变化的需求。二、Jenkins部署 1、安装插件 在Jenkins中安装GitLab插件,…

读懂前端「性能优化」

背景随着互联网的发展,用户对网页加载速度和交互体验的要求越来越高,前端性能优化是提高网页性能的关键,性能优化是前端开发避不开的话题,一个完美的网站必定是能够给用户提供更优的体验。本文将介绍一些常见的前端性能优化技巧,帮助开发者提高网页加载速度,提升用户体验。 一、性能优化的本质 前端性能优化的本质在于提供更快速、更可靠、更高效的用户体验。优化网站性能不仅仅是为了让网站加载更快,更是为了提高用户满意度、降低跳出率、提升转化率,并最终实现业务目标。 二、基于chrome浏览器分析的性能优化指标 2.1 以用户为中心 First Paint 首次绘制(FP)这个指标用于记录页面第一次绘制像素的时间,如显示页面背景色。First contentful paint 首次内容绘制 (FCP)LCP是指页面开始加载到最大文本块内容或图片显示在页面中的时间。如果 FP 及 FCP 两指标在 2 秒内完成的话我们的页面就算体验优秀。Largest contentful paint 最大内容绘制 (LCP)用于记录视窗内最大的元素绘制的时间,该时间会随着页面渲染变化而变化,因为页面中的最大元素在渲染过程中可能会发生改变,…

纵横小说的上云之路

纵横小说业务从传统IDC迁移到云上的过程,历经数月,我们技术中心也是经历了一场全面的业务优化和改变的过程。整个上云的过程是复杂且繁琐的,是在所有运维、后端、测试、产品等同学的一点点一轮轮的调研、讨论、测试中一步步完成的,其中的细枝末节都要经过数次的沟通测试,最终才成功完成上云的迁移。…

七猫utools插件分享

七猫utools插件这个工具其实已经在测试团队内部使用了很长一段时间了,在很多体验过同学的自来水推广下,很多业务组的开发同事也开始使用这个工具。可以说是很实用也广受好评的一个测试工具箱。…

七猫日志接收系统之客户端埋点 SDK

七猫日志接收系统系列文章将会向大家介绍七猫日志接收系统及相关的埋点 SDK,总共分为四篇, 本文为系列的第三篇,将介绍客户端埋点 SDK 的实现,主要涵盖了埋点日志的采集、存储、上传等一系列流程。…

纵横Android阅读器-绘制优化

随着纵横小说app各模块的迭代升级,阅读器所承载的功能也日益复杂。由于诸多历史遗留问题,阅读器内控件的绘制和点击实现方式变得相当繁琐,导致即便是对阅读器的微小调整,也需要耗费较长的开发周期,尤其是在当前一周一版的发布节奏下。因此,阅读器的需求变得难以快速响应,很难实现每周小步迭代。在本文中,将探讨纵横小说阅读器中可交互控件在简化现有实现方式上所做的一些尝试。…

七猫研发中心参加 Gopher China 2023 大会上海站回顾

2023 年 11 月 19 日,时隔三年 Gopher China 大会终于回归上海(Gopher China 2023 - 上海站)。Gopher China 大会是为广大的 Go 语言开发者以及大规模应用 Go 的示范企业精心准备的一场技术盛宴。自 2015 年由 Go 中国社区发起的第一届 Gopher China 大会在上海成功举办以来,历时 8 年它已经成为了国内最权威和最干货的 Go 大会。…

七猫日志接收系统之架构设计(下)

七猫日志接收系统系列文章将会向大家介绍七猫日志接收系统及相关的埋点 SDK,总共分为四篇。本文为系列的第二篇,我们将基于当前的 v4 版本详细介绍七猫日志接收系统架构,并从日志处理效率、系统的高可用以及成本控制等方面进行架构设计分析。同时随着七猫的继续壮大,日志接收系统必将迎来越来越多的挑战,我们也会对后续的迭代版本进行规划与展望。…

xorm与go-sql-driver的时区问题

go-sql-driver时区的默认配置是零时区,xorm默认的是本地时区,那么在DSN的配置中,加上loc=Local,让go-sql-driver与xorm使用相同的时区,这样就能避免我们在使用time.Time传递参数时,各个模块时间转换不一致的情况出现。…

Prometheus TSDB 的设计与实现

TSDB(时序数据库)是 Time Series Database(时间序列数据库)的简称,TSDB是一种高性能、低成本、稳定可靠的在线时间序列数据库服务,提供高效读写、高压缩比存储、时序数据插值及聚合计算等服务,广泛应用于物联网(IoT)设备监控系统、企业能源管理系统(EMS)、生产安全监控系统和电力检测系统等行业场景,除此以外,还提供了时空场景的查询和分析的能力。…

媒体推广业务架构演进

在互联网APP项目推广中,媒体在线推广是市场推广中重要的推广手段之一,通常在运营中称之为买量或者付费推广,在推广的过程中,广告主需要与媒体进行对接,广告主需要对媒体侧下发的点击信息进行接收,用户下载完成激活后,还需要通过媒体下发的点击信息对新增或者沉默后又活跃的用户进行识别,主要识别来源于哪个平台及具体的广告效果,最后还需要回传通知广告平台激活用户设备相关的信息,从而实现广告平台与广告主之间推广及效果追踪溯源的链路闭环。七猫的媒体推广业务架构也随着业务的发展进行了一系列的演进,本文整理了整个过程中重要的调整节点,介绍整个架构的演进过程。…

StarRocks之视图及物化视图的实践

StarRocks提供了高效查询和数据处理的功能。为了方便用户进行复杂的查询操作,StarRocks引入了视图和物化视图技术,在 StarRocks在七猫的应用(二)中也提到视图与物化视图的作用。…

探索Go函数式编程:提升你的代码品质与可维护性

在2014年软件工程基础(FSE)大会上发表的一篇学术论文“A Large Scale Study of Programming Languages and Code Quality in Github”声称,函数式编程范式具有更低的代码错误率等四个结论。Go 支持一等函数、高阶函数、用户定义的函数类型、函数文字、闭包和多个返回值。 这些丰富的功能正好支持一门强类型语言编写出函数式编程风格的代码。…

OpenResty + Lua 实现灰度发布

七猫作为一家成熟的互联网公司,业务有超百万QPS的高并发。我们的产品开发逃不开的特色就是不停的升级升级再升级。随着敏捷小组的建立,发版频率也逐渐提升至每两周一次或者每周一次。然而系统升级总是会伴随着各种风险,一些系统风险比如:宕机风险,服务不可用的风险;还有一些用户体验风险:业务改动使得用户体验改变导致用户流失等风险。为了规避或者提前预知这些风险,灰度发布的概念应运而生。…

七猫日志接收系统之架构设计(上)

七猫日志接收系统系列文章将会向大家介绍七猫日志接收系统及相关的埋点 SDK,总共分为四篇,本文为系列的第一篇,将带大家一起回顾七猫 2020 年至今,七猫日志接收系统近四年来的演化历程。如果您之前未了解过统计埋点系统,强烈推荐您阅读本站发布的七猫统计埋点实践一文。…

领域驱动分层设计-达人平台

领域驱动设计(DDD)是一种架构设计方法,它利用领域、子域、核心域、通用域、界限上下文、自顶向下的概念作为黏合剂,利用实体、值对象、聚合和聚合根等构造物作为砖头,将复杂的系统构造成多个从整体到局部高内聚、低耦合的子系统。…

七猫算法推荐引擎架构演化之路

转眼间,七猫的算法推荐平台已走过了近三个年头,三年来,算法推荐引擎从0到1,经过一次次迭代更新,逐渐变得完善。这篇文章主要从我们推荐引擎的技术架构出发,给大家分享一下我们的架构演化之路,以及对未来演进方向的展望。…