了解了这些原理之后,让我们回到平衡性测试。
为什么要进行游戏的平衡性测试:平衡性测试一般遵循游戏性测试的原则,因为平衡性测试是游戏性测试的一个重要的组成部分。而游戏性测试通常是作为功能测试的一种弥补而存在的。但是我们绝对不能忽略游戏性测试,因为在进行正常的游戏测试时,即使我们相当相当仔细的分析了策划文档,研究了测试计划,即使我们设计出了一份非常详细的测试用例书,甚至我们为了测试这个项目不惜分析一遍以前的案例,我们依然有可能遗漏某些地方的问题,这些地方大多数就是游戏性的问题。
游戏性测试和功能测试的最大的区别在于,在我们没有被给予一个明确的目标来重现一个较大的缺陷时,我们需要带着所有的疑问进入游戏,在游戏的探索的过程中来发现这些问题,因为游戏性测试更依赖于我们对游戏的理解和直觉。
平衡性测试:为了更好的阐述平衡性测试,以下我们用一个具体的游戏《魔兽世界》作为对象来展开测试。
魔兽世界基本介绍:魔兽世界是建立在著名的魔兽故事基础上的一个大型多人在线角色扮演游戏。玩家在广阔的世界中探索,冒险,完成任务 ,其目的就是要成为魔兽世界中的英雄。魔兽世界可以让数千名玩家通过互联网在同一世界中进行交互。无论是一起冒险还是在史诗般的战斗中,玩家之间会建立友谊,组成联盟并且一起为了力量和荣耀而与敌人共同战斗。
魔兽世界的经济系统也符合以上经济系统的构架,但是在玩家群体之中添加了很多更具游戏性和互动性的系统比如拍卖行等等。需要提到的是,魔兽世界的经济系统平衡性做的很好,但是到了游戏的后期仍然存在很多平衡性的问题,比如由于高级战利品的价格较高而系统又缺少新的玩法来有效的回收这些过剩的金钱,导致了玩家金币积累过多而造成平衡的失调,最直接的表现最初的魔兽金币的线下交易每个几乎需要2RMB而现在却只需要几分钱。这就是为什么暴雪到了后期为了避免游戏中通货膨胀而需要进行像安琪拉开门以及明年引进新的种族和开放外域空间的世界性事件,因为需要更多的玩法来回收玩家的金钱。
在魔兽世界中,玩家从经济系统获得金钱只有2种途径:1.打怪,得到一定数量的金钱或是装备战利品可卖予npc商店换取金钱;2.任务奖励,玩家通过做任务获得金钱,或者装备的奖励。我们把运用生活技能进行采集等获得奖励的途径看作是一种变相打怪行为,因此将其归为一类途径。而系统从玩家处回收包括学习技能,装备修理,购买消耗品以及飞行费用等等。
以下我们就根据魔兽世界的背景来进行游戏初期的平衡性测试。
分析文档(由于没有策划文挡,我只能简单的描述一下分析文挡时需要注意的问题):明确魔兽世界的基本构架,理解策划人员对平衡性的要求,也许有的需要保持平衡性的地方有明确的说明,但是有的更细节的方面就没有明确的策划文档依据。尝试理解整个游戏,才能够具有足够敏锐的嗅觉来发现问题,要知道我们实际上并不清楚哪里会出现问题,但是遍历游戏的所有玩法是不可能的,所以我们要通过设计有效的测试用例来完成。 [Page]
设计测试用例和执行用例:根据策划文档的分析结果,来设计测试用例。对于平衡性测试来说,寻找一贯占优势的方法或者一贯不被采用的方法来进行游戏测试,并且将这两种情况归结到典型的不平衡当中,作为边界值来使用。比如我们发现大多数玩家热中于farm而不去理会那些很有吸引力且回报颇丰的任务。那么这种方式我们在设计用例的时候一定涉及到,但是我们并不能在这个时候就简单的认为这是不平衡的,因为我们并不知道这些情景下所得到的结果是不是我们所预期的那样,所以一切都要实施测试之后才能得出结论。需要注意的是,在测试的过程中,我们要将系统的回收(如修理装备、购买消耗品)从最后的玩家获得中扣除,最后得到玩家的纯收益,一般都用金钱来衡量。
在选择测试用例的时候,要明确我们的测试目的,我们是要对经济系统进行测试,所以要尽可能的排除其他事件对测试过程的影响如角色的死亡以及在2块大陆或者多个飞行点之间的来回穿梭的时间等等,也可能需要我们进行反复的测试来得出真实有效的测试结果,最后再来对照策划文档进行测试结果的分析,如在一定的时间或者阶段,系统的产出和回收的关系是怎样,是不是符合策划的要求。
需要注意的问题:等价类的划分:准确的划分等价类,这样可以节省大量的测试时间。
这是我针对魔兽世界进行等价类划分的一个例子:1-10级是我们测试开始实施的阶段,需要进行测试。10级以后由于开启了天赋系统,会对角色的劳动效率造成一定的影响,所以11-20级也要进行测试,而31-40级可以被认为是20-30级的一个等价类,因为在其间没有转职或引入新的系统 。41-45级则需要进行测试,因为在45级涉及到一次固定资产的投入即购买坐骑,以此类推。同样,不同种族的相同职业,也可以看作是等价类。如果可以实现从任意等级开始实施测试的话,我们也可以覆盖更多的等价类,得到多个不同等级阶段的测试结果,要知道越多的数据将会使测试结果更加趋于精确。
设计用例: 1. 建立人族战士角色,从1级开始进行游戏,只通过打同等级怪进行升级,在其到达10级的时候,分析角色获得的金钱,并与策划文档进行比较,看是否达到策划的要求。
2. 建立人族战士角色,从1级开始进行游戏,只通过做任务进行升级,在其到达10级时,分析角色获得的金钱,并与策划文档进行比较,看是否达到平衡。
3. 建立人族战士角色,从1级开始进行游戏,通过正常方式升级(即做任务同时有目的的farm怪物),在其到达10级时,分析角色获得的金钱,并与策划进行比较。
以上都是很多玩家根据自己的兴趣所在而选择的游戏方法,但是我们要考虑到有些玩家会使用的其他的方法来提高劳动效率,比如购买大量的药品来进行辅助杀怪,或者是在有可能的情况下,使用药品来击败高级怪物以及完成某些团队任务(主要是杀死高难度怪物的任务)。 [Page]
我们再来看2个例子:
1. 建立人族战士角色,从1级开始进行游戏一个小时,只通过打同级怪获得经验,一个小时结束后,记录角色获得的经验值及金钱数。
2. 建立人族战士角色,从1级开始进行游戏一个小时,使用一切能够使用的消耗品如血药、蓝药以及buff药水,只通过打同级怪获得经验,一个小时结束后,记录角色获得的经验值及金钱数
这2个用例的测试目的是希望从测试结果得到的数据中发现可能存在的平衡问题,假设用例1所得到的结果是玩家获得100经验、100金钱,而用例2所得到的结果是玩家获得200经验、300金钱,要注意我们不能凭借几个数值间简单的数学关系就判断它们是否平衡,而是要返回数据给策划来判断。
文章来源于领测软件测试网 https://www.ltesting.net/