次元羊游戏资讯网

决战沙邑
当前位置:首页>游戏评测 >

需要重启游戏客户端-满满干货-游戏功能测试-为什么有游戏一直测试

作者:次元羊 时间:2023-10-19 08:06:44阅读:(41)

上一篇文章写的是王者荣耀登录的测试点,本来是想写七天签到的测试点,但是突然想到了重登和重启这个问题,所以就想写一下所以算是乱入?首先,在回答这个问题之前,得对背景有所了解像一般这种中小型游戏,特别是手游,停机维护的时间特别多。

不知道什么时候就出现了一个严重的bug,比如什么刷元宝啊,掉战力,服务器宕机这种,特别是一个新功能新系统上线,bug尤其多,就可能不停地需要修复bug尤其是mmorpg手游没办法的事,所以重启服务器就需要在内网进行验证有没有问题。

本来没有什么问题,结果修了一个小问题,重启服务器之后出现了一个更大的问题,这怎么办?说完服务器重启,还得说一下重登重新登录游戏也算是玩家正常的操游戏资讯作了手机卡了,重登一下;网络不好,重登一下;游戏玩腻了需要休息五分钟。

所以说,重登游戏也是一种非常频繁的状态但是重点来了:不管你是重登还是重启服务器,都要保证玩家游戏数据的正确,不能丢失或者增加可能看过我写的‘前后端对应’的兄dei很容易理解,这篇文章算是对之前文章的补充。

所以当我们写某一功能的测试点的时候,都要考虑这两个问题:重登与重启为什么要重登?重登就是为了验证前后端数据的一致性这种情况更深层次的原因是,前后端是分离的,往往可能客户端和服务器有不同的算法先拿战力值的计算举一个例子。

客户端的算法对战力值的提升会有飘字提示,比如+100攻击力,+100防御力,通过增加的属性,再计算出+200游戏资讯0的战力服务器也有这一套算法,但是往往就会出现,你游戏里加的战力,重登之后就会发现你的战力值跟重登前的不一样,可能多了,也可能少了。

如果战力值相差不大,最大的可能就是前后端对取整的方式不一致,可能客户端是向上取整,服务器是向下取整什么是向上向下取整?你玩游戏没有见过小数点的战力吧?举一个例子:1.3这个小数,向上取整就是2,向下取整就是1。

别看这只相差1点,通过层层算法,1点的差距就会变大,这是一种造成前后端差异的地方你可能会问,像战力这种东西,服务器直接推不就好了,还要客户端多算一次,不是多此一举吗?不要问,问就是不知道再举一个取值的例子。

在一张完整的策划表里面,字段有很多,一般都会用cs来游戏资讯标注,c代表的是client,就是客户端的意思,s代表的server,就是服务器的意思填的c,就是客户端用这个字段;s,就是服务器用这个字段;cs,代表客户端和服务器都用这个字段。

如果是都用的,那可能没问题,就怕那种同一个数据,客户端用一个字段,服务器用另一个字段,这就导致不一致出现这种问题,锅是谁的?当然是策划,谁叫他表都不会配举一个例子之前有一个每日充值的活动玩家充了30的钱,却可以领取300的档位,这是为什么?。

嗯,没错,档位展示是一个字段,客户端使用实际充值是另一个字段,服务器使用如果两个字段配表不一致,就会出现上述的情况本来两个字段都要30,结果是一个30,一个300说完重登,再说一游戏资讯下重启服务器要说原因,得先说明服务器保存数据的方式是怎样的。

服务器可能会保存一些临时数据,但是最后的数据都会保存在redis或者mysql中,或者其他的数据库你也可以理解为,数据库也是另一个服务器所以在游戏里面他们不是同一个服务器,而是需要两个服务器之间进行交互,即游戏服务器和数据库之间的交互。

就是说,你在玩游戏产生的游戏账号数据,都会保存在数据库中但是什么时候存进数据库,就由服务器说了算有时候为了服务器性能考虑,往往不会说玩家产生的数据即时就存进数据库里你想嘛,如果每进行一步操作,就存一下数据库,那么对服务器的压力就太大了。

其中可能有很多无效操作那怎么办呢?先存到服务器里,做临时数据,先用着游戏资讯,然后每隔一段时间,比如一分钟两分钟再进行一次交互,把数据存进去,减少一点服务器的压力不要问我怎么知道的…都是我猜的当然,对一些数据就要做到即时储存,比如充值型,你充了钱,过了几分钟再给你元宝…你想想玩家怎么说?怕不是要打个一星好评加退款。

这就相当于对数据做了区分,即时存的和不即时存的尴尬的地方在于我们测试不知道哪些数据是即时存的所以就需要进行服务器重启来确认数据是不是即时存进数据库,模拟外网重启状况…原因一,对不即时储存的数据很有可能就会丢失。

所以这种情况,就要找开发解决了不过放心,一般运维对停服操作时会先踢人等数据保存再停服的原因二:这就是纯粹的bug了开发可能代码不规范,压根就没写存入数游戏资讯据库的代码这就会造成,玩是正常,数据也是正常,但是服务器一重启,数据就全部丢失了…。

原因三:重启服务器再重新登录时,有一个数据重新加载的过程,这也是一种数据处理方式我之前就遇到过重启服务器之后,某个充值排行榜就直接没有了上榜限制,把所有玩家的充值记录都出来了本来要充值98才上榜,重启后充值1就上榜了…。

不过,这里也有乌龙事件,就是没有等到数据保存数据库就直接停服了…被开发一顿怼,脸皮厚如我也架不住。好了,今天就说到这里。本来想写七天签到的,没想到前两天王者大改版,怕是要打乱我计划了…

推荐阅读