游戏测试流程
前面介绍过,在整个游戏开发过程中,测试在每个环节都可以参与并发挥出重要的作用,但最根本的工作职责还是在体现在『测试』行为上。一般来说,测试有两个重要的工作产出:『测试方案』和『发现bug』。
图中的测试方案主要体现在『测试用例』的编写和『测试工具』的使用上。目前游戏最主要的测试手段还是功能测试,所以如何写测试用例会进行详细的介绍,并且在之后的第二章功能测试中,详细介绍游戏中常见功能的测试点,并给出一套较为通用的测试用例库,以便快速上手工作内容。而测试工具则会在非功能方面的测试,如性能、自动化等,结合实际的操作进行介绍。
发现bug确实是测试重要的工作内容,曾今我也经历过测试团队用发现的bug数量和bug严重性来评估一个测试人员的能力。但我更想说明强调的是,发现bug不是测试追求的目标,也不应该成为其工作的动力,它更像是一种底线和坚持,总是以怀疑的眼光看待事物。bug是测试与团队中其他工种沟通的载体,是体现产品质量的衡量标准,发现的bug多并不是测试值得炫耀的事情,它只能说明产品的质量很糟糕,这对整个开发团队来说,是一个不好的消息。
测试应当努力推动的是bug的修复和预防,所以如何帮助开发人员快速定位bug发生的原因,以及提供修复建议,并总结经验教训,防止下次出现相同或相似的bug,才是一个测试对团队最大的贡献。如何发现隐藏深,操作烦,影响大的bug,也是测试能力的体现,这两者都是需要不断的学习,思考和总结才能积累起来的。
测试方案
所谓的测试方案,主要就是说明怎么测。简单粗暴的测试方案可以很简单,比如功能测试,可以将产品拿过来,对照文档内容跑一跑。像性能测试话,跑游戏的过程中看看是不是卡,有没有闪退就可以了。这种工作方式大概也是测试一直被轻视的原因之一吧。一个较为完整的测试方案应当包含以下内容:
测试方案确定后,我会将测试计划整理成如下表格,便于进度管理和反馈结果。
当然,具体编写测试用例和使用测试工具的方法会在后面进行介绍。
测试执行
执行部分没有太多需要特别说明的,只能强调耐心、认真、细致。过程可能会有一些枯燥,但毕竟我们测试的对象是游戏,也要自己想办法改变一些工作方式和心态,增加工作的乐趣。例如我刚开始做测试工作的时候,是从跑地图开始的。那个时候地图编辑器功能比较差,导出来的地图资源放到游戏里常常有各种各样的问题,就需要在游戏里把所有地图过一遍,每个角落,每个场景物件都要检查。然后我就尝试着用一些特别的技能来跑路,或者召唤一大堆宠物跟着我,总之不要让自己陷入到机械麻木当中。还有用例的执行情况也靠自觉,你可以将一些实际没执行的用例标为测试通过,你也可以放过一些看似不严重的小问题,只要将来功能不出现问题,你可以一直这么“幸运地”干下去。但如果将来出现了问题,也请勇于承担后果,哪怕公司为此辞退你,毕竟对自己的工作负责,是每一个职场人应有的职业操守。这个世上不存在着绝对能做或者不能做的事情,只看你能付出多大的代价。
测试执行的重要产出就是『Bug』,也就是各种各样的问题。有关bug的提交,描述方式,如何推动修复,有一篇专门的文章,请点击查看如何提交bug。
bug修复之后就是进入到回归测试了,基本上回归测试主要就是验证bug是否完成修复,需要注意的是问清楚除了bug是否还有其他内容的修改,以防修改的部分引发有新的问题。
最后,完成全部测试后,一般都需要汇总下结果,表明测试是否通过,发送测试报告。此外,还可以梳理测试用例和测试工具,总结过程中的经验教训,有干货的话还可以进行分享,增加团队成员交流的机会。