问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

游戏测试入门理论知识

创作时间:
作者:
@小白创作中心

游戏测试入门理论知识

引用
CSDN
1.
https://blog.csdn.net/lastriches/article/details/146352989

在游戏产业迅猛发展的当下,从休闲益智的小游戏到制作精良的 3A 大作,游戏已然成为人们生活中不可或缺的娱乐方式。然而,在玩家尽情享受游戏乐趣背后,有着一个至关重要的环节在默默保障游戏品质,那便是游戏测试。

对于怀揣游戏梦想,渴望投身这个充满创意与挑战领域的新人而言,游戏测试无疑是一扇极具吸引力的大门。它不只是简单地 “玩游戏”,而是融合了技术洞察、逻辑分析、细节把控以及对玩家体验深刻理解的综合性工作。每一款成功上线、收获无数赞誉的游戏,背后都离不开专业游戏测试人员的努力。他们如同游戏世界的 “质量守护者”,凭借敏锐的观察力和丰富的经验,在复杂的游戏代码与设计架构中穿梭,揪出那些可能影响玩家体验的细微瑕疵与潜在问题。

这本关于游戏测试入门知识的指南,将为你揭开游戏测试的神秘面纱。无论你是对游戏满怀热忱,想借此开启职业生涯新篇章的爱好者,还是在游戏开发领域初出茅庐,希望系统了解测试环节的新人,都能在这里找到清晰的方向。接下来的内容里,我们将从游戏开发团队的构成与协作讲起,逐步深入到游戏研发流程的每一个关键阶段,全面剖析游戏测试的主要内容与丰富多样的测试方法,最后详细解读如何设计精准有效的测试用例。

1.游戏研发团队介绍

1.1 制作人

作为项目的整体负责人,制作人承担着制定项目目标与规划的重任。他们需要把控游戏的整体方向,协调各个部门之间的工作,确保项目按照既定计划推进。

  • 负责游戏研发环节
  • 负责游戏运营环节
  • 负责项目人员管理
  • 负责项目事物管理

1.2 策划团队

策划团队将制作人制定的项目目标拆解为细致的需求,并以文案形式呈现。系统策划,负责设计游戏的整体架构和各个系统的功能;数值策划,精心调配游戏中的各种数值,如角色属性、道具数值等,以保证游戏的平衡性;关卡策划,构建富有挑战性和趣味性的游戏关卡;剧情策划,编织引人入胜的游戏剧情。

1.3 程序员团队

负责把策划的设计和美术资源等通过编码实现为可玩的程序,分为前端客户端程序员和后端服务器端程序员。前端程序员负责打造玩家直接交互的游戏界面和操作体验;后端程序员则专注于服务器的搭建与维护,保障游戏数据的存储、传输和处理。

1.4 美术团队

负责创作游戏中的各种美术资源,包括角色形象、场景绘制、特效制作等,为游戏赋予独特的视觉风格。

  • 游戏原画师
  • 游戏建模师
  • 游戏特效师
  • 游戏动画师
  • 游戏 UI 设计师
  • 游戏场景设计师
    -游戏角色设计师
  • 游戏灯光师
  • 游戏渲染师

1.5 测试团队

在游戏开发中扮演着质量把关的角色,涵盖功能测试、性能测试、压力测试、兼容测试、自动化测试和安全测试等多个方面。他们通过各种测试手段,找出游戏中存在的缺陷和问题,为游戏的优化提供依据。

2.游戏研发流程介绍

  1. 制作人:[项目启动与规划] 制作人首先制定项目目标与规划,明确游戏的类型、受众、核心玩法等关键要素。
  2. 策划:[需求细化与传达] 策划团队将项目目标细化为具体需求,并以文案形式呈现。随后,策划组织会议,向团队成员传达需求。
  3. 开发、美术、测试:程序团队根据需求用代码实现游戏功能,美术团队同步制作美术资源。而测试团队则在需求传达后开始编写测试用例。在此过程中,测试人员需要深入了解功能需求内容,思考可能存在的风险点,确定测试重点和难点,例如是否需要工具辅助测试。同时,对于需求中可优化的地方,提出讨论。
  4. 开发与测试并行:在项目开发过程中,测试人员对项目的各个方面进行质量控制,及时反馈发现的缺陷。

3. 游戏测试主要内容

3.1 功能测试

功能测试聚焦于验证游戏各项功能的是否满足需求的设计,属于黑盒测试范畴,不关注底层结构与代码错误。

方法:从界面着手,模拟用户可能出现的操作

3.2 性能测试 PerfDog

性能测试围绕客户端展开,密切监测 CPU、内存、网络流量使用状况、耗电量以及帧率等关键指标

工具:IOS xcode自带的instrument
Android常用emmage和GT(GT 已经改名为PerfDog)
PerfDog跨平台工具

3.3 压力测试 Jmeter

压力测试着重考察服务器性能。在高并发场景下,测试服务器的 CPU、内存占有率,系统吞吐量 TPS(每秒事务处理数)、事务响应时间以及事务成功率

工具:Jmeter,模拟大量并发用户向服务器发送请求

3.4 兼容测试

兼容测试致力于确保游戏在不同机型、操作系统版本、屏幕分辨率以及游戏版本间的兼容性

3.5 安全测试

安全测试涵盖多个层面,包括内存修改测试,防止玩家通过第三方工具篡改内存数据,破坏游戏公平性;客户端加密测试,确保用户账号密码、游戏内交易数据等敏感信息在传输和存储过程中加密有效,不被窃取或篡改;客户端反编译测试,检查游戏客户端代码是否易被破解,避免恶意用户获取内部信息;网络安全测试,抵御网络攻击,保障游戏网络通信安全,守护玩家账号和游戏数据安全

3.6 接口测试 Postman/Jmeter

接口测试针对服务器各个接口数据展开。测试内容包含接口安全测试,验证接口的身份验证、授权机制是否健全;重复发送请求,检验接口对并发请求的处理能力;查看接口处理情况,确保接口能正确接收、处理客户端请求,并返回准确响应数据。例如游戏的登录接口,要保证在高并发登录时,接口能快速准确地验证用户信息并返回登录结果

工具:可通过代码编写测试脚本,或利用 Jmeter 工具发送各类请求

3.7 日志测试

日志测试分为客户端日志与服务端日志测试。客户端日志记录玩家在游戏内的操作行为,如登录时间、地点,游戏内的移动、战斗、交易等操作;服务端日志则包含服务器运行状态、错误信息、数据交互记录等

方法:通过客户端和服务端的一些日志可以模拟出客户的使用姿势,或者可以模拟出玩家的行为

3.8 弱网测试 Fiddler/Charles

弱网测试模拟不同网络情况和丢包率,检验游戏在弱网环境下的运行表现。关注游戏在弱网下的连接稳定性、数据传输准确性、操作响应及时性,以及错误提示和恢复机制是否有效,确保玩家在网络不佳时仍能有基本的游戏体验

工具:Windows:Fiddler 或者 network emulator for Windows Toolkit
MAC:Charles 或者 network link conditioner

3.9 gm工具测试(运营,客服人员使用的工具)

GM 工具供运营和客服人员使用,GM 工具测试主要验证工具功能的实现情况,如角色属性修改、道具发放、任务状态调整等功能是否正常运行;检查工具的数据读取和存储准确性,保证修改后的数据能正确保存并在游戏中生效;关注工具设置在游戏中的实际作用,确保运营和客服人员能借助 GM 工具高效管理游戏,处理玩家问题,维护游戏秩序

3.10 SDK测试

SDK 测试针对游戏接入的软件开发工具包。主要测试用户数据在 SDK 中的传输与存储是否安全、准确;对充值、消费等涉及支付功能的部分,确保支付流程顺畅,金额计算准确,支付结果反馈及时;还要测试游戏与各个渠道 SDK 对接的兼容性,保证游戏能在不同应用商店等渠道正常上线和运行,为玩家提供稳定的服务

4 游戏测试的基本流程

  1. 准备阶段:制定测试计划
  2. 初始测试:功能和性能验证
  3. 中期测试:游戏平衡和用户体验
  4. 后期测试:兼容性和稳定性验证
  5. 发布前测试:最终品质保证
    功能会议-->测试用例书写--->冒烟测试--->详细测试---->回归测试--->CHECKLIST检查

4.1 功能会议

  • 参与人员:策划组织,其余人参与
  • 测试员的主要工作
  • 了解功能需求内容
  • 提出可能存在的风险点
  • 思考功能的测试重点和难点,例如如需要工具辅助
  • 思考可以优化的地方,并提出讨论

4.2 测试用例书写

  • 根据需求书写测试用例
  • 关注功能逻辑的实现
  • 考虑各种特殊情况,如边界值、网络中断、进程中断等
  • 关注需求变更的情况,及时调整测试用例

4.3 冒烟测试

  • 测试主要功能
  • 详细测试环节的准入条件

4.4 详细测试

  • 关注点:各个逻辑分支、资源、配置
  • 尽可能模拟玩家的每一种操作
  • 测试异常情况,如断网
  • 测试数据读取、存储、网络传输等
  • 测试该功能对其他功能的影响

4.5 回归测试

  • 测试被修复的内容
  • 测试需求调整后的内容
  • 再次详细测试各逻辑分支,复测

4.6 CHECKLIST检查

  • 简要快速检测功能的主要逻辑点
  • 简要检查与该功能有关联的任何其他功能点

5. 测试用例编写流程介绍

编写测试用例流程:需求文档分析--->功能模块划分--->用例编写--->整理与维护

5.1 需求文档分析

5.1.1 文档阅读

  • 关注点
  • 理解功能设计意图和思路
  • 加深印象,避免用例遗漏
  • 方法
  • 至少读三遍
  • 带着思考,想出更优选择

5.1.2 功能细节沟通探讨

  • 关注点
  • 不明白的地方及时确认
  • 尽早确定细节
  • 需求文档的变更
  • 方法
  • 跟有关程序、策划人员及时沟通

5.1.3 逻辑梳理

  • 关注点
  • 复杂的功能
  • 乱序的需求文档、功能交叉的部分
  • 方法
  • 先梳理框架,逐步细化(场景法)

5.1.4 功能拓展思考

  • 关注点
  • 设计缺陷
  • 测试难点
  • 关联度
  • 特殊情况
  • 方法
  • 参考类似案例
  • 头脑风暴

5.1.5 兼容相关思考

  • 关注点
  • 版本兼容
  • 功能兼容
  • 操作系统版本兼容
  • 分辨率兼容
  • 方法
  • 制定兼容矩阵

5.2 功能模块划分

关注点

  • 高内聚,低耦合
  • 模块内部紧密关联、各模块间关系尽可能少 例如购买月卡模块、购买普通货币
  • 重整体,轻局部
  • 大体框架,先别死扣细节 例如购买货币-->UI 、购买、领取、特殊情况
  • 积累的经验

方法

  • 功能流程场景法:将功能的基本流程环节画出来,然后根据流程的每个大的环节进行模块划分,最后细化和查漏补缺
  • 举例:就银行ATM取款功能进行模块划分
  • 插卡环节--密码登录环节--输入金额环节--取钱环节--取卡环节
  • 逻辑层次划分法:按照逻辑层次逐层细化出模块的过程,比较适用于UI划分,大的系统模块的划分
  • 举例:请就dota这款游戏进行模块划分
  • 功能类型划分法:按照功能包含的不同类型进行划分
  • 举例:测试兵种、测试道具
  • 数据驱动划分法:依据游戏中处理的数据类型和数据流向来划分模块
  • 举例:任务系统进行功能划分
  • 战斗数据模块-->任务数据模块-->玩家数据模块

5.3 测试用例的编写

5.3.1 格式

  • 首页内容
  • 用例名称
  • 用例对应的版本号
  • 相关人员
  • 编写人、编写日期、备注
  • 修改人、修改日期、修改备注
  • 需求文档的链接和地址
  • 正文页内容
  • 功能逻辑图(如果有)
  • 用例编号
  • 模块名
  • 前置条件
  • 输入数据
  • 输出结果
  • 备注信息---方便执行人员理解
  • 注意点
  • 逻辑清晰
  • 一个输入对应一个输出
  • 更新用例加上明确标记
  • 保证一个用例内部格式统一

5.3.2 方法

游戏测试种常用的方法:等价类、边界值、因果图和判定表、场景法[可参考软件测试方法,不过常用的就是上述几种]

  • 等价类
  • 有效等价类:对于输出来说有意义的输入集合,用于验证正常功能流程
  • 无效等价类:对于输出来说无意义的输入组合,用于验证非正常的情况
  • 边界值
  • 正好等于
  • 刚刚小于
  • 刚刚大于
    边界值示例:范围2000-3000,那么我们需要对边界值进行测试,测试取值:1999、2000、2001、2999、3000、3001
  • 因果图、判定表
  • 因果图
  • 输入与输出之间因果关系的一种关系图
  • 判定表
  • 通过因果图生成的一种结果判定表格
    可参照博文:因果图法-CSDN博客
    因果图判定表示例:一个自动售货机,处理单价为5角,售货机出售橙汁和啤酒,单价为5角,若投入5角硬币,按下对应饮料按钮则会投送饮料,若投入1元硬币,则透出饮料并退回5角硬币

5.3.3 原则

  • 输入条件单一明确,避免使用容易引起误解的词
  • 输出要可判断且明确,例如“显示正确”×
  • 测试步骤要实际可行(玩家可能会做的),例如测试一秒点击一万次×
  • 追求尽可能高的覆盖度
  • 避免冗余,学会抽象表达

5.3.4 整理与维护

  • 需求变化后需要及时更新老的测试用例,并写清楚修改情况的备注
  • 冗余用例酌情修改
  • 本地备份

6. 缺陷管理

6.1 BUG的界定标准

  • 与需求设计不符
  • 例如:某关奖励道具没有出现
  • 违背常识
  • 例如:明细战力数据异常

6.2 BUG生命周期

6.3 BUG等级划分

  • P0: 致命错误 需要立即修复,例如宕机、重启性报错,充值错误等
  • P1: 严重错误 需要紧急修复,如功能流程错误、数值错误等
  • P2:一般错误 允许一段时间内修复,如功能的简单错误,界面错误等
  • P3:无关紧要的错误,允许延期修复,如文字错误,某个像素点缺少等

6.4 BUG提交标准--必填项

  • 标题:【模块名称】+简短描述
  • 测试环境:标明测试用的版本,系统,服务器,账号等
  • 描述:BUG的详细描述
  • 重现步骤:重现BUG的详细流程步骤及复现概率
  • 期望结果:希望BUG修复后的结果
  • 备注:日志,截图等
    BUG例子
    标题:[士兵模块]打开士兵技能升级界面报错
    测试环境:内网测试服,v1.1.0版本,iOS系统,账号:zjf01
    详细描述:当我们在游戏中打开士兵升级界面时,系统提示报错信息
    重现步骤:1.进入游戏 2.打开士兵技能升级页面 3. 系统报错
    期望结果:能够正常升级士兵技能,打开升级界面报错
    备注:报错信息见下面截图

6.5 BUG的验证原则

  • 严格按照复现步骤验证
  • 去除测试环境的影响
  • 验证标注:需要注明验证的版本、服务器等
  • 拓展原则: 该BUG是否对其他功能是否有影响,做简单回归
  • 拓展原则: 验证不能只看前端展现,更应关注后端数据 ,防止伪修复 例如数据的增减

6.6 BUG跟踪与解决

  • 原则
  • 每个人都有责任跟踪自己BUG的修复状态
  • 方法
  • 及时与开发沟通,了解修复状态并提供修复过程中的支持
  • 久不修复的bug需要与开发和上级确认
  • bug修复后,需要及时验证

配套思维导图:入门游戏测试配套思维导图资源-CSDN文库

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号