多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

怎么做游戏UI接口自动化测试?

更新时间:2021-09-07 09:32:29 作者:admin 浏览:377

  做任何UI接口自动化测试都要考虑投入产出比,我们就按投入产出比来从高到低来探讨下游戏的UI接口自动化测试如何开展。

怎么做游戏UI接口自动化测试?

  1、功能逻辑明确模块UI自动化

  游戏中一般只有战斗模块的功能逻辑各种不确定,其他辅助模块的功能逻辑都是比较明确的,比如登录、商城、背包、设置、社区等都跟普通的商业软件没有什么区别。

  针对这些模块可以很方便的实施UI接口自动化测试,而且这些辅助模块占游戏的全部UI功能的比例也很高,实现UI接口自动化测试具有很高价值。

  对于这些相对功能逻辑明确的UI模块,实施接口自动化测试成本是最低的,几乎不需要改动游戏代码,只需要在引擎一级简单修改就可以实现UI接口自动化测试。

  2、简单状态机实现兼容测试UI自动化

  目前针对游戏的兼容性测试有:简单的monkey test、事件录制回放。但是这两种方式有明显的不足:

  简单的monkey test:只是随机的点击UI,没有UI元素属性获取能力,更没有UI驱动能力,无法做逻辑判断,覆盖的UI深度是有限的。连简单的登录都登录不了,更不要说更深的UI。

  事件录制回放:通过事件录制、回放来实现简单hardcode的UI自动化,也不具备UI元素属性获取能力,只要UI发生简单变化就会导致自动化失败。

  针对这两种方式的不足,利用基于引擎的UI驱动能力,可以开启一个子线程实时检测当前UI状态,根据不同的UI状态在主线程中执行适用于当前状态的功能脚本即可实现相对稳定的UI兼容性测试。

  举个简单的例子:以UI状态来划分一般游戏中会有登录、公告、主界面、对局、结算等UI状态。

  如果子线程检测到当前UI是登录,则主线程执行登录相关脚本;

  如果子线程检测到当前UI是公告,则主线程执行公告相关脚本;

  如果子线程检测到当前UI是主界面,则执行启动对局相关脚本;

  如果子线程检测到当前UI是对局,则执行对局相关脚本(或monkey test或回放录制的脚本);

  如果子线程检测到当前UI是结算,则执行结算相关脚本。

  利用基于引擎的UI驱动能力,可以获取、操作UI元素,再结合一定的的逻辑判断就可以覆盖更多/更深的UI,非常适合兼容性测试。

  通过简单状态级实现兼容测试UI自动化也几乎不需要改动游戏代码,只在引擎一级简单修改就可以实现。

怎么做游戏UI接口自动化测试?

  3、结合接口实现实时性要求比较低的游戏的UI自动化

  对于一些卡牌类游戏或者实时性要求不高的游戏,由于UI比较简单,战斗交互不复杂,实时性要求并不高。结合开发人员或者测试人员实现的一些接口,再加上基于引擎的UI驱动能力就可以实现功能测试的UI自动化。

  如果有了关卡数据获取接口,通过该接口在进入战斗前获取到关卡数据,再结合战斗过程中的UI表现,通过一定的逻辑判断就可以实现战斗过程的UI自动化。

  如果有了结算数据获取接口,通过该接口在战斗结束后获取该局的结算数据,再获取结算UI显示数据即可以验证结算结果UI显示是否正确。

  这种方式只需要游戏提供接口,可能会需要改动游戏代码,如果通过协议截获的方式对游戏程序影响最小,那么对UI的驱动基本不需要改动游戏代码,只在引擎一级简单修改即可实现。

  4、结合AI实现实时性要求很高的游戏的UI自动化

  对于一些复杂的,对实时性要求很高的动作类游戏,比如格斗、射击类游戏,则建议结合AI来实现UI接口自动化测试。AI实现对实时性要求很高的战斗过程的自动化,并对外提供接口用以获取战斗数据。

  利用基于引擎的UI驱动能力实现其他模块的自动化,结合AI实现战斗模块的自动化,从而实现整个游戏的UI接口自动化测试。

  可能会有人认为:既然有了AI,就可以完全用AI实现接口自动化测试。

  但是UI接口自动化测试不仅仅需要UI驱动能力,还需要接口自动化测试框架提供调度、执行、统计、展示等功能,这些功能显然不适合让AI来实现。AI最适合实现战斗的驱动及对外提供游戏数据获取接口。AI一般集成在游戏内部,显然不适合用来完成整个游戏的接口自动化测试功能。

  结合AI实现的UI自动化成本是最高的,需要开发AI代码,好在一般具有一定规模的游戏开发团队也都会自己开发AI来做一些开发自测或者作为内挂提供游戏托管功能,所以只需要在这些已有的AI上扩展一些功能即可,成本也是可控的。

  以上是关于怎么做游戏UI接口自动化测试的解答,由多测师亲自撰写,全网独家提供!  http://www.aichudan.com/

联系电话

17727591462

返回顶部