游戏测试是一种用于对电子游戏进行质量控制的软件测试过程。游戏测试的主要目标是识别并发现电子游戏中的缺陷和漏洞,并提升其稳定性与性能。游戏测试是游戏开发的一个组成部分,有助于确保即将发布的电子游戏没有漏洞。
游戏开发生命周期 前期制作:在这个阶段,要完成游戏创意、故事板、游戏特色、需求分析以及相关文档的撰写。这个阶段包括技术设计文档和特色说明、游戏架构、框架覆盖、动画等。需要考虑以下事项:
- 音乐、镜头(缩放、回放、电影视角等)、玩家角色和动作属性;
- 游戏流程逻辑、规则以及进入下一关的条件;
- 物体与事件触发机制、得分、玩家移动和位置设定、玩家数据统计;
- 非交互性序列、特效、标题画面、多按键操作;
- 游戏手柄、影片剪辑、震动效果、法律文本内容、按键功能的使用、模拟模式和数字模式的运用 。
制作阶段:在这个阶段,会进行实际的编码工作。该阶段包括编码以及各个模块的集成。
测试与部署阶段:在这个阶段,会进行功能测试、回归测试,以及Alpha测试、Beta测试和黄金版测试(最终测试)。同时,还会利用手机游戏测试工具,对游戏的覆盖范围和流程、数据完整性、特定算法测试、路径测试以及增量测试等方面进行测试。
游戏测试与其他测试的区别
游戏测试是一个重复性的过程,因为每一个新构建的版本都可能存在漏洞,所以必须进行全面测试。
无论游戏规模大小以及开发所需时间长短,所有游戏测试都遵循基本架构。
质量保证专员需要研究游戏规则和需求,了解游戏的整体组件架构、文件架构、流程、文件结构以及与游戏相关的依赖关系。随着游戏的每一个新原型出现,都需要频繁回顾测试文档,以便更新规格说明中的任何变化、新增游戏测试用例以及新的配置支持。电子游戏测试应确保不会引入新问题。
游戏测试的工作包括:
- 根据预期目的和目标受众对需求进行分类。
- 识别用户和系统需求,并将其分为功能性需求、非功能性需求和领域需求。
- 确定可测试项、不可测试项,以及功能性和非功能性需求的目标与衡量标准。
- 检查功能性需求是否完整、一致且易于理解。
- 识别可定制需求和相互冲突的需求。
- 识别相互依存的需求也是游戏测试工作之一。
- 根据独特性、复杂性和关键性对需求进行优先级排序。
- 识别游戏主题、角色、动画、人工智能、过场动画、镜头视角和游戏玩法。
游戏测试的类型
以下是一些常见的游戏测试技术:
- 功能测试
功能测试的质量保证测试会寻找游戏内部或其用户界面与图形中的常见问题,例如游戏机制问题、稳定性问题以及游戏资源的完整性。用户界面测试旨在确保游戏的用户友好性。
例如:检查颜色和背景、菜单结构、屏幕方向和屏幕分辨率、字体大小、对齐错误、可用性、系统导航,如加载时间、超时与显示、排序、确认消息、序列、游戏中的动画和音频元素、说明以及对话消息。还包括用户交互、用户界面、交易测试、手机摄像头的校准和准确性测试、屏幕分辨率、移动端响应式设计测试、音频质量测试。 - 兼容性测试
检查游戏在不同设备以及不同硬件和软件配置上是否兼容。
例如:在所有支持的游戏机、台式电脑和移动设备上安装和卸载游戏。 - 性能测试
对游戏的整体性能进行检查,并进行性能优化以提升游戏速度。
性能测试期间检查的重要参数包括:
-
- 客户端和服务器的响应时间、事务完成时间、峰值负载性能、持久性、网络覆盖范围、内存泄漏、低内存、低电量、应用程序下载时间、多个用户同时访问应用程序服务器的情况、速度、吞吐量、可靠性、可扩展性等。
- 电池消耗和图形性能:测量手机游戏的电池消耗情况。长时间游戏时,电池消耗必须处于最佳水平,并且在不同设备的各种重载情况下,游戏响应都应令人满意。
- 处理器和内存限制:使用性能计数器来测量应用程序的CPU和内存消耗情况。
- 网络连接:测量手机游戏在不同网络类型(Wi-Fi、2G、3G、4G)下的响应时间,从而全面了解游戏在不可靠网络环境中的表现。它还会检查移动设备、数据中心或云端之间的连接情况。同时会对高峰时段、不稳定连接、数据重复、数据包丢失以及数据碎片化等情况进行监控。
特别是针对大型多人在线(MMO)手机游戏的性能测试
- 一致性/合规性测试
确保游戏符合应用商店的相关准则(例如苹果应用商店的政策),以及企业政策(例如禁止的内容)。合规性也可能涉及到像泛欧游戏信息组织(PEGI)和娱乐软件分级委员会(ESRB)这样的监管机构。游戏会有特定的内容分级目标。如果存在与期望分级不相符的不良内容,就需要识别并报告这些内容。哪怕在提交审批许可证时仅有一项违规,游戏都可能会被拒绝,这会导致在进一步测试和重新提交时产生额外的成本。
例如:如果一款游戏要在欧洲国家发行,而它原本是为北美地区制作的,那就需要测试其是否能转换为PAL制式;如果是相反的情况,则要测试NTSC制式的转换。 - 本地化测试
当一款游戏面向全球市场时,本地化测试就变得至关重要。游戏的标题、内容和文本都需要进行翻译,并在多种语言的设备上进行测试。借助基于云端的设备访问和自动化测试,这类测试可以快速完成。
例如:针对中东和北非(MENA)地区的特定本地化需求,包括阿拉伯语本地化(支持从右到左的文本排版、双向显示)、伪本地化测试、双字节字符(适用于东亚语言)、当地时间/日期、货币、地址格式以及其他当地要求。 - 浸泡测试
这种游戏自动化测试是让游戏在各种操作模式下长时间运行。例如,让游戏处于空闲暂停状态,或者停留在标题屏幕界面。浸泡测试可以发现内存泄漏或舍入误差等问题。
例如:开始游戏后,让游戏角色闲置站立24小时。这种技术用于检测由内存泄漏以及游戏引擎中的其他故障所导致的崩溃情况。 - 恢复测试
在软件测试中,恢复测试主要检查应用程序从崩溃、硬件故障和其他类似故障中恢复的能力。测试时会强制让应用程序出现故障,然后观察它如何从故障情况和环境中恢复。
例如:在一款游戏应用程序运行时,突然重启游戏主机,然后检查并验证数据的完整性。 - 安全测试
安全测试的目的是检查软件在抵御外部威胁方面的安全性。包括保护数据免受外部威胁、控制不受限制的系统访问、防止数据泄露、检测操作系统漏洞、通信系统漏洞以及弱加密算法等问题。
例如:在一个游戏网站上,将网址从“/login”改为“/play”,此时不应允许用户直接进入游戏。 - 其他游戏测试
- 真实或虚拟角色测试:在多人电子游戏中,与服务器的连接以及游戏状态的同步是需要测试的两个关键方面。
例如:多人3D赛车游戏。 - 新功能测试:对游戏状态更新、好友邀请、高级礼物分享等新功能进行测试,以确保用户能获得丰富的游戏体验。
例如:像在Facebook、博客等平台相关的游戏功能测试。 - 音效测试:测试音效文件加载时是否存在错误,聆听音效文件是否有错误或失真情况,使用CC分析器来分析解说词。
- 数据库和游戏统计数据测试:使用调试工具对数据库进行验证,以调查游戏是否正确使用数据。确保数据加载到正确的位置,并显示正确的信息。
- 白盒测试:游戏的白盒测试侧重于手机游戏的架构、集成和系统方面。
-
- 代码检查:审查源代码,分析程序逻辑和常见编程错误,检查是否符合编码标准。
- 重点测试:将代码块输入到独立的模块中,然后分析输出结果。
- 数据分析:对不同模块的数据使用、解释和处理进行分析和验证。
- 路径和流程测试:确保对象按正确的顺序执行。
- 特定算法测试:通过在运行时环境中设置数据变量和数据值到代码中,并执行代码,来测试特定的游戏场景或功能。
- 人工智能分析:生成人工智能组件可编程动作和玩法的运行统计数据。验证结果,检查是否使用了所有可编程动作。例如:滑雪板上的侧握动作,以及在多方向动作游戏中的组合拳/踢动作等。
- 使用自适应技术的辅助游戏测试
辅助游戏也被称为无障碍游戏。它通过使用自适应技术,为各种残障人士设计功能,包括低视力、视力模糊、失明、无法区分颜色、言语、听力、认知、运动和行动障碍等人群。
“基本方向(CD)”和“伦敦塔(TOL)”是两款经过修改以适应视障用户的流行游戏。在这些游戏中,视觉刺激被音频输入所取代。
视频游戏测试在测试这类游戏时应注意以下几点:
-
- 颜色应以某种模式闪烁,并且每种颜色都应伴有相应的音调。
- 每种颜色都应配有可听见的音调。
- 视觉数据需要用文字进行描述,以便视障人士在使用屏幕阅读器时不会遇到任何问题。
- 玩家应能在游戏中听到三维音效,并且必须能够通过触摸屏上的3D音频和空间音效来进行游戏导航。
游戏测试应该了解的游戏指标
日活跃用户数/月活跃用户数(DAU/MAU):每日活跃用户数与月活跃用户数的比例。这通常也被称为用户粘性系数。
会话:每当有用户打开应用程序,就计为一次会话。这里重点关注的是每个日活跃用户的平均会话次数。
下载排名:一款游戏在特定应用商店(如苹果应用商店、安卓应用商店)中每月游戏下载量的排名情况。
留存率:对于安卓游戏测试来说,留存率是免费游戏的一个非常重要的指标。计算留存率时,需根据用户下载应用程序的日期将他们分成不同的群组。
性能指标:这用于跟踪网络游戏或持续性游戏的性能。比如游戏在客户端硬件平台上运行的帧率,或者对于游戏服务器来说,其稳定性。性能指标可用于监测游戏功能的变化和更新情况。
游戏测试中的关键风险
- 游戏未能为目标受众带来引人入胜的体验。
- 游戏没有以玩家为中心进行设计。
- 游戏缺乏趣味性和令人上瘾的玩法。
- 游戏缺乏独特性、竞争力,节奏不够快。
- 由于技术问题、功能损坏、严重漏洞、糟糕的音乐音效和劣质的视频,导致游戏失败。
- 游戏开发成本超出预算。
- 游戏应具备简洁美观的设计和玩法。
总结
- 游戏开发生命周期包括前期制作、制作、使用游戏测试工具进行测试以及部署这三个阶段。
- 游戏测试是一个重复性的过程,因为每一个新构建的版本都可能存在漏洞,所以必须使用游戏自动化测试工具进行全面测试。
- 游戏测试的不同类型包括:1)功能测试;2)兼容性测试;3)性能测试;4)一致性/合规性测试;5)本地化测试;6)浸泡测试;7)恢复测试;8)安全测试。
- 游戏的白盒测试侧重于手机游戏的架构、集成和系统方面,其中包括:1)代码检查;2)重点测试;3)数据分析;4)路径和流程测试;5)特定算法测试;6)人工智能分析。
- 辅助游戏也被称为无障碍游戏,它是使用自适应技术为残障人士设计功能的游戏。
- 一些重要的游戏指标包括日活跃用户数/月活跃用户数(DAU/MAU)、会话、下载排名、留存率和性能指标。
- 手机游戏测试的关键风险在于它未能为目标受众带来引人入胜的体验。