游戏规划导论(九)——测试方案的生成
测试方案属于软件工程的范畴,是策划人员测试游戏的主力。我好像没听过哪个策划人把考试过程描述的很开心,因为考试本身就是一件很无聊很痛苦的事情。让你没日没夜的玩同一个游戏,几十遍几百遍的玩一个重复甚至索然无味的内容。没有人会觉得这个过程很有趣。一个合理的测试计划可以尽可能的减少测试人员的工作量,也可以尽快的解决测试中的问题,这就要求测试计划的开发人员对游戏开发有全面的了解,并且能够掌握测试的进度,难度可想而知。
测试是游戏开发中极其重要的一环,它所花费的时间一般会占据整个开发周期的1/3左右。测试贯穿整个开发过程,小规模的模块测试由程序员自己完成。对于规划来说,如何完成最终的产品测试才是真正关心的。根据软件工程理论,有两种主要的测试方法:黑盒测试和白盒测试。所谓黑盒测试,就是把要测试的对象当成一个黑盒,不知道里面是怎么处理的,只要测试输入输出数据就可以了;而白盒测试则要求测试人员对测试对象的内部处理有很好的了解,对所有的分支和循环进行实验,达到测试的目的。黑盒测试和白盒测试是最基本的测试方法,属于低级测试理论。实际的测试方案基于这两种测试方法。
对于游戏的测试,无非就是这两种测试方式。基于黑盒测试的测试方案属于高端测试,主要是对游戏进行操作层面的测试;基于白盒测试的测试方案属于低端测试,是对各种设计细节的测试。在黑盒测试中,你不需要知道它是如何工作的,也不需要知道内部算法是如何设计的。只看游戏中的战斗或剧情发展是否按照要求进行。这种测试可以由一些不太了解游戏的玩家来进行,只要写清楚自己想做什么,最后会达到什么样的效果,并记录下游戏过程中出现的问题。白盒测试需要知道内部的计算方法,比如A打B,根据A和B的当前状态应该失血多少等等。白盒测试需要规划者自己去做,因为内部的算法只有开发者自己清楚,最容易找出解决问题的方法的人。由于测试的工作量巨大,所以合理安排测试和BUG修正的时间比例非常重要,否则很容易出现发现问题却没时间修正或者问题不能一起解决的矛盾。测试设计应在开发的设计阶段完成。如果在发展初期不安排合理的时间,最后的结果肯定是马不停蹄!
在测试方案中,设计人员应根据需要有效结合黑盒测试和白盒测试,并按照步骤划分测试时间段。按照游戏开发流程,测试大致可以分为单元测试、模块测试、整体测试和产品测试。单元测试一般侧重于细节,主要在游戏引擎的开发阶段检测引擎的构建能力和完善程度。这部分工作是严禁的,因为任何一个小失误都可能导致后期出现大量bug。这时候就要求程序开发人员与策划人员无障碍沟通,策划人员要明确发动机任何功能单元的使用方法和效果,保证在测试中能发现问题并指出问题。模块测试是在游戏开发过程中分阶段进行的。每生产一个型号,都要对这部分进行一次集中测试,以保证系统的牢固和完善。模块之间的接口测试也属于这部分工作,也就是说各个游戏模块之间如何实现过渡,如何交换数据都要经过严格的测试。往往模块内部测试一切正常,但是模块组装在一起后问题很多,需要在分阶段的模块测试中及时解决!整体测试是比较高水平的测试。游戏的DEMO基本完成后,要从宏观的角度对整个游戏进行合成。这时候就需要完全掌控进度的能力。最终产品测试是游戏质量保证的最后一关,需要大量非开发者介入地毯式轰炸!产品测试往往伴随着一些市场活动,这不是我们现在要讨论的范围。
我们已经知道测试过程分为几个阶段。让我们来看看包括哪些内容:
测试的时间分配:如何分配测试时间将直接影响开发的进度,测试时间包括测试时间、测试结果汇总时间和纠错时间。一般来说,开发人员只是觉得测试时间需要分配,实际上合理安排测试总结和BUG修改需要更多的时间!如果不总结测试情况,项目经理就无法发现哪些部分出了问题;发现问题不立即修改,会导致更多问题。所以定期检测,发现问题,解决问题,才是最合理的。把整个开发周期分成几个阶段,是产品质量的根本保证!科学安排考试时间,才能用最少的成本解决最多的问题,否则把考试堆在最后的结果里,只会一塌糊涂!
测试人员的安排:测试人员的选择和调配对游戏的质量至关重要。测试人员尽量不要选择游戏开发商。只有对游戏一无所知的人才能真正发现程序或设计中的问题,尽管他们可能对程序或游戏设计一无所知。当然最好有专门的测试团队,在资金和人员确实紧张的情况下,从其他非开发部门借人也是不错的办法。
测试内容列表:该部分要求测试方案的设计者仔细考虑和计算,尽量使测试内容精确到操作层面。这意味着最好细化到一个测试人员点几百次鼠标的程度,因为测试人员对你的游戏内容一无所知,只有你把所有的任务都搞清楚了,你才能得到预期的效果。只请人玩这个游戏然后反馈是不负责任的。这个测试方案只能当垃圾扔进废纸桶!只有每个测试人员的工作明确,测试报告以测试表的形式填写,测试时间明确签字,才算合格的测试计划。
测试结果报告:在总结最终测试报告时,计划员应对所有方案进行评估和分类,确定解决测试中发现的问题的优先级,然后反馈给相关部门。如果问题特别严重,要敢于要求返工,任何小问题都不能放过。严格的测试才能带来高质量的游戏产品。这个规律适用于任何行业,游戏也不例外!
调整开发进度:对测试中发现的问题造成的进度影响要及时反馈给上级领导,然后立即更新项目进度,并注明变更原因。因为开发进度的调整关系到很多部门的工作,所以最好在设计进度初期就把测试时间预算好,但实际上大多数情况下开发进度变化非常频繁。如何在不影响游戏最终完成时间的情况下休息进度,对任何一个项目经理来说都是一个挑战!
一旦测试计划确立,剩下的就是繁琐枯燥的机械工作。测试是最痛苦的,但是没有测试,游戏就成不了产品,这也是国内大部分游戏充满bug的问题。制定科学的测试计划,协调各部门之间的进度,对于任何项目都是非常重要的。学习写测试计划是初学者的必修课之一。
测试的全面完成标志着项目开发的结束。但是对于规划来说,你的工作还没有完成。接下来,你将开始教玩家如何玩这个游戏。如何完成一个新手教程,以后慢慢给你讲解!