游戏行业的测试,业务规则上会按照每一个项目的区别进行调节,因此是属于需要按照每一个区别项目组去适当调节工作内容。客户端部分是基于引擎较多,介于游戏由于封装的关系,除非在二端内部写完整过程的代码,但这个难度亦太大。 我供给有些思路便是从 c->s 入手,守护起来亦比较简单,以下文案介绍。
→ 游戏内通信对象大体三类:
§ c->s
§ s->c
§ s->s
这点和软件是同样的,外边就多1个平台。游戏行业做接口测试基本亦和其他类型测试同样。
这儿先介绍下,需要先准备:
§ 游戏后台开启
§ 起码2个游戏客户端。另一1个客户端观察游戏内的状况。
→ 下面举两个例子
先找1个触发器,这儿用的是聊天框,代码如下(貌似没.lua的)。(代码参考还是上面的 2)部分里的内容,1)表率原来的。)
functionChat:rueryChatCache()localmsg="cQueryChatCache"app.net:sendMsg(msg)endfunctionChat:requestChat(chatType,name,content)
--1)正常状况localmsg="cChat "..chatType.." "..name.." "..contentapp.net:sendMsg(msg)endfunctionChat:requestChat(5,damao,cQueryDailyTask)
--2)运用聊天框做触发器输出协议localmsg="cChat "..chatType.." "..name.." "..contentapp.net:sendMsg(content)endfunctionChat:requestChat(1,damao,msgtxt)--2)用于修改chatType类型localmsg="cChat "..chatType.." "..name.." "..contentapp.net:sendMsg(msg)endfunctionChat:requestPublishNotice(content)localmsg="cAnnounce "..contentapp.net:sendMsg(msg)end
* 第1个例子:需要检测的协议
1) cChat eChatType(1=私聊 2=本服 4=世界 3=公会 5=系统 服务器触发 不受理客户端 6=gm公告) toName Content
需要分别检测 cChat类型。
修改chatType1,2,3,4,5…分别输出。其中在另一1个客户端开另一1个帐号就能够看到文本里的内容。或在后台能够表示输出内容其中输出类型5,另一1个客户端是不可见的。
* 第2个例子:协议(用于社交关系变更)2)cBlacklistModify nType(1=拉黑 2=撤销) idTarget
cBlacklistModify nType2个类型的测试,能够同期对1个有效的用户名。检测s->c回来的内容nType 1or2 idTarget 传不存在的用户,检测s->c回来的内容这般能够简化测试,并且不会有遗漏,绕过了非常多操作过程。详细能够想想平时你怎样拉黑的。
→ 再介绍1个好东西,关于能够方便的调用接口的方式
c->s的信息都能够用以下照片里的,后面2段内容,在chat聊天界面输出就能够自动调用c->s的协议内容。(例如:cQueryDailyTask 请求任务代码参考还是上面的 2)部分里的内容,1)表率原来的。) 在游戏后面,有非常多协议需要按照检测成功和失败的返回参数,亦需要进行创造力的去组合测试。在实质工作中,非常多游戏中都会存在有些协议文档的内容。通常状况下,协议的说明需要被单独抽离出来。平时守护的话,便是倘若协议不失效,就能够始终运用;失效就需要备注去掉。内容被修改的话, 亦需要在文本里备注说明。并且,必定要把所有文本放在1个目录下,后期运用notepad类似工具,能够读取查询详细协议类。
就业喜报|《2020年flag:拼不了爹,就拼命学习做高薪榜榜首》
学员故事|《30是道坎,迈欠好是门槛,迈好了是跳板》
在线课程|《速成班开课了!52天后她们将进入IT行业》
点击,识别下方二维码,认识软件测试关联课程。
点击,识别下方右侧二维码,获取软件测试技术贴。
点击下方“阅读原文”,挑战 年薪20万 ~
|