以下为分享实录:
一、如何做功能测试?
游戏功能测试,就是对产品各功能进行验证,设计测试用例,逐项测试检查是否达到预期。通常,我们把功能测试分成如下几个步骤:
1. 制定测试计划;
2. 设计测试用例:包含测试什么东西,在什么场景什么环境下测试;
3. 执行测试及产生测试报告。
其中,最核心的是第二步,简单来说就是我怎样去测试这些东西,测试完之后我怎样保证能发现尽量多的问题,从而解决BUG。接下来就详细讲讲具体案例。
如图这是一个排行榜的玩法,我可以挑战名次比我靠前的人,挑战的是对方的防守阵容。如果我挑战成功,我的名次就和对方互换。规则概览如下,这里将规则简单化了,实际上一个排行榜规则不可能如此简单。
大家可以思考一下,这样一个玩法规则,你觉得需要测些什么。
我们跟进这个玩法测试时,会发现这个玩法很自然的分成3个模块:报名、挑战、活动结束&结算,我们将这3个模块分别进行测试。
第1个模块,报名模块
报名模块有两个条件,一个是等级条件,一个是人数上限。
20级玩家级以上才能参加,限定1000人报名,程序在写判断的时候会写:
这里涉及到一个边界值的问题,在人数限定中,如果count是玩家报名以前已经报名的人数,就是小于号,如果是玩家报完名再做比较,这里就要加等于号。从代码编写的角度来看,边界容易出问题,因此我们要对边界值及边界值附近都进行测试。
第2个模块,挑战活动
挑战有以下几个流程。发起挑战,被挑战者排名靠前,挑战成立;否则的话无法挑战,以此类推就形成了一个清晰的流程。
在这个地方,测试时要把每个分支都覆盖一遍,以检测是否有BUG。
第3个模块,结算模块
奖励结算按名次结算,前十名王者礼包,11-100钻石礼包。在我们做测试时可以发现,这些排名被分为了三个区域。
我们可以认为,三个区域内的排名是等价的,也就是说,1—10名中,如果随机抽取一个名次得到的奖励是正确的,剩下的9个名次拿到的奖励也是正确的,因此1000个名次看成三个区间,每个区间随机抽取一个名次进行测试,所以我们可以用等价划分加边界值来测试。
是不是这样测试就足够了呢?
刚刚我们假设的,是按照步骤一步步走的玩家,但有些玩家会遇到很多其他的情况,因此我们在做测试的时候,要比玩家想得更多,提前预防“骚操作”,去测试游戏功能是否正常。
举个例子,玩家在挑战过程中掉线了、玩家游戏的账号被顶号了,又或者在挑战过程中,对手的名次又变了,出现这些情况游戏应该采用怎样的处理方式,也是我们做测试时需要考虑的问题,这就是功能测试需要做的事情。
功能测试有很多的方法论,除了刚刚提到的边界值、分支覆盖、等价类外,还有很多方法,但万变不离其宗,都是为了找出容易出问题的点,去执行这些用例。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理