简单谈谈游戏中的测试环节
本文转载自公众号“蓝色疯狂岛”,作者“猫不凡”
一般在游戏的测试环节中,主要包括以下测试项目:
(1)功能测试:主要检测游戏的各个功能是否达到了设计预期。这个是最常见的测试内容。
(2)性能测试:检验游戏是否能正常在最高和最低配置下运行,一般要求在最低配置的电脑至少有 30 帧,以此检测优化是否到位。手机游戏则需要检测游戏帧率、耗电量、使用内存等各种情况,最终达到针对性进行优化。
(3)安全测试:需要对游戏的数据传输、重要数据等进行加密,以确保游戏数据的安全。而一旦服务器出现安全漏洞,有可能会导致被外挂、加速器、修改器等会破坏游戏平衡性的工具所利用,游戏的数据也可能会被其截获,从而形成安全漏洞,最终给游戏带来重大的损失。
(4)兼容测试:例如手机游戏转到 PC,可能要针对性的适配,对操作系统、CPU、显卡、分辨率、内存等进行针对性的检测,UI 布局、操作方式等也需要进行修改。其他平台亦是如此。
(5)压力测试:如果是网络游戏,在最后阶段还需要进行压力测试,以检测服务器的承载人数。例如,网易的《明日之后》就因为压力测试不足,导致游戏上线后,由于大量玩家涌入,超出服务器承载并导致服务器宕机的事件。所以在游戏测试阶段,需要模拟实际的应用场景,需要长时间的超负荷运行游戏,以检测游戏服务器的承载能否达到日后游戏上线的标准。必要的时候甚至要制作机器人功能,以进行压力测试的检测。
(6)数值平衡测试:需要在平时就不断的进行测试。然后再不断的根据测试结果进行调整。好的数值和游戏平衡性,都是在这种状况下,不断的测试,再不断的调整出来的。在此期间,需要通过极端测试法,对玩家的各种极端行为进行测试。例如,在《暗黑破坏神 2》中,玩家会在最终技能投 20 个技能点让其满级,而开技能树的必要技能只投 1 点。这种情况即为典型的玩家极端行为。而为了防止这类系统漏洞,或者可能的问题,就需要对数值设计进行各种极端测试。例如,每种属性只加 1 点属性点,然后将剩余点数全部加在某个技能或属性上,以此进行极端性的测试。而通过这种极端玩家行为测试,亦可以查漏补缺,发现因为玩家的极端情况,而导致的游戏可能的不良后果和问题。
(7)关卡平衡测试:关卡策划需要调整各种关卡内的数据参数,例如弹药数量、道具投放数量、怪物数量、怪物种类、怪物生命值等各种参数,以此对关卡的内容进行平衡。
而如果是 PC 单机游戏,那么不需要考虑压力测试这类内容。至于测试的方式,主要看财力和精力。如果是小游戏,个人测试没啥大问题。如果是较大的游戏,基本上别指望了,一个人忙不过来的。
一般公司后期都会雇佣测试团队,例如数人的测试组,专门针对以上的测试内容进行测试。大公司甚至会外聘大量的人员帮助测试。如果没钱,那就只能找周围朋友亲戚帮忙了。
最后,这里再提几个建议:
(1)最好让不了解游戏的进行测试。因为游戏的系统和设计,由于策划和程序等开发人员已经非常熟悉了,司空见惯了,于是有问题的地方,在他们眼中也不再是问题了。甚至测试人员如果测试的时间太久,可能都会提不出问题了。这样一些明显的 BUG 和设计上的漏洞,都会导致人视而不见。而某些司空见惯的地方,可能就会有某些隐藏的问题和细节。而让不熟悉游戏的人进行测试,由于他们不了解游戏,就会很容易的发现各类细节和优化问题。这也是为何很多游戏会在正式发售前,推出试玩版,或者推出抢先体验版的原因。
(2)可以通过发布试玩版的方式,让其他玩家试玩,然后收集他们的意见。而在网络游戏中,则可以采取内部测试等手段让一些玩家提前试玩。
(3)可以采用发布抢先体验版的方式,让购买游戏的玩家进行抢先体验,再针对他们的意见进行改进。这方面 STEAM 已经很普遍了。
(4)需要经常的测试。最好是完成某个功能后,就针对性的进行测试。另外每个里程碑完成后,都需要预留时间进行测试。
(5)程序需要作好测试准备。例如准备开发的作弊码,以方便策划和测试进行游戏测试工作,并提高他们的测试效率。此外,还需要准备好编译版本、BUG 数据库等各项测试准备工作。
(6)需要准备好测试用例和测试报告给测试人员,方便他们根据测试用例测试游戏内容,并将 BUG 反馈到测试报告中,从而让开发人员修改。
(7)最终所有 BUG 会汇总成 BUG 列表,并且需要排列出优先级,优先级高的严重 BUG 优先解决,优先级低的 BUG 和优化建议。这其中,要优先重点关注宕机 BUG 和各类 A 级 BUG。如果最终时间不足的话,一些轻微的 BUG,可以考虑暂不解决,或者干脆不解决。