51Testing软件测试论坛

标题: 合服测试 [打印本页]

作者: 草帽路飞UU    时间: 2017-6-26 11:52
标题: 合服测试
前言
合服,为什么要合服,当一个服务器数据下滑后,其一为了节省服务器硬件成本就需要合服;其二是玩家需要一定的热度环境。
合服最好的做法是数据结构等上线前都设计好,也准备好,尤其是账号角色重名处理等,这里会分几段讲。
没啥时间写,另外在研究新东西,这个也是拿我之前自己博客里改的。

内网预演

1)提前在内网进行一些业务的预演。2个服的数据准备,不同的服务地址来区分,信息方面比如等级or积分排行榜信息,pvp数据,pve关卡排名等(需要check本次合服到上次合服是否有信息添加,来源是数据库表)。<--根据实际游戏业务来
2)在内网环境,数据库建立起码2个库,从库到主库,执行脚本合并。
3)预演几次后,如果已经成熟的1次就可以,脚本失败后,再次执行是否数据出现异常。
4)提前准备好外网所需要用到的区服账号,记录roleid,区服信息,渠道账号、密码。
5)数据检查字段名数据正确,不为空;删除账号规则变更后脚本修改,没有变更则需要改时间戳

合服逻辑操作

1)归集合并的游戏库到同一个mysql服务器,假设是1,2,3三个区合并, 数据库名字分别是gm1,gm2,gm3.
2)建立和现有游戏库相同结构的空库,空表. (检测每个库表结构一致)该库作为合并后的新库.
3)脚本.sql默认会去合并名"sr"的库, gd1的库名改为sr,执行脚本合并到新库.
4) gm2的库名改为sr,然后也是这样合并.依次累推。合并成功1个区的库后需要检查1次。

脚本.sql

delete from db_表;
replace into db_表(字段1, 字段2, 字段3,字段4,…)
select 字段1, 字段2, 字段3,字段4,…;
测试需要提前配置账号,检查哪些表,验证delete from 是否干净(内网就是1),外网预登陆也要检查次)
容易出现错误的地方:
合服后,发送奖励礼包,不能还是以之前服务器数量来发,以一组区服来发。要不会合并后的服务器,每个人可以多领到合并前服务器数量的礼包。
合并前没有检查是否之前的脏数据,内网测试量较少不一定发现,需要区域比对下,如果有这类解决不难,会影响维护时间
删除账号业务,时间戳甚至错误。
带附件的系统邮件和带交易缓存的交易行等,合区前会强制物品下到玩家空间内,合服这部分要重置后,才可以上架交易。


作者: jingzizx    时间: 2017-6-26 13:11
游戏测试考虑还是比较多啊
作者: 八戒你干嘛    时间: 2017-6-26 14:35
还没经历过一款成功的上线游戏项目,这些先储备着
作者: 悠悠小仙仙    时间: 2017-6-26 14:36
比较容易出现BUG的地方: 跨服的操作 ,比如跨服公会战之类的,因为我们这合服的话,server1和server2合并到一个server1上,那么server2的 id会变,所以重点是server2上的数据 ,比如公会战、邀请好友之类的 容易出问题
作者: 草帽路飞UU    时间: 2017-6-26 14:37
悠悠小仙仙 发表于 2017-6-26 14:36
比较容易出现BUG的地方: 跨服的操作 ,比如跨服公会战之类的,因为我们这合服的话,server1和server2合并 ...

是啊,所以在合区前,版本内容要详细测清楚,带跨服的要清空,主从合的顺序要检查,先要准备每个区1个账号,合完后在登陆。至于邀请好友是指什么问题哇,交流下。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2