这里的游戏测试专指各种电子游戏(特别是网络游戏)。
从软件角度讲,电子游戏本身也是一种软件,属于软件的一类,因此游戏测试和软件测试必然有其共同点,本文不详细讨论这部分,而主要讨论其差异。
首先,我们从软件的开发过程入手:
通常一个软件的开发过程如下:
● 接受订单
● 需求分析
● 设计文档
● 程序设计
● 程序实现
● 集成测试
● 阿尔法测试
● 贝塔测试
● 软件发布
游戏也是一种软件,开发过程也逃不出这个框架,但是从开发的第一步开始,游戏就与一般的软件存在了比较大的差异:
首先:通常,软件的开发是由客户订单开始的,用户是明确的,用户的需求也是相对明确的。而游戏的开发,通常并没有客户订单,用户群的定位也是游戏策划根据市场调研等资讯设定的,因此用户的需求相对来说更加不明确。对于游戏来说,即使明确了用户群,用户的需求也是来自于游戏策划根据间接信息分析出来的,而并非用户的直接需求。因此,对于游戏测试来说,相对软件测试就多了一个步骤:对需求文档本身的测试,而一般的软件测试是没有这个步骤的。
对于测试来说,这一点直接影响到测试标准的制定。
通常,测试是以设计文档为标准,检验软件是否满足用户需求,但是对于游戏测试来说,很难说以设计文档为标准就能够满足用户的需求。
虽然,软件测试同样也存在类似的问题,但是并没有严重到需要一个专门的针对文档的测试过程的程度,而对于游戏来说这个步骤的重要性已经逐渐被认同。毕竟根据测试理论,越早发现bug修正的成本越低,而在文档阶段发现并修正bug显然要比代码实现以后进行修正的成本低得多。
其次:一般软件开发的过程以软件发布作为终点,而对于游戏来说,特别是网络游戏,发布仅仅是一个开始。游戏发布后,在游戏运营过程中,开发团队仍然需要对运营中的游戏作不断地维护更新以及后续版本的设计开发。
运营中的维护更新和后续版本的设计是根据运营情况把握用户的需求变化,并对变化的需求进行满足的过程,这个开发过程往往时间周期很短,并且开发的内容与游戏原本的内容之间的关联十分复杂和紧密,此时的游戏测试任务往往不是通常软件测试(特别是白盒测试)的手段能够胜任的。
另外,游戏相对于普通软件还有一个差异:一般应用软件的用户使用软件的目的目标是明确的,并且软件会提供相应的操作手册对用户的行为进行指引和限制;而游戏用户进行游戏的目的和目标往往不是很明确,并且游戏也不能像应用软件一样对用户的操作作出太多的限制。因此,玩家在游戏中的行为更加不可控,这对于游戏测试员来说更是一个严重的挑战,游戏测试员需要考虑到玩家可能进行的所有行为的可能性。
综合以上几个方面的原因,我认为游戏测试要比普通的软件测试复杂得多。
测试的定位和意义:
游戏测试在开发中的定位是什么呢?玩游戏找bug?这显然是错误的,我的理解如下:
1:协助开发人员改进产品质量,尽量多尽量早得发现产品中存在的缺陷,并协助开发人员消除缺陷,促使产品能够更好的满足用户需求,并节约开发成本。
协助开发人员包括两个方面:
A:协助设计人员完善设计
B:查找bug并协助程序员修正bug
找到bug并对bug进行定位是测试员最基本的工作之一,定位bug包括两个方面:
A:尽量100%重现bug,找到bug出现的充分条件
B:尽量精准的定位bug,找到bug出现的充要条件
理论上所有的bug都是能够找到其充要条件的,但是实际情况要根据项目需要,以及测试团队和程序团队的能力、工作量对比灵活掌握。
2:对产品进行质量评测,提供给开发团队、运营团队以及各级领导作为决策的参考依据之一。
我认为这是测试团队的重要职能之一,如果忽略了这个职能,则很容易有“游戏测试就是玩游戏找bug”的错误认识。
转自:中国测试平台