当前位置: 首页 > news >正文

老爸:“你做的什么游戏测试简直是不务正业!”——我上去就是一顿猛如虎的解释。

 

经常有人问我:游戏测试到底是干什么呢?是游戏代练?每天玩游戏?装备随便造,怪物随便秒,线上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.配置盗链主机 &#xff0…...

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.销毁 一.什么是顺序表 顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

springboot 百货中心供应链管理系统小程序

一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别

一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

css的定位(position)详解:相对定位 绝对定位 固定定位

在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

代理篇12|深入理解 Vite中的Proxy接口代理配置

在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

ip子接口配置及删除

配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...

佰力博科技与您探讨热释电测量的几种方法

热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...

【从零学习JVM|第三篇】类的生命周期(高频面试题)

前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期,让读者对此有深刻印象。 目录 ​…...