说实话,在游戏测试领域,做接口测试的并不多,做的好的更是寥寥无几(请大家不要喷游戏测试比较low,行业现状如此而已)。绝大部分游戏测试人员都是以功能测试为主,偶尔做做性能测试和压力测试已经很不错了。
那么,既然做接口测试的不多,从侧面说明接口测试重要性没那么高,为什么我们还要专门去谈这个问题呢?这个说来话长,也是项目里真实发生的一些事故导致的,我们不得不重视和被迫去做这个事,亡羊补牢,毕竟任何工作不可能一开始就是完美的,在实践工作中发现不足并去尝试解决问题,也是工作的乐趣之一。
首先,我们举个小例子,说明下做接口测试的必要性。
事故举例:线上某游戏,玩家通过抓包工具抓到数据包后,用工具向服务器重复发送该数据包,导致获得一些不该获得的收益。
此处很多小伙伴会说,我们的数据包都是加密的,玩家抓取到也没什么用。注意,这种想法是很危险的,玩家其实根本不必在意数据包里的内容是什么,只需要把这个数据包拿到然后原封不动的重复发给服务器即可,如果服务端程序不幸忘记做后端校验,那么极有可能发生刷道具的事故。加密在此处并无任何作用。
面对这种通过工具重复发包的情况,正常情况下的功能测试是无法测到的,因为功能本身并无任何问题,这种情况就成了我们日常工作中的一个盲点。要解决这一点,其实也很简单,做接口测试即可,所用工具可以项目组自己写也可以用通用型的工具,在此笔者給小伙伴们推荐一款工具:jmeter。
Jmeter对于很多网站测试人员来说并不陌生,这个工具本来是拿来做压力测试的,不过如果我们把参数调整到向后端发送有限次数的数据包,也是个很好的接口测试工具。jmeter在网络上很容易下载到,应用起来也比较简单,下面笔者结合实际例子,来简要说明下这个强大的小工具。
下载安装就不说了,非常简单,自行百度即可。实际操作步骤如下:
1,打开软件后,是1个测试计划,右键点击测试计划(添加->threads->线程组),我们可以创建1个线程组,用于测试1个或多个接口,截图如下:
创建成功后,点击查看创建的线程组,发现线程数和循环次数都是1,这简直是为接口测试专用的,哈哈。
2,创建采样器。右键单击刚才创建的线程组(添加->sampler->http请求)创建1个采样器,根据项目实际请求类型选择即可,大部分游戏都是http请求。见截图。
3,配置取样器参数。创建好取样器后,单击取样器,就可以配置各种参数了,见下图(以发邮件为例)。
4,参数写完了,点菜单栏上的绿色执行按钮,就可以执行了,查看结果还需要添加一个查看结果树,右键点击线程组(添加->监听器->查看结果树)添加一个即可,见截图。
5,查看结果。点击查看结果树,就可以看到运行后的结果了,见下图
到此,一个简单的接口测试就完成了,这个工具的强大之处还不仅如此,还可以单独对每个取样器添加各种控制器,从而做到不同取样器不同的循环次数,及不同取样器之间数据的引用(比如发送邮件后,可以创建一个收取邮件的取样器,直接用发送邮件时产生的id,当然此处需要一个正则表达式,也很简单,网上很多例子)。
有兴趣的小伙伴们可以试试了,希望对大家有用。
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。