3.2.3 游戏类
游戏开发公司通过各种调查、评估,确定自己要开发游戏的范围或者项目等,然后对市面上的此类游戏进行测试。测试人员玩和开发项目相同类型的游戏。全面的测试报告包括可玩性、功能方面、画面、性能、所需配置、社群体系等内容。
1.基本功能
针对游戏基本功能,测试用例的设计思路如图3.1所示。
图3.1 测试用例的设计思路
每个测试项有相应的测试点,如对于游戏启动时的测试项,测试点根据图标、界面显示、启动项检查、按键操作细化,如表3.1所示。
表3.1游戏启动时的测试项
其他测试点的细则不一一列举,可根据游戏的实际情况进行细化。
2.界面
基本功能虽然能保证游戏的操作流程正常,但对于游戏内容的正确性是无法保证的,界面也是玩家在体验过程中会关注的内容。因此,对于游戏内容的检查,首先应该从各个界面下手,针对每个界面的跳转进行测试,保证除基本流程之外的分支流程能够正确。每个界面的测试项如图3.2所示。
图3.2 每个界面的测试项
3.游戏元素细分方式
界面只是游戏内容的一小部分,实际上游戏内容远不止繁多的界面,通常还有角色人物、道具、音效、成绩、奖惩规则等元素。若游戏没有生命值的需求,则奖惩规则不在测试用例设计中体现。根据游戏元素整理的测试项如图3.3所示。
图3.3 根据游戏元素整理的测试项
4.资源占用情况
游戏的资源占用也属于功能测试的重要内容,测试结果需要在测试报告中记录。通常测试报告中应记录游戏的CPU占用率及内存消耗情况。需要注意的是,这两项数值都是实时变化的,因此需要对记录的数据进行筛选,选择记录重要的初始值和峰值。针对资源占用情况,测试项如图3.4所示。
图3.4 针对资源占用情况的测试项
如何才能得到这两类数据的峰值?这需要设计合理的测试场景。
(1)理论上,若游戏线程越多,读写数据操作越频繁,则CPU占用率越高,因此CPU占用率的峰值测试场景为玩家操作频繁的界面。
(2)内存消耗则是根据游戏在运行时加载的资源多少来决定的,因此理论上玩家玩的时间越长,加载的界面、元素越多,消耗的内存就越多,因此针对峰值的测试场景下需要尽量遍历所有界面,接触所有道具,测试时间一般需要在4小时以上。
5.异常场景设计
异常场景设计是对测试用例覆盖率最有效的补充,往往最容易暴露问题的就是异常的操作或环境。测试用例的设计需要考虑游戏与系统如何进行数据交互、游戏如何选用框架及哪些数据需要传递。
例如,测试的Flash游戏运行在Linux环境下,与底层系统的交互涉及操作数据和玩家成绩。操作数据(角色在游戏中的左、右移动)是通过管道(pipe)与底层系统进行交互的,玩家成绩(最大高度和最高得分)则是通过score.xml文件进行保存的。因此,异常场景下的测试项如图3.5所示。
图3.5 异常场景下的测试项
综上所述,Web、移动App、游戏测试都是通过平时积累的大量经验逐步形成知识体系的。本节给出的模板提供了一个测试用例设计思路,有助于初学者少走弯路。当然,在实际工作中,读者还需要细化思路,除了上述模板中的测试用例,还需要补充大量与实际项目相关的测试用例。