
测试人生
文章平均质量分 74
utmhikari
talk is cheap, code is rich -> 笔耕不缀,分享不止,欢迎关注我的技术博客~
展开
-
【测试人生】浅谈变更风险防控的数据运营
从质量管理角度来讲,变更风险防控算是一类重要的方向,从业务的角度来讲,通过运营变更风险数据,可以更好了解变更发布的质量,从而预防线上问题。今天就浅聊一下,变更风险防控的数据运营,需要做好哪些数据基础。简单来说有以下三个部分:渠道风险、准召拦截、发布效率。原创 2025-02-22 18:11:59 · 533 阅读 · 0 评论 -
【测试人生】变更风险观测的流程逻辑设计
在线上服务变更过程中,我们希望可以通过一套实时观测机制去监测线上服务的风险,从而能够确保线上稳定性,在出问题时可以及时回滚变更。今天这篇文章,就简单讲一下变更风险观测的流程逻辑需要怎么设计。包括概念定义、信息上下文还有流程相关的设计和考量点。原创 2025-01-25 22:31:19 · 560 阅读 · 0 评论 -
【测试人生】谈研发测试人员在AI时代中的自我成长
研发测试不分家,在AI时代,LLM/GPT技术的冲击之下,不论是研发还是测试人员都可能会担忧,AI是否会取代自己的工作。从笔者的角度看来,这根本不是一个需要担心的问题,就和围棋一样,在AlphaGo之后,大家都会利用AI来学习围棋,超越以前时代的人。而作为研发或者测试人员的你,也可以利用AI技术的产物,实现进一步的自我提升。今天,笔者决定简单聊一下,AI时代下,研发测试人员实现自我成长的一些方法。原创 2024-09-16 12:23:39 · 473 阅读 · 0 评论 -
【测试人生】分享下自己对于平衡日常工作和学习提升的观点
日常工作总是琐碎的,尤其是技术岗,沉浸在日常的需求开发、需求测试和bugfix里,很容易对工作环境形成依赖,导致没有成长空间。那么这种情况下,怎么样去平衡日常工作和自我的学习提升呢?今天,笔者就通过这篇文章,分享下自己的观点。核心的思想是:工作只是生活的一部分,要自己掌控自己的生活,不要让工作掌控自己的生活。要相信自己的直觉,不要过分消耗自己,坚持去做自我提升的事情,无论是不是通过工作去实现。原创 2024-08-17 13:33:52 · 495 阅读 · 0 评论 -
【测试人生】数据同步和迁移的变更注意事项
数据同步或者迁移操作也算是线上数据变更的一种类型。由于涉及的数据量非常大,一旦发生故障,会直接影响线上业务,并且较难止损。从变更风险管控的角度考虑,数据同步或迁移操作也需要走合理的发布窗口,并且在操作前也需要做足够的影响分析。本文就来聊一下数据同步和迁移的变更期间注意事项。原创 2023-12-09 22:34:52 · 551 阅读 · 0 评论 -
【测试人生】游戏业务测试落地精准测试专项的一些思路
精准测试在互联网领域有广泛的应用。以变更为出发点,通过对变更内容进行分析,可以确定单次变更具体涉及到哪些模块和功能点,以及是否存在夹带风险,从而从QA的视角,可以知道哪些功能模块需要做测试,以及哪些变更内容不符合预期。相比于互联网QA,游戏QA接入业务项目研发过程并没有那么深入,比如项目代码权限基本上游戏QA不会拥有,但即便如此,要在游戏测试领域应用精准测试专项技术,还是有一定思路可循。因此,本篇文章,笔者以自身经验为出发点,讲述一下在游戏业务测试落地精准测试专项的一些思路。原创 2023-10-02 12:00:26 · 504 阅读 · 0 评论 -
【测试人生】浅谈游戏策划配置表检查的技术设计
关于游戏策划的配置表检查测试,笔者也希望输出一些自己对于配置表检查测试技术的一些思考。本篇文章讲述两块内容,第一块讲下测试框架的开源,第二块讲下专项技术的设计。原创 2023-09-17 15:20:36 · 1100 阅读 · 0 评论 -
【测试人生】批量刷数的发布流程与风险点
在项目日常开发过程中,批量刷数也是有一定频率的变更场景之一,同时也是容易产生风险的一种变更操作。本文就来聊下,批量刷数的发布需要经历哪些流程,以及流程中每个环节中有什么风险点需要考虑。原创 2023-07-09 11:18:37 · 732 阅读 · 0 评论 -
【测试人生】SQL变更的问题拦截手段
在DB做变更发布的各类场景当中,通过SQL更改DB数据内容,是最为常见的场景。既然是最为常见的场景,那么可能产生线上问题的概率也就越大。本篇文章就来探讨一下,要尽量减少SQL发布产生线上问题的可能性,需要采取什么样的手段。原创 2023-07-08 14:06:12 · 1026 阅读 · 0 评论 -
【测试人生】管控数据类变更的重要性
数据类变更的缺陷/事故影响面是很高的,变更的时间也很长。这意味着,变更量大,变更期间风险难以控制,出了问题也难以回滚。本文主要介绍DevOps场景下数据类变更管控的重要性。原创 2023-06-03 17:08:35 · 265 阅读 · 0 评论 -
【测试人生】《阿里测试之道》笔记之大促全链路压测
在2022年,阿里出品了一本《阿里测试之道》,讲述在阿里电商、物流、金融、大数据等业务场景下,测试活动业务层面是如何开展,以及技术层面是如何实现的。笔者有幸拜读此书,从其中也有所收获。本次以其中涉及电商的测试场景为例,记录一下“大促质量保障”一章的读书笔记。这一章主要讲述了在大促场景下,全链路压测是如何实施的,以及通过什么方式保证最终大促时的生产环境稳定性。原创 2023-04-08 22:41:35 · 1080 阅读 · 0 评论 -
【测试人生】准入准出质量红线的技术设计
在应用日常开发的过程中,不论是在测试、开发联调,还是实际构建发布的时候,我们都需要一定的指标去衡量技术产物的质量,从而判断技术产物是否符合质量标准,是否能够继续发布投产,如果不符合投产标准则拦截发布。这类能力,通常称之为准入准出质量红线能力,其开发者通常是DevOps中台。中台提供原子能力以及配置化的能力,用户可以根据自己的业务去配置相应的指标产出与拦截规则,也可以直接套用特定的模板来快速实现准入准出的效果。本文就来讨论,这类能力要开发出来,在技术实现上,需要做怎样的考虑跟设计。原创 2023-01-26 14:42:23 · 1517 阅读 · 0 评论 -
【测试人生】UE4大世界游戏寻路效果自动化测试
在一些大世界的游戏当中,我们通常能够体验到游戏的自动寻路功能,在测试寻路功能时,不仅需要检查寻路是否成功到达,而且也需要关注寻路路径呈现的效果,从而确定玩家是否走在策划预想的路径上。但是,由于寻路起点重点选择随机性较高,遍历数量大,在验收寻路效果时,手工测试效率会非常低下。因此,笔者结合自己实际工作经验,分享一种在UE4大世界游戏中,寻路效果自动化测试的方案。原创 2022-11-20 12:49:03 · 2006 阅读 · 0 评论 -
【测试人生】GAutomator安卓UE4版本的实现机理与优化实战
本文将深入剖析GAutomator作为UE4安卓游戏UI自动化方案的实现机理,以及笔者自己在实际工作中对GAutomator的优化实践。原创 2022-09-12 17:39:22 · 1911 阅读 · 2 评论 -
【测试人生】用行为树做游戏自动化测试的误区
在游戏自动化测试领域,行为树由于其强大的描述玩家(Agent)行为逻辑的功能,在很多场景的自动化测试都能得到应用。但是,如果对行为树的作用认识不足,很容易导致整一个自动化测试项目出现难以维护的窘境。因此,这篇文章谈一谈在游戏自动化测试里,用行为树做测试的一些误区。首先第一点是,很多行为树的框架/GUI系统提供了强大的可视化编程的能力。但是如果真要用行为树框架去几乎完全替代纯代码编程,做很细致的的逻辑控制,这个想法是有误的。行为树本身最方便的地方是能够通过可视化界面的方式去维护玩家行为(以业务逻辑的拆分原创 2022-04-03 12:15:56 · 3257 阅读 · 0 评论 -
【测试人生】《测试架构师修炼之道》阅读笔记
《测试架构师修炼之道》一书,笔者入行一年多的时候拜读过。虽然这本书主要偏向业务测试、质量管理的方向,而并非技术测试、测试开发的方向,但只要是测试行业从业者,笔者认为都值得一看。从笔者本人角度,对于测试人员的职业发展,是极端推崇技术方向的,这点在笔者博客的自我介绍部分以及先前发表的某些文章里都有体现。工作最终总会落实到人,测试被划分为偏向技术的岗位,那么技术本身就一定要搞起来,这样才能使得这类职业能够在工作框架体系里处于不屈之地。但即便如此,测试本身也有很多技术/管理方法论的积淀,有很多old schoo原创 2021-10-04 16:13:39 · 2527 阅读 · 0 评论 -
【测试人生】python的excel库——openpyxl的用法
前言在测试工具的开发过程中,可能会遇到需要生成excel文件的需求。笔者在自研excel-diff工具的过程中,也同样接到了需要生成excel文件来展示每个sheet的diff数据。每个包含diff的sheet需要生成1个excel文件,每个文件分成3个sheet,2个sheet用于展示sheet原先的数据与修改后的数据,1个sheet用于描述性统计和超链接每个diff的情况。要生成这样的excel文件,不用专门的excel库是不行的。基于python的技术栈,经过一番调研,笔者采用openpyxl作为生原创 2021-07-11 00:10:47 · 454 阅读 · 0 评论 -
【测试人生】游戏策划表格测试工具的技术实现
在先前的《游戏策划表格检查工具的一种设计》一文中,笔者分享了在一般游戏测试业务背景下设计策划表格检查工具的一种方式。本文基于先前文章的内容,将原先的表格检查工具升级为表格测试工具,涵盖更多的内容,并对其中部分技术实现进行分享。测试工具架构设计整个测试工具分为两个部分:仓库管理服务:负责管理多个策划表格的svn/git仓库,并涵盖导入表格数据的功能表格测试服务:负责接收用户的测试请求,向仓库管理服务请求特定版本的数据,执行表格测试任务测试工具的整体架构如下图:仓库管理服务需要挂载一个大空间原创 2021-06-01 23:50:22 · 746 阅读 · 1 评论 -
【测试人生】副本自动化测试
许多游戏,尤其是MMO,会包含“副本”这个概念,玩家通过打副本从而获得物品奖励及属性收益。通常来讲,单个游戏所涉及的副本数量/品种较多,因此在游戏测试过程当中,很难一次性全部遍历完所有副本的流程与玩法。为了解决这个问题,可以通过自动化测试的方式去冒烟副本玩法流程、检查奖励。为了让自动化测试用例执行更加稳定且易于维护,需要一套通用的逻辑模版去实现副本玩法自动化。自动化测试流程涉及多个部分,包括玩家账号的准备、副本的进入、副本流程、奖励检查,而本文主要考虑“副本流程”的实现。副本玩法的机制可以如下描述:玩家在原创 2021-05-20 23:51:45 · 1178 阅读 · 3 评论 -
【测试人生】UE4游戏枪械自动化测试的一些设计
在射击类游戏中,不可避免地需要对各种枪械武器进行测试。大多数情况下,枪械种类繁多,人工遍历测试会花非常多的时间,因此引入自动化测试替代人力执行部分冒烟用例,能够增加严重问题提早发现的可能性。枪械测试包括基础行为、伤害、弹道、后坐力等方面,从功能冒烟的角度考虑,基础行为和伤害是需要优先覆盖的部分。因此,本文以UE4引擎下的枪械测试为例,讲解基础行为跟伤害测试的一些设计。对于枪械的基础行为测试,我们可以分为以下几种测试场景:装备武器切换到特定ID的武器,能正常卸下原来的,装备上新的射击行为原创 2021-04-17 23:58:17 · 3284 阅读 · 1 评论 -
【测试人生】游戏策划表格检查工具的一种解决方案
策划表格数据检查是游戏测试工作的刚性需求。在游戏开发期中,有大量bug的起因是策划同学在配置上不够规范到位。因此作为测试角度而言,需要更加便捷、更加精准的方法去定位到策划表格配置的问题。除了依靠业务人员自身对业务的熟悉程度之外,也更加依赖于一个强大有力的工具,辅助表格数据检查。表格数据检查的目的有以下一些:给定某个数值策划案,检查实际配置与策划案是否有出入;给定某个配置规则,检查实际配置是否有不符合规则,造成风险的地方(除去程序导表检查的那一部分)。针对这些需求,简单粗暴的方法就是强行coding的方式,原创 2021-03-06 18:23:33 · 1215 阅读 · 0 评论 -
【测试人生】在UE4插件中启用Automation自动化测试功能
UE4本身支持在前端会话中执行自动化测试功能。有了它,我们可以用C++编写对应的自动化脚本,在编辑器的生命周期中随时随地运行,测试整个研发系统的子功能。要深入了解UE4自带的自动化测试功能,可以参考自动化系统概述文章系列。而本文则介绍最简单的接入UE4自带Automation自动化测试的方法,以UnrealAutomator插件为例,提供一个最小的插件+Automation的范例按照约定,每个插件需要在Private/Tests文件夹下,建立插件名RunTests.cpp,作为自动化测试的入口。然原创 2020-12-20 16:30:20 · 2723 阅读 · 0 评论 -
【测试人生】UE4游戏自动化测试插件——UnrealAutomator
UE4游戏/手游自动化测试有很多方案可以执行,不论是传统的UI测试方法还是具备前瞻性质的以图像识别+机器学习技术为主的方法,都能够满足不同的需求。适逢1024节日,受到GAutomator和PocoSDK的启发,笔者近期决定开始UE4专属自动化测试插件UnrealAutomator的研发。当前已经集成并扩展了GAutomator的UI信息检索功能,已经能够满足UI测试服务端的基本需求。UnrealAutomator的核心愿景,是希望集成游戏QA同学日常测试需求相关的功能到统一的插件当中,并在稳定的通信协议原创 2020-10-24 15:15:22 · 1522 阅读 · 0 评论 -
【测试人生】我心目中的测试
很久以前写过一篇文章:《测试、策划与开发,谁来把控游戏的质量》,聊了一下测试、策划和开发三者的关系。时至今日回头来看,大方向还是差不多的。在某些地方,测试地位低,被策划跟开发冷眼相看,所以让他们开心就好;在某些地方,测试、策划和开发也可以在同一层次上讨论需求与研发过程的好坏。说白了,把控游戏质量,是三个部门一起的责任,而且测试并不是必须要为策划和程序收烂摊子。言归正传。写今天这篇文章,来源于回忆到毕业工作的前两年很多负面的事情。一来是想到当时在项目组里被其他部门以冷眼相待的事实;另一来是想到由于自己工作原创 2020-09-06 23:29:22 · 260 阅读 · 0 评论 -
【测试人生】游戏自动化该怎么做?
游戏自动化该怎么做?这是一个值得探讨的问题。在中国,用手游自动化来描述,可能更为贴切。游戏自动化技术并不难以上手,有许多现成的工具提供使用。但是,要想做好游戏自动化,让其真正服务于游戏研发/运营期业务,并不是一件容易的事情。自动化测试技术上的实质是通过代码模拟玩家的行为,本意是用来补足真人测试工作。游戏测试通常分为功能测试与专项测试,游戏自动化同样也需要适应这两种场景。专项测试分很多种,普遍来讲客户端性能测试、后台压力测试等等。后台压力测试可以采用机器人的方式连接后台专用的测试接口,可以直接调用后台的逻原创 2020-09-06 16:10:38 · 3010 阅读 · 0 评论 -
【测试人生】安卓游戏投屏/录屏利器——scrcpy
手机投屏/录屏在测试领域的用途有很多,比如:作为(自动化)测试报告的一部分,记录测试的实时场景投屏到电脑,用于UI自动化测试作为日常测试工作使用当前手机投屏/录屏的解决方案有两个:STF的minicap以及Genymobile的scrcpy。今天则稍微介绍一下scrcpy,能够兼容各类安卓手机,并且在投屏方面,低延迟与高清晰度兼具。scrcpy,又名screen copy,分为scrcpy-server以及scrcpy-client,server调用安卓内部的接口的获取屏幕信息,然后发送给c原创 2020-07-18 17:53:40 · 2708 阅读 · 1 评论 -
【测试人生】代码覆盖率测试之代码染色优化——以lua代码覆盖为例
在研发代码覆盖率测试工具的时候,通常除了代码覆盖数据收集模块之外,一般还要研发前端展示的部分以展现代码覆盖分析报告,通常会为每一个文件增加行染色,类似于jacoco这种形式。然而代码覆盖报告实际出来的行染色,会出现许多正常代码行没有着色的情况。这是因为编程语言认为的“行”和本身我们在文本编辑器打出的”行“是不一样的。编译出来的“行”实际上是一段操作,比如我们定义一个函数的时候,编译器认为我们执行的操作有包括function xxx那一行,于是就有一种情况——我们实际没有运行过这个函数,但由于定义被覆盖,因原创 2020-06-13 14:50:17 · 2543 阅读 · 0 评论 -
【测试人生】游戏自动化工具GAutomator上手
最近开始研究一些游戏自动化测试方面的内容。游戏自动化测试是游戏测试研究领域的难点之一,当前主流的方案有两种,一种是采用纯粹的UI识别方法进行,典型的例子是Airtest,另一种是直接嵌入到游戏引擎中获取节点树等元素从而对实体进行操作,典型的例子是GAutomator。由于笔者先前略微接触过Airtest方面的内容,因此本次决定上手GAutomator尝试游戏自动化。本次上手过程具体则用GAuto...原创 2020-05-05 14:44:55 · 1949 阅读 · 0 评论 -
【测试人生】记一次导表检查流程中导致JVM的OOM问题
最近在项目组测试有开发一个导表检查的需求,大致是在策划提交表更新到svn之后,svn发送post-commit到策划表数据服务,而后策划表数据服务下载excel文件,更新数据之后,将导表检查下游服务所需的检查数据进行整合,然后post到导表检查服务。在这个过程中,由于做的仓促没有考虑设计,最后策划表数据服务的JVM发生了OOM问题。经过一番排查改进了设计,解决了这个问题。JVM的内存结构跟GC流...原创 2020-03-14 23:22:59 · 249 阅读 · 0 评论 -
【测试人生】为游戏策划与QA量身定制的excel表diff算法
国内的游戏研发团队里许多策划同学都习惯采用excel作为配表工具。因此对策划同学校对与QA同学验收工作来说,需要相应的diff工具去检测excel文件的变更,从而能够尽早发现配表的问题。为此,在笔者启动的游戏效率工具集gameff-toolset小项目中,首个小脚本便做了excel diff。diff的算法有非常多,但是如何体现策划表与策划工作的特性,这才是最需要注意的。许多项目的策划表都通过S...原创 2020-01-23 15:38:43 · 1384 阅读 · 0 评论 -
【测试人生】测试、策划与开发,谁来把控游戏的质量?
近期进入了另外一个项目组,工作沟通的时候遇到了一些碰撞。在和项目组其它伙伴交换意见的同时,自己也开始思考这个问题:测试、策划与开发,这三个主导游戏研发的部门,谁才是真正把控着游戏的质量?从自己的职业立场与岗位的配置上来看,测试理所应当真正管控游戏的质量,但是实际上又不尽然。从策划和开发的立场上来看,一个关心游戏呈现的效果,一个关心游戏的稳定性,都是广义上的“质量管理”。但实际情况下,许多研发与策...原创 2019-12-22 18:28:08 · 650 阅读 · 0 评论 -
【测试人生】小谈游戏测试用例与代码间的联系
近几周一直在某SLG项目内负责功能模块测试与周边工具推进的工作,渐渐感悟到了些用例设计与业务代码的联系。游戏的业务逻辑是比一般应用复杂的。而且对于自己项目这种强玩法的游戏而言,甚至还会出现以下的现象——QA驱动策划,策划驱动开发。策划案能够大概阐述游戏的界面、逻辑与数值,但是如果有复杂的特例,还需要QA在实际测试中去挖掘。游戏测试用例的设计过程,不仅可以看成是策划案的延伸,而且也可以看作是一份...原创 2019-12-06 22:41:36 · 623 阅读 · 0 评论 -
【测试人生】游戏业务用例测试体验感悟
近期稍微停歇了下开发的任务,转为进入游戏项目组去探究真正的游戏测试业务是如何进行。在此前做测试工具与平台时会常常遇到业务需求不能准确击中的瓶颈,因此真实投入体验,调研项目组的测试痛点,能够对后续的技术支持工作大有裨益。游戏,尤其是网游,是一类非常特殊的软件产品,可能会有以下的特点:服务端与客户端强耦合各个系统模块间存在复杂的联系,业务复杂度相对于一般的产品高单体状态的变化,可能影响到多个...原创 2019-11-03 19:01:28 · 367 阅读 · 0 评论 -
【测试人生】iOS审核&静态扫描二三事
我们的日常生活离不开手机,有些同学喜欢用国产的安卓机,而另一些同学喜欢用简约的iPhone。对比安卓和iOS的软件生态,我们可以发现:安卓软件的投放渠道繁多,题材花样繁复,质量大小不一,而iOS的投放渠道则为App Store独家,相对安卓软件来讲,不仅质量均衡,而且用户不必担心手机病毒的困扰。这一点,就归功于App Store严格的审核制度。在iOS App的研发流程中,提审iOS包的环节,...原创 2019-08-19 23:41:15 · 842 阅读 · 0 评论 -
【测试人生】一个测试开发的用户思维
近几天一直在思考什么是用户思维,决定结合这一年的工作,把自己的想法记录下来。在这之前,自己一直秉持一种观念——测试开发从工作内容上,更加符合“开(码)发(农)”的定义,因此应当更加着重于技术深耕,并且在业务对接时,也尽可能地从从技术实现的角度去阐述观点与想法。但是在经过同事伙伴们的提点,以及和家中领导激烈讨(吵)论(架)了一番之后,这个观念就慢慢地改变了。测试,不仅仅是根据需求,利用各种工具,...原创 2019-07-28 11:52:21 · 520 阅读 · 0 评论 -
【测试人生】安卓FPS测试详解
安卓的fps测试,是我打开测试开发大门的一把钥匙。两年前的现在,安卓性能测试的相关资料甚少,以fps为例在网上也只有寥寥几篇文章讲述,但到了今年,已经有许多资料在各大技术论坛上供大家看到了。对于自己,一直想找一个机会把这一段技术探索写出来。所以,心动不如行动。fps(frames per second),通常表示我们屏幕每秒展现的图片(帧)数,反映了一款应用在当前硬件下的性能消耗。比如我们抽CS...原创 2019-07-14 18:42:50 · 2558 阅读 · 0 评论 -
【测试人生】MTSC2019参会见闻感悟
“测试人生”第一篇文章,献给2019年的移动测试开发大会MTSC。这一次,非常荣幸能够来到北京国际会议中心参会,一睹国内质量保障工作的现状与未来的发展趋势。在学校期间,我也参与过一些小型的学术会议,但并不如今年的MTSC这样声势浩大。工作一年以来参与的第一个讨论会,已然是全国顶会。借这个机会,能够了解到业内排头企业在质量保障业务上的解决方案,对于自己在业务理解上会颇有帮助。本次议程中,除了参与第...原创 2019-07-01 23:14:19 · 590 阅读 · 0 评论