一、游戏为什么要做接口测试
如果只是单纯做游戏的功能测试(黑盒),对于一些问题就无法测试到,游戏上线后会产生严重的后果。
举例子,重复领取奖励的问题:例如玩家完成一个任务后去领取奖励,领完奖励后【领取】按钮就消失了,对于正常玩家是没有问题的。但如果领取奖励的判断只依靠客户端来做(领奖后按钮消失),而服务器没做判断,那么遇到坏玩家时,就会被刷奖励(例如玩家截取到请求,通过发送请求可以重复领取奖励;或者在领奖时快速点击领取按钮,也会得到多次奖励)。
因此,游戏的接口测试作为功能测试的补充,是十分有必要。

二、游戏如何去做接口测试
1、如何获取接口协议
由于我们游戏项目的通信协议,要么是TCP、要么是WebSocket,并没有通用的第三方工具直接获取接口协议的。因此我们做接口测试是依赖研发写的工具,用来模拟协议的发送与返回结果。

2、如何做接口测试
接下来我根据自己负责的游戏项目,来具体说一下游戏的接口测试是怎么做的。
(1)拿到接口协议文档、返回码文档、参数配置文档等等,熟悉上述文档与游戏玩法,准备接口测试用例。



(2)拼凑所需测试的接口协议。
协议模板为:
tools:handle(角色ID, 协议号, {pt_协议号_c, 参数1, 参数2, 参数3.....})
例如上面截图中,我要升级剑士的旋风斩技能,那么协议是:
tools:handle(1678,5702,{pt_5702_c,1005})

(3)登录游戏账号,打开接口测试工具,准备好测试条件后,发送接口协议,查看返回结果是否符合预期。
例如我是法师职业,去发送一条升级剑士技能的协议,返回结果为1902,查看返回码文档,显示为技能不适合该职业,符合预期。

三、总结:
1、由于我定义的游戏接口测试是作为功能测试的补充,因此并不需要每条协议都去测试,而是挑选游戏核心功能的协议,或者是一些容易被刷的协议。例如充值、领取奖励、出售物品、活动开启结束等等。

2、拼凑接口协议,要根据具体情况进行拼凑,前提是要熟悉接口协议文档与参数文档。因为有的协议是不带参数的(测试时不用考虑错误参数的情况),而有的带一般参数(就是上面我举例升级技能的协议),最怕的是带嵌套参数(这个需要把多条协议嵌套在一起,组合成一条协议去发送,测试的复杂度也比较高)。

3、接口的测试,重点要考虑边界值(例如条件不满足,达到下限、上限等),以及错误参数情况(例如负数、0、特殊字符等)。而且测试条件需要熟悉游戏的玩法。

接口和协议组成 游戏测试中的接口测试总结相关推荐

  1. 游戏测试中的接口测试总结

    目录 一.游戏为什么要做接口测试 如果只是单纯做游戏的功能测试(黑盒),对于一些问题就无法测试到,游戏上线后会产生严重的后果. 举例子,重复领取奖励的问题:例如玩家完成一个任务后去领取奖励,领完奖励后 ...

  2. Objective-C 入门(七)协议 protocol(JAVA中的接口)

    Objective-C 入门(七)协议 protocol(JAVA中的接口) 接口的作用想必大家都比较了解 OV中的 protocol 相比接口作用相似 语法稍有不同 1.先来看声明一个协议 在创建文 ...

  3. 游戏测试中容易被忽视的重点

    游戏测试实际上也是去验证一个功能是否正常运行.但是这周我因为我测试这发现的一个bug致使我开始注意到,其实游戏测试有一点很容易被忽视. 我前面也说了,游戏测试实际上就是验证功能是否正常运行,而且一般的 ...

  4. 有关游戏测试中的探索性测试

    游戏测试里面其实主要是手工测试,那谈到手工测试肯定就会说到探索性测试. 1.指南测试法:其实就是严格按照策划案对功能进行审查,这点是最基础也是最重要的,没什么太多可解释的. 2.卖点测试法:这个方法是 ...

  5. 软件测试缺陷等级划分_游戏测试中缺陷等级分类

    给大家讲游戏测试中缺陷等级分类,它的等级区分不同于应用软件系统的测试,行业不同,分类标准也不同. 视觉级缺陷:此类缺陷不会对游戏功能造成影响,但是一款好游戏不光要心灵美(技术好)也要外型美,给玩家带来 ...

  6. 再次聊聊游戏测试中的bug:bug层级划分与分析

    声明,本文所说内容仅针对游戏测试,软件测试并不适用. Bug通常是我们测试人员日常处理的最多的工作,在一个游戏中可能存在各种层次的bug,今天我们就简单聊一聊,除了我们日常处理的内容,还有哪些内容可以 ...

  7. vue与php接口对接,怎样使用vue项目中api接口

    这次给大家带来怎样使用vue项目中api接口,使用vue项目中api接口的注意事项有哪些,下面就是实战案例,一起来看一下. 1. 在axiosconfig目录下的axiosConfig.jsimpor ...

  8. 计算机语言里的接口,使用VHDL语言开发计算机中的接口芯片

    摘  要:讨论了 VHDL语言在 EDA中的诸多优点,结合定时/计数接口芯片的开发实例,讨论了ISP技术在电子设计自动化中的应用.同时给出了实例的具体例程和时序仿真波形. 关键词:在系统可编程:电子设 ...

  9. java 方法里面定义接口_java – 当接口A在其方法签名中定义接口B时

    -如何限制A的实现在方法签名中使用B的某个实现? 用例 这是一个Unit接口和两个实现它的枚举: public interface Unit { ... } public enum ForceUnit ...

最新文章

  1. FLEX 动态添加事件
  2. mysql--------命令来操作表
  3. dede自定义表单增加添加时间怎么弄
  4. 利用.bat(批处理)来删除KEIL编译生成的无用文件
  5. OpenCV-Python Feature2D 特征点检测 (SIFT,SURF)
  6. java编程规范换行_Java编程规范整理
  7. HDU 5527:Too Rich(DFS+贪心)***
  8. Form表单的主要Content-Type
  9. java圆形排列_位图排序java版
  10. 如何解决SVN 清理失败
  11. Does Oracle Goldengate support Parallel DML?
  12. Web Hacking 101 中文版 十一、SQL 注入
  13. 工欲善其事必先利其器,TI-ONE平台“实操手册”在这里!
  14. 苹果基带芯片“分家” 一箭多雕
  15. 推荐5款优质的黑科技软件,好不好用你来判断
  16. 加好友饥荒服务器没有响应,饥荒进不去别人的服务器 | 手游网游页游攻略大全...
  17. aspen怎么做灵敏度分析_ASPEN 灵敏度分析中的问题
  18. Cisco路由器的命令配置教程详解
  19. 基于易语言的键盘监听器(仅供学习)
  20. Matlab论文插图绘制模板第32期—等高线图(contour)

热门文章

  1. 如何利用python处理excel
  2. 怎样检测微信好友是否删除了你!安全无痕零打扰!
  3. 2021/12/19 1+X 大数据应用开发(Java)中级实操考试
  4. CRect 基本用法
  5. 2020年北邮计算机专业分数线,2020北京邮电大学研究生分数线一览表(含2018-2019历年复试)...
  6. Sorl和ES的区别
  7. python线性回归做预测天气_Python线性回归实例:预测自行车流量
  8. 华为OD机试 - 寻找相似单词(Java JS Python)
  9. python爬虫——Pyquery库
  10. http协议详细解读