游戏测试之功能测试的基本方法及应用详解(1)

发表于:2021-6-25 09:29

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:NetEase_Game    来源:CSDN

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

      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号