游戏测试 游戏端接口测试尝试有感

JarvanRookie · 2022年11月16日 · 最后由 JarvanRookie 回复于 2022年11月29日 · 8154 次阅读

背景

最近在研究如何做接口测试,自己所在的项目,恰好使用的是 HTTP 协议,且内网通信可以直接用 Charles 抓包,能看到明文,自己试着用 Python 的 requests 库进行了收发包,发现可以正常通信,就自然而然的想到了,接口测试落地。

之前的项目里,客户端源码也看过一些,网络通信部分也能看懂,但多多少少会有一些问题:序列化/反序列化、加密解密怎么处理?如果用现成代码,C#/Lua 得学;如果用 python 重写,成本太高。
抱着侥幸心理,尝试寻找另一种解决方案:从 Python 里调用 C#/Lua 的东西,后来尝试未果。。项目解散,也就没能继续。

过程

经过探索,编写一条用例流程:

  • 构建测试环境
  • 抓包获得构建环境发送的接口
  • 解析接口并找到最少的环境构建接口
  • 解析待测接口数据结构
  • 构建接口数据并发送
  • 解析待测接口返回的数据结构,编写验证逻辑

按照这样的思路尝试写工具、用例,发现问题:

  1. 用例的前置、数据构建、返回验证写起来太费劲,无法通用、复用,每个接口只能单独写;
  2. 本着推广的想法,期望做一个 GUI 的工具给大家用,但发现用例、接口的结构都可以展示,但数据构建、逻辑验证仍然脱离不了代码,学习成本太高;

问题

  1. 针对上述问题 1,想问问大佬们有什么好的解决方案?
  2. 如何推广?团队成员能力参差不齐,有的有代码基础,有的完全没有。
  3. 游戏团队里,有真正在项目中将接口测试落地的吗?

感慨

在游戏行业呆了 10 年,一直在点点点。
也迷茫过,也纠结过,在年近 35 的时候,突觉职业生涯时间不多,希望能做点什么让自己不留遗憾,所以想在项目中真正实践下不一样的东西。
因为,个人职业生涯中,未曾接触过太多技术相关的,虽说尝试转客户端,做了半年多,但最终又回到测试,有一定的技术基础。但曾经的我又何尝不想提升、有更多的发展机会,学习更多的技能。
不少同行一直自嘲:xx 年点点点、游戏测试死路一条。。。
但这行真的是这样吗?诚然,软件和游戏有差异,但游戏也是软件,不能因为游戏项目周期短、迭代快就可以不用考虑生产力的提高。当然,也是因为自己经历有限,或许很多技术、解决方案在大厂/成熟团队已经落地并且能替代点点点,也希望各位大佬能来交流交流

共收到 2 条回复 时间 点赞

个人经验:
1:一般接口测试话的直接从服务端那边拿接口文档,不建议自己去抓数据,增大成本
2:游戏建议接口要模块化,跟游戏对应,可以根据模块,环境独立执行
3:游戏的话,一般要接入集成,由服务端提交代码后,触发脚本逻辑 - 部署最新代码环境,-执行接口回归,才能做到提升效率回归

HelloLoneWolf 回复

感谢分享!

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册