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

设计模式——创建型模型——单列模式(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(猪笼草)的发展和后续,更加容易被部署和…...

WP_Query 的所有参数及其讲解和实用案例

WP_Query 是 WordPress 提供的一个强大的查询工具,用于获取与当前页面或文章相关的内容。下面是 WP_Query 的所有参数及其讲解:author: 查询特定作者的文章。可以是作者 ID、作者登录名或作者昵称。实用案例:查询作者为 "John Smith&quo…...

100个网络运维工作者必须知道的小知识!(上)

1)什么是链接? 链接是指两个设备之间的连接。它包括用于一个设备能够与另一个设备通信的电缆类型和协议。 2)OSI参考模型的层次是什么? 有7个OSI层:物理层,数据链路层,网络层,传输…...

Python如何获取大量电影影评,做可视化演示

前言 《保你平安》今天上映诶,有朋友看过吗,咋样啊 这是我最近比较想看的电影了,不过不知道这影评怎么样,上周末的点映应该是有蛮多人看的吧,可以采集采集评论看过的朋友发出来的评论,分析分析 这周刚好…...

【C语言】详讲qsort库函数

qsort函数介绍具体作用qsort函数是一种用于对不同类型数据进行快速排序的函数,排序算法有很多最常用的冒泡排序法仅仅只能对整形进行排序,qsort不同,排序类型不受限制,qsort函数的底层原理是一种快速排序.基本构造qsort( void* arr, int sz, int sizeof, cmp_code);…...

SEO技术风口来了|SEO能否抓住全球约93%的网络用户?

开篇词作者/出品人 | 美洽 SEO 流量专家 白桦为什么要做一个 SEO 专栏?在一部分人眼中,SEO(搜索引擎优化)已经是老掉牙的玩意儿,在这个信息爆炸的年代,它似乎已经无法承担吸引流量的主要作用。但&#xff…...

mxnet版本与numpy,requests等都不兼容问题

简介 跟着李沐学AI时遇到的mxnet环境问题。 问题 使用pip install mxnet时会重新安装相匹配的numpy和requests,而这新安装的这两个版本不满足d2l所需的版本。 然后报错: ERROR: pips dependency resolver does not currently take into account all …...

逆向分析——壳

你脑海中的壳是什么 壳在自然界是动物的保护壳,软件同样有保护壳,为了防止破解 也许大海给贝壳下的定义是珍珠,也许时间给煤炭下的定义是钻石 ——沙与沫 壳的由来 在DOS时代,壳一般指的是磁盘加密软件中的一段加密程序 后来发展…...

为 Argo CD 应用程序指定多个来源

在 Argo CD 2.6 中引入多源功能之前,Argo CD 仅限于管理来自 单个 Git 或 Helm 存储库 的应用程序。用户必须将每个应用程序作为 Argo CD 中的单个实体进行管理,即使资源存储在多个存储库中也是如此。借助多源功能,现在可以创建一个 Argo CD 应用程序,指定存储在多个存储库…...

verilog specify语法

specify block用来描述从源点(source:input/inout port)到终点(destination:output/inout port)的路径延时(path delay),由specify开始,到endspecify结束&…...

CMake编译学习笔记

CMake学习笔记CMake编译概述CMake学习资源CMake编译项目架构cmake指令CMakeList基础准则CMakeList编写项目构建cmake_minimum_required() 和 project()set()find_package()add_executable()aux_source_directory()连接库文件include_directories()和target_include_directories…...

Day913.反向代理和网关是什么关系 -SpringBoot与K8s云原生微服务实践

反向代理和网关是什么关系 Hi,我是阿昌,今天学习记录的是关于反向代理和网关是什么关系的内容。 一、反向代理 反向代理 是一种网络技术,用于将客户端的请求转发到一个或多个服务器上,并将响应返回给客户端。与正向代理不同&am…...

IT行业就业趋势显示:二季度平均月薪超8千

我国的IT互联网行业在近些年来规模迅速扩大,技能和技术水平也明显提升,目前IT互联网行业已经成为社会发展中新型产业的重要组成部分,行业的人才队伍也在不断的发展壮大,选择进入入互联网行业工作的人也越来越多。 根据58同城前段…...

【毕业设计】基于Java的五子棋游戏的设计(源代码+论文)

简介 五子棋作为一个棋类竞技运动,在民间十分流行,为了熟悉五子棋规则及技巧,以及研究简单的人工智能,决定用Java开发五子棋游戏。主要完成了人机对战和玩家之间联网对战2个功能。网络连接部分为Socket编程应用,客户端…...

C#:Krypton控件使用方法详解(第十四讲) ——kryptonSeparator

今天介绍的Krypton控件中的kryptonSeparator。下面介绍控件的外观属性如下图所示:Cursor属性:表示鼠标移动过该控件的时候,鼠标显示的形状。属性值如下图所示:DrawMoveIndicator属性:表示确定移动分隔符时是否绘制移动…...

Java的jar包打包成exe应用

将springboot项目使用maven打出的jar包,打成windows平台下exe应用程序包(自带jre环境)。 工具:1、exe4j 2、Inno Setup 工具放到网盘,链接:https://pan.baidu.com/s/1ZHX8P7u-7GBxaC6uaIC8Ag 提取码&#x…...

Latex学习笔记

Latex 学习笔记 快速入门 编译软件: TeX Live TexStudio, Ctex, 线上: Overleaf第一个示例代码: \documentclass{article} % 设置文档使用的文档类 % 导言区 \title{my first Latex document} \author{Jclian91} \date{\today} \begin{document} % 正文区\maket…...

【c++复习】C++的基础知识(常用关键字、缺省参数、函数重载、引用)

C基础写在开头C基础常用关键字using namespace流插入和流提取操作符内联函数(inline)宏auto关键字 (c11nullptr (c11缺省参数函数重载引用写在开头 C基础部分我想介绍如下几个关键点: 常见关键字命名空间的定义和使用缺省参数函数重载引用、指针和引用的区别内联函…...

Docker入门建议收藏 第二部分

二、Docker 容器技术与虚拟机的区别 Docker 到底是个什么东西呢?我们在理解 Docker 之前,首先得先区分清楚两个概念,容器和虚拟机。 虚拟机 虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在…...

蓝桥杯三月刷题 第7天

文章目录💥前言😉解题报告💥三角回文数🤔一、思路:😎二、代码:💥数数🤔一、思路:😎二、代码:💥数组切分🤔一、思路:😎二、…...

面试官问百万数据excel导出功能如何实现?

文章目录 背景实现1.异步处理1.1 使用job1.2 使用mq2.使用easyexcel4.多个sheet5.计算limit的起始位置6.文件上传到OSS7.通过WebSocket推送通知8.总条数可配置9.order by商品编号总结背景 用户在UI界面上点击全部导出按钮,就能导出所有商品数据。 咋一看,这个需求挺简单的。…...