老爸:“你做的什么游戏测试简直是不务正业!”——我上去就是一顿猛如虎的解释。
经常有人问我:游戏测试到底是干什么呢?是游戏代练?每天玩游戏?装备随便造,怪物随便秒,线上GM指令随便用?可以每天玩玩游戏,不用忙工作,太爽了?有时朋友不理解就算了,就连家里人也没能理解到就很郁闷。做游戏测试真就不务正业嘛!!
真是这样的么?
当然并非完全如此,游戏行业随时代的发展慢慢展现在人们眼中,前景自然也是无比广阔。游戏测试是每天在玩游戏,玩游戏实际是熟悉产品业务,并非无脑的玩,而是基于游戏业务、软件测试技术理论、测试方法、测试流程等知识融入前提下玩的,重点是发现游戏中的缺陷,给玩家带来用户带来畅通无阻可玩性极高体验。
目录:导读
揭开游戏测试的神秘面纱
新手引导测试:
数值测算测试:
概率测试:
平衡测试:
难度测试:
特效测试:
GM指令:
游戏测试方法有哪些:
写在最后
揭开游戏测试的神秘面纱
很多人对于游戏测试行业充满了好奇和向往,作为从来不玩游戏的我,第一份工作也误打误撞进入了游戏测试行业,经历了台式电脑端的2D端游、网页游、智能机时代的手游,以及各种海外国际版本的游戏,几年的游戏测试之路,奠定了扎实的测试技术方法,也变得乏味无趣,感觉游戏测试就是非专业性测试,非技术性测试,逐渐转变进入传统软件行业。
游戏属于软件类型的一种,游戏测试和软件测试是一样的,都是基于软件测试专业知识下进行的一种测试工作,只不过侧重点会不一样,游戏测试面向的是游戏爱好玩家,他们追求的是流畅性、稳定性、多变性、可玩性和新鲜感,游戏测试行业一般版本迭代速度非常快,为保证玩家用户有持续可玩的资源活动进行而获得活跃和收益,必须保证1-2天迭代一次版本,固加班会特别多压力比较大,版本上线后,业务逻辑被不间断的触发,BUG也很容易暴露出来,也是非常考验测试质量能力的,挑战性也是极高的。
游戏测试专业性要求比较高,一般都是经常玩游戏再加上有测试专业的人才可轻松胜任,要不然游戏业务还是比较复杂的,需要适应一段时间;游戏测试难度也是比较大的,业务逻辑复杂多变,它属于动态软件,也是长时间不间断被触发的,而普通软件是偶尔性触发静态软件,两者是完全不一样的,可想而知,两者对于测试质量的挑战是完全不等量的,如果是刚入行测试行业,还是比较建议你先尝试一年游戏测试,然后再转普通软件行业,这样更磨炼出你的测试技能。
下来带大家一起感受下游戏测试吧!!!
新手引导测试:
玩过游戏的朋友都知道,游戏基本都会有新手引导,对于新手引导的测试也是每个版本必做的,因为新手引导一般是固定引导的,需要保证新手引导的每个步骤不间断才可以,如果断掉,导致游戏的阻断无法进行,所以会针对新手的每个操作步骤进行测试。
数值测算测试:
游戏里涉及到数值相关的东西比较多,所以游戏公司一般会有数值策划,主要针对游戏中涉及到数值相关的业务进行数值设计,比如副本关卡、武器状态、怪物难度、怪物爆率、装备升级、技能数值等。游戏测试当然页需要对游戏中涉及到数值的进行测试,如:武器、技能升级加成,武器、技能1级附加属性和100级时完全不一样的,需要测试武器、技能的属性加成,以及对怪物使用武器、技能后造成的伤害点及躲避后最终造成的伤害等。数值可能是一个范围值,这样的话,可能需要测试很多轮,平均一下。
概率测试:
游戏中会有副本道具掉落、怪物boss道具掉落、福袋道具掉落等,通常对这些涉及到道具掉落的配置也是概率性的,所以对于掉落的概率性也是需要进行测试的,进行N次的掉落测试,最终平均取值,验证是否合理。
平衡测试:
武器、技能、职业平衡,每次版本新增或修改了武器、技能、职业的相关属性加成,都需要测试武器、技能、职业的平衡性,同样的配置进行同职业不同职业PK或副本,测试武器、技能、职业的平衡性,不同的配置进行同职业不同职业PK或副本,测试武器、技能、职业的平衡性,不能让某个职业、技能、或武器独大,要保证玩家游戏生态的平衡,保证游戏的可持续性。
难度测试:
boss难度、副本难度,每次版本新增或修改了boss、副本相关数值,都需要进行难度测试,相同的配置测试修改前和修改后难度效果,相同配置测试前面副本和后面副本的难度效果,根据需求和测试结果进行相关调整。
特效测试:
游戏中是有很多图包的,这些图包在使用、未触发或触发后会生产一些特效,对这些特效需要进行测试,如:武器1级特效、武器10级特效、武器1级使用特效,武器10级特效、使用武器对怪物造成伤害、暴击的特效等是完全不一样的。
GM指令:
游戏一般新手是很多东西的都不能做的,需要达到某个等级才能进行一些任务、活动、副本等,所以正常进行测试也是不行的,需要借助GM指令在游戏里随意进行等级提升lv等级、装备升级lv 装备id 等级、副本秒怪秒bossskillall、跳地图skip 地图id 地图坐标,大大提升了测试效率。
游戏测试方法有哪些:
黑盒测试:可以把软件想象成一个黑匣子,是基础的功能测试,即关注输入输出是否正确,不关心内部代码实现。
白盒测试:基于逻辑驱动或者基于代码测试,打开代码的黑匣子,查看或者验证内部的实现,去研究源代码中的接口或者具体实现的正确性。
灰盒测试:黑盒会,白盒也会的测试。
功能测试:顾名思义,就是对游戏各个模块的功能进行测试,是处于最基本的测试水平;
性能测试:对系统的各项性能指标进行测试,关注fps、cpu、gpu和电量等性能标志;
压力测试:测试游戏服务器的负载能力,主要目的是看服务器是否有足够的能力来应对玩家同一段时间的操作。比如刚开服同一时间玩家的涌入是否会造成服务器卡顿或者直接崩溃;
兼容性测试:游戏在各种不同机型上的兼容,是否会有登陆支付异常、ui错乱等问题,主要关注手机系统比如安卓和ios的区别,刘海屏与普通屏;
安全性测试:通过不同方法发现游戏的安全性问题,比如信息泄露、非法使用、恶意破坏等等。
自动化测试:取代人工手动测试,是测试的未来。也分为接口自动化测试和UI自动化测试,不过对于游戏产品更迭频繁而言,自动化测试确实收益有点低,不过对处于游戏后期基本没什么变化的游戏倒是可以实现。
测试方法大概分为以下几种:
- 场景法
- 等价类
- 边界值
- 错误推测
- 因果图
- 判定表
- 正交实验设计法
在游戏公司,测试工作不是独立的,会有上游业务部门,通常就是程序和策划加入到品质管理的流程里来,也会有下游业务部门,通常就是运维、DBA和运营也加入到这个流程里来。称为“双V模型”,让更多过程里的相关人员都来承担质量工作,这样可以尽早发现问题、减少返工、提高效率,降低事故率、提升玩家体验。
各位同学,对于你要应聘的测试岗位,有如下建议,供你参考:
1、热爱游戏,建立信心,相信自己做的游戏是玩家所喜欢的;
2、熟悉测试工具的使用,尤其是黑盒测试方法;
3、掌握测试计划、测试用例、提报bug的基础能力。
写在最后
如果你觉得文章还不错,请大家 点赞、分享、留言 下,因为这将是我持续输出更多优质文章的最强动力!
看到这篇文章的人有觉得我的理解有误的地方,也欢迎评论和探讨~
你也可以加入下方的的群聊去和同行大神交流切磋
相关文章:
老爸:“你做的什么游戏测试简直是不务正业!”——我上去就是一顿猛如虎的解释。
经常有人问我:游戏测试到底是干什么呢?是游戏代练?每天玩游戏?装备随便造,怪物随便秒,线上GM指令随便用?可以每天玩玩游戏,不用忙工作,太爽了?有时朋友不理解…...
JVM垃圾回收调优知识点整理
目录 1、JVM内存模型 1.2、堆及垃圾回收 1.3、JVM参数设置经验: 1.4、对象逃逸分析:...
linux安装mysql-8.0.31
1)、下载mysql-8.0.31压缩包两种方式 a.本地下载后上传服务器解压,下载地址:https://downloads.mysql.com/archives/community/ b.服务器使用命令下载,注意:路径在那,就下载到那个位置。 wget https://dev.mysql.com/…...
2023 年会是网络安全的关键年吗?
过去 12 个月对网络安全领域和周围的每个人来说再次充满挑战。和往年不同,感觉很不一样,攻击源源不断。过去,大型漏洞每季度发生一次,但在过去一年中,在某些情况下,我们几乎每周都会处理严重漏洞。 已知利…...
【深度强化学习】(1) DQN 模型解析,附Pytorch完整代码
大家好,今天和各位讲解一下深度强化学习中的基础模型 DQN,配合 OpenAI 的 gym 环境,训练模型完成一个小游戏,完整代码可以从我的 GitHub 中获得: https://github.com/LiSir-HIT/Reinforcement-Learning/tree/main/Mod…...
Nginx服务优化与防盗链
目录 1.隐藏nginx版本号 1.查看版本号 2.隐藏版本信息 2.修改用户与组 3.缓存时间 4.日志分割 5.连接超时 6.更改进程数 7.网页压缩 8.配置防盗链 1.配置web源主机(192.168.156.10 www.lhf.com) 2.配置域名映射关系 3.配置盗链主机 ࿰…...
npm与yarn常用命令
npm npm -v:查看 npm 版本npm init:初始化后会出现一个 Package.json 配置文件,可以在后面加上 -y,快速跳到问答界面npm install:会根据项目中的 package.json 文件自动给下载项目中所需的全部依赖npm insall 包含 --…...
【C++】C++11新特性——右值引用
文章目录一、左值引用、 右值引用1.1 左值与右值1.2 左值引用1.3 右值引用二、右值引用的意义三、移动语句3.1 移动构造3.2 移动赋值3.3 总结四、move问题五、完美转发5.1 万能引用与折叠5.2 完美转发std::forward一、左值引用、 右值引用 1.1 左值与右值 我们经常能听到左值…...
C#基础教程21 正则表达式
文章目录 简介正则表达式语法字符集元字符转义字符量词贪婪匹配和非贪婪匹配正则表达式类Regex类Match方法Matches方法简介 正则表达式是一种描述字符串模式的语言,它可以用来匹配、查找、替换字符串中的模式。在C#中,我们可以使用System.Text.RegularExpressions命名空间下的…...
聚观早报|谷歌发布最大视觉语言模型;王兴投资王慧文ChatGPT项目
今日要闻:谷歌发布全球最大视觉语言模型;马斯克预计Twitter下季度现金流转正;王兴投资王慧文ChatGPT项目;美国拟明年 11 月开展载人绕月飞行;慧与科技宣布收购Athonet谷歌发布全球最大视觉语言模型 近日,来…...
java Spring5 xml配置文件方式实现声明式事务
在java Spring5通过声明式事务(注解方式)完成一个简单的事务操作中 我们通过注解方式完成了一个事务操作 那么 下面 我还是讲一下 基于xml实现声明式事务的操作 其实在开发过程中 大家肯定都喜欢用注解 因为他方便 这篇文章中的xml方式 大家做个了解就好 还是 我们的这张表 记…...
常用存储芯片-笔记本上固态硬盘PTS11系列推荐
在存储领域中,除了存储颗粒之外,还有一种极其重要的芯片:存储控制芯片。存储控制芯片是CPU与存储器之间数据交换的中介,决定了存储器最大容量、存取速度等多个重要参数。特别是在AI、5G、自动驾驶时代,对于数据处理及存…...
【AI绘图学习笔记】奇异值分解(SVD)、主成分分析(PCA)
这节的内容需要一些线性代数基础知识,如果你没听懂本文在讲什么,强烈建议你学习【官方双语/合集】线性代数的本质 - 系列合集 文章目录奇异值分解线性变换特征值和特征向量的几何意义什么是奇异值分解?公式推导SVD推广到任意大小矩阵如何求SV…...
【设计模式】模板方法模式和门面模式
模板方法模式和门面模式模板方法模式代码示例门面模式代码示例门面模式的应用场景模板方法模式 模板方法模式非常简单,就是定义了一个固定的公共流程,整个流程有哪些步骤是事先定义好的,具体的步骤则交由子类去实现。属于行为型设计模式。 简…...
Kubernetes未来十年的四大发展趋势
作者:李翔 跟大家已经感受到的一样,Kubernetes已经成为了云计算领域最具统治力的平台,成为了云原生开发的绝对标准,而伴随Kubernetes诞生的CNCF (Cloud Native Computing Foundation) 也因此成为了业界影响力巨大的组织。在成为云…...
一、sql 基础知识、函数和子查询
MySQL 是一种流行的关系型数据库管理系统,使用 SQL 语言进行数据管理和操作。在 MySQL 中,常用的语句包括 SELECT 查询语句、WHERE 条件语句、算术表达式、函数、聚合函数、自定义函数、逻辑表达式、子查询和连接。这些语句可以帮助用户快速地进行数据查…...
产品射频认证笔记
文章目录1. 射频监管认证的目的:1.1 确保 RF 产品在其预期环境中按预期运行1.2 确保射频产品不会干扰其他电子或射频设备2. 射频认证地区规范3. FCC简介4. FCC认证需要准备的内容:5. 射频监管测量会话期间测量以下射频属性:6. 调整射频参数6.…...
做了个springboot接口参数解密的工具,我给它命名为万能钥匙(已上传maven中央仓库,附详细使用说明)
前言:之前工作中做过两个功能,就是之前写的这两篇博客,最近几天有个想法,给它做成一个springboot的start启动器,直接引入依赖,写好配置就能用了 springboot使用自定义注解实现接口参数解密,普通…...
【Flutter从入门到入坑】Flutter 知识体系
学习 Flutter 需要掌握哪些知识? 终端设备越来越碎片化,需要支持的操作系统越来越多,从研发效率和维护成本综合考虑,跨平台开发一定是未来大前端的趋势,我们应该拥抱变化。而 Flutter 提供了一套彻底的移动跨平台方案…...
顺序表的基本操作
目录 一.什么是顺序表 二.顺序表的基本操作 1.初始化 2.增容 3.尾插 4.头插 5.尾删 6.头删 7.指定位置插入 8.指定位置删除 9.打印 10.查找 11.销毁 一.什么是顺序表 顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组…...
设计模式——创建型模型——单列模式(8种实现)
前言: 👏作者简介:我是笑霸final,一名热爱技术的在校学生。 📝个人主页:个人主页1 || 笑霸final的主页2 📕系列专栏:计算机基础专栏 📧如果文章知识点有错误的地方&#…...
【软考中级】软件设计师笔记
计算机系统的性能一般包括两个方面:一方面是它的可用性,也就是计算机系统能正常工作的时间,其指标可以是能够持续工作的时间长度,也可以是在一段时间内,能正常工作的时间所占的百分比 另一方面是处理能力,又…...
包教包会的ES6
自学参考:http://es6.ruanyifeng.com/ 一、ECMAScript 6 简介 ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了。它的目标,是使得 JavaScript 语言可以用来编写复杂的大…...
python学习——【第四弹】
前言 上一篇文章 python学习——【第三弹】 中学习了python中的流程控制语句,这篇文章我们接着学习python中的序列。先给大家介绍不可变序列 字符串和可变序列 列表,下一篇文章接着补充元组,集合和字典。 序列 指的是一块可以存放多个值的…...
Web3中文|无聊猿Otherside元宇宙启动第二次旅行
3月9日消息,无聊猿Bored Ape Yacht Club母公司Yuga Labs公布了其Otherside元宇宙游戏平台第二次测试的最新细节。Yuga Labs公司称,“第二次旅行”将于3月25日举行,由四位Otherside团队长带领完成近两小时的游戏故事。本次旅行对Otherdeed NFT…...
SpringCloud-7_OpenFeign服务调用
OpenFeign介绍OpenFeign是什么1.OpenFeign是个声明式WebService客户端,使用OpenFeign让编写Web Service客户端更简单2.它的使用方法是定义一个服务接口然后在上面添加注解3.OpenFeign也支持可拔插式的编码器和解码器4.Spring Cloud对OpenFeign进行了封装使其支持了S…...
解决docker容器之间网络互通
docker容器之间相互访问 1.查看当前的网络 Copy [roothost ~]# docker network ls NETWORK ID NAME DRIVER SCOPE 3dd4643bb158 bridge bridge local 748b765aca52 host host …...
测试微服务:快速入门指南
在过去几年中,应用程序已经发展到拥有数百万用户并产生大量数据。使用这些应用程序的人期望快速响应和 24/7 可用性。为了使应用程序快速可用,它们必须快速响应增加的负载。 一种方法是使用微服务架构,因为在单体应用程序中,主要…...
MySQL Show Profile分析
6 Show Profile分析(重点) Show Profile是mysql提供可以用来分析当前会话中语句执行的资源消耗情况。可以用于SQL的调优的测量 官网文档 默认情况下,参数处于关闭状态,并保存最近15次的运行结果 分析步骤: 1、是否…...
基于Docker快速搭建蜜罐Dionaea(30)
实验目的 1. 快速搭建Dionaea蜜罐 2. 使用Nmap扫描测试Dionaea蜜罐预备知识1. 初步认识Dionaea dionaea,中文的意思即捕蝇草,是否形容蜜罐很形象?dionaea是nepenthes(猪笼草)的发展和后续,更加容易被部署和…...
大连公路建设有限公司网站/郑州网站seo优化
python算法-0排序-1选择排序在线运行: https://pyleetcode.gitee.io/codes_html/SYL_0%E6%8E%92%E5%BA%8F_1%E9%80%89%E6%8B%A9%E6%8E%92%E5%BA%8F.html n^2遍历,每遍历一轮选择一个最小/大值, 然后与当前位替换,最终得到排序结…...
佛山电子商务网站设计/网站外贸推广
在Web中最经常发生的就是利用恶性URL访问刷爆服务器之类的攻击,今天我就给大家介绍一下如何利用自定义注解实现这类攻击的防御操作。 其实这类问题一般的解决思路就是:在控制器中加入自定义注解实现访问次数限制的功能。 具体的实现过程看下面的例子&a…...
做新闻网站编辑需要什么/必应搜索网站
前言在Android的世界里,View扮演着很重要的角色,它是Android世界在视觉上的具体呈现。Android系统本身也提供了很多种原生控件供我们使用,然而在日常的开发中我们很多时候需要去实现一些原生控件无法实现的效果。这个时候,我们就不…...
wordpress部署/长尾词挖掘工具爱站网
5.1动画的基本使用制作动画分为两步:1. 先定义动画2.再使用(调用)动画1.用keyframes定义动画(类似定义类选择器)keyframes 动画名称{0%{}100%{}}动画序列●0%是动画的开始, 100%是动画的完成。这样的规则就是动画序列。●在 keyframes中规定某项CSS样式,就能创建由当前样式逐渐…...
吉林网站建设平台/百度移动端模拟点击排名
转载 网络表示动机 Graph Embedding可以用于真实网络数据,但是效果不好。原因:Network的邻接矩阵并不完整,比如某个元素值为0并不代表这两个节点之间没有关系,而我们要做的就是学习到这个关系,那么我们用什么指标呢&…...
北京临沂商会网站建设/免费的关键词优化工具
本节演示提升幻灯片设计感的第5个技巧,就是将一张图片填充到若干个分离的图形中。首先在此处按下并向右下方拖动,以选择这些矩形。 点击格式选项卡,显示格式功能面板。 在给图形填充图片之前,首先将所选形状结合成一个形状。 接着将一张图片填充到这个结合后的形状中。...