应用程序测试方法和设备技术

技术编号:33993323 阅读:8 留言:0更新日期:2022-07-02 10:16
本申请实施例提供一种应用程序测试方法和设备,测试设备与终端建立通信连接,所述终端包括应用程序,所述应用程序包括第一信息,所述第一信息用于在所述终端上生成画面,所述方法包括:获取由所述应用程序发送的第一信息;基于所述第一信息和预设目标对象特征,获得与所述画面中目标对象对应的第二信息;基于所述第二信息,识别所述画面中目标对象所处的场景,并调取与所述场景对应的预设测试脚本,其中,所述测试脚本包括所述场景与预设操作模型之间的映射关系,所述操作模型包括对所述画面中的目标对象执行操作的操作指令;基于所述测试脚本,输出所述操作指令至所述终端,以控制所述画面中的目标对象执行操作,完成测试。完成测试。完成测试。

【技术实现步骤摘要】
应用程序测试方法和设备


[0001]本申请涉及智能终端
,特别涉及一种应用程序测试方法和设备。

技术介绍

[0002]摩尔定律指出,每隔18

24个月,集成电路的元器件数目会增加一倍,同时性能也提升一倍,消费者所使用的终端设备也遵循这个规律。随着终端设备硬件能力逐渐提升,消费者对于游戏体验要求逐渐提高。在终端设备上打游戏,性能是否足够快和稳定,耗电是否更少,触控是否响应及时并跟手,这些因子都会考验终端设备在用户心中的位置。
[0003]因而,游戏测试对于整个终端厂商的意义和价值是巨大的。如何有效地测出手机性能、功耗、网络、跟手等用户关心的KPI数据极为重要,另外,如何在有效的基础上高效地测出来数据更加重要,毕竟终端每年面临的手机数量是巨大的,而且游戏数量也多样,这样测试量就成指数级增加。
[0004]游戏自动化测试就成为解决这个问题的关键,自动化可以大幅度地提升游戏测试效率,节省测试人力。但是业界内的游戏自动化测试方法大多不适用于终端,因为目前的游戏自动化测试大多基于白盒测试,也就是在游戏的开发代码上增加逻辑,包括对于场景的判定,对于用户的典型操作执行等。而终端面临的问题是,无法拿到游戏的开发代码和逻辑,也就无法采用上述方法进行游戏自动化测试。
[0005]现有技术一的技术方案是基于游戏的每个测试单元,找到测试单元对应的状态机,再基于状态机生成测试脚本。每个测试单元对应的测试脚本控制该单元对应的状态机和各个状态之间的运行,获取运行结果并分析。举个实例,一款RPG游戏里面,需要主人公先获取宝物A,然后和人物B沟通并把宝物A交给B,获取任务C再去执行。这个过程实际上是一个状态机的转换,游戏公司可以基于上述逻辑在代码里注入控制逻辑,操作这个状态机转换的过程。同时在这个过程中,会增加日志和监测模块,以实现游戏自动化测试。
[0006]该现有技术一的技术方案从游戏公司的角度来处理游戏自动化测试问题,主要集中于做功能化的验收,它需要保证游戏的自动化测试过程遍历各个测试单元的功能状态,穷举完成功能性测试。但是,从终端厂商的维度就显得不现实了。首先,终端厂商没有游戏的开发代码,也就无法在代码里注入控制逻辑;第二,终端游戏自动化测试更加关注在终端设备上的游戏体验,尤其是性能、功耗、触控、网络等,这种代码注入的方式从一定程度来讲是对游戏的性能功耗有影响的,所以不适合;第三,终端的设备多样,版本也多,不可能每次都通过修改游戏代码的方式来操作;尤其是游戏在不断更新,更不可能基于这种方式进行游戏自动化测试。
[0007]现有技术二的技术方案是利用图像识别工具(如某游戏公司的图像识别工具)实现游戏自动化测试,图像识别工具本质上是一种基于图像识别与图像匹配的游戏测试工具。其游戏测试流程为用户将游戏中的相关内容(如“确定”选项,“开始游戏”选项,“设置”选项)截图提前保存在PC端,同时在集成开发环境(IDE)中写控制逻辑脚本,如先启动游戏,等待游戏进入,再点击“设置”选项,最后点击“确定”选项等;控制逻辑完成后,在执行游戏
自动化测试过程中,按照上述的控制逻辑去执行操作,假如需要执行点击“确定”按钮,则将在PC端提前存好的图片(如“确定”图片)与当前终端设备上的游戏的画面中的“确定”按钮去匹配,如果匹配成功,则点击“确定”选项,在执行下一步操作。
[0008]该现有技术二的技术方案存在以下几点缺陷:
[0009](a)在2D游戏上能有较好的执行结果,3D游戏因为存在视角切换,人物转向等操作,会让屏幕显示的相关事物出现形变,导致预置的图片无法与当前场景匹配成功,游戏测试无法继续执行;
[0010](b)MOBA类、多人射击类等游戏,游戏场景非常随机,无固定规律,测试者无法预判到游戏执行过程中的场景,因此无法写控制逻辑脚本。

技术实现思路

[0011]本申请提供了一种应用程序测试方法和设备,能够有效地识别2D或3D等场景,模拟真实用户操作,无需游戏的开发代码,即可完成应用程序测试,适用范围更广。
[0012]第一方面,本申请提供了一种应用程序测试方法,应用于测试设备,所述测试设备与终端建立通信连接,所述终端包括应用程序,所述应用程序包括第一信息,所述第一信息用于在所述终端上生成画面,所述方法包括:
[0013]获取由所述应用程序发送的第一信息;
[0014]基于所述第一信息和预设目标对象特征,获得与所述画面中目标对象对应的第二信息;
[0015]基于所述第二信息,识别所述画面中目标对象所处的场景,并调取与所述场景对应的预设测试脚本,其中,所述测试脚本包括所述场景与预设操作模型之间的映射关系,所述操作模型包括对所述画面中的目标对象执行操作的操作指令;
[0016]基于所述测试脚本,输出所述操作指令至所述终端,以控制所述画面中的目标对象执行操作,完成测试。
[0017]其中一种可能的实现方式中,所述第一信息包括渲染信息,所述目标对象特征包括第一渲染值,所述基于所述第一信息和预设目标对象特征,获得与所述目标对象对应的第二信息,包括:
[0018]将所述第一信息的渲染信息转化为第二渲染值;
[0019]对所述第一渲染值与所述第二渲染值进行匹配,获得匹配结果;
[0020]若所述匹配结果在预设范围内,则确定存在所述目标对象并从所述渲染信息中获得其对应目标对象信息、渲染结构信息以及世界空间信息;
[0021]基于所述目标对象信息、所述渲染结构信息以及所述世界空间信息,确定第二信息。
[0022]其中一种可能的实现方式中,所述目标对象由多个子目标对象组成,所述目标对象信息包括子目标对象信息和空间信息,所述第二信息包括目标对象属性、目标对象空间信息、多个目标对象之间的相对空间信息以及全局信息,所述目标对象特征包括所述目标对象的空间分布,所述基于所述目标对象信息、所述渲染结构信息以及所述世界空间信息,确定所述第二信息,包括:
[0023]基于所述空间分布对所述子目标对象空间信息进行空间结构分析,确定组成所述
目标对象的多个子目标对象空间信息;
[0024]将所述多个子目标对象空间信息进行整合提取,获得所述目标对象空间信息和所述相对空间信息;
[0025]基于所述多个子目标对象信息和所述渲染结构信息,确定所述目标对象属性;
[0026]基于预设变换矩阵对所述世界空间信息进行处理,获得所述全局信息。
[0027]其中一种可能的实现方式中,在所述基于所述第二信息,识别所述画面中目标对象所处的场景,并调取与所述场景对应的预设测试脚本之前,所述方法进一步包括:
[0028]获取操作信息,所述操作信息用于表征用户在所述终端上对所述画面中的目标对象进行操作生成的信息;
[0029]基于所述第二信息和所述操作信息,建立与场景对应的操作模型,其中,所述场景基于所述第二信息确定,所述操作模型的操作指令基于在同一场景下相同操作信息的数量确定;
[0030本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用程序测试方法,应用于测试设备,所述测试设备与终端建立通信连接,所述终端包括应用程序,所述应用程序包括第一信息,所述第一信息用于在所述终端上生成画面,其特征在于,所述方法包括:获取由所述应用程序发送的第一信息;基于所述第一信息和预设目标对象特征,获得与所述画面中目标对象对应的第二信息;基于所述第二信息,识别所述画面中目标对象所处的场景,并调取与所述场景对应的预设测试脚本,其中,所述测试脚本包括所述场景与预设操作模型之间的映射关系,所述操作模型包括对所述画面中的目标对象执行操作的操作指令;基于所述测试脚本,输出所述操作指令至所述终端,以控制所述画面中的目标对象执行操作,完成测试。2.根据权利要求1所述的方法,其特征在于,所述第一信息包括渲染信息,所述目标对象特征包括第一渲染值,所述基于所述第一信息和预设目标对象特征,获得与所述目标对象对应的第二信息,包括:将所述第一信息的渲染信息转化为第二渲染值;对所述第一渲染值与所述第二渲染值进行匹配,获得匹配结果;若所述匹配结果在预设范围内,则确定存在所述目标对象并从所述渲染信息中获得其对应目标对象信息、渲染结构信息以及世界空间信息;基于所述目标对象信息、所述渲染结构信息以及所述世界空间信息,确定第二信息。3.根据权利要求2所述的方法,其特征在于,所述目标对象由多个子目标对象组成,所述目标对象信息包括子目标对象信息和空间信息,所述第二信息包括目标对象属性、目标对象空间信息、多个目标对象之间的相对空间信息以及全局信息,所述目标对象特征包括所述目标对象的空间分布,所述基于所述目标对象信息、所述渲染结构信息以及所述世界空间信息,确定所述第二信息,包括:基于所述空间分布对所述子目标对象空间信息进行空间结构分析,确定组成所述目标对象的多个子目标对象空间信息;将所述多个子目标对象空间信息进行整合提取,获得所述目标对象空间信息和所述相对空间信息;基于所述多个子目标对象信息和所述渲染结构信息,确定所述目标对象属性;基于预设变换矩阵对所述世界空间信息进行处理,获得所述全局信息。4.根据权利要求1至3任一项所述的方法,其特征在于,在所述基于所述第二信息,识别所述画面中目标对象所处的场景,并调取与所述场景对应的预设测试脚本之前,所述方法进一步包括:获取操作信息,所述操作信息用于表征用户在所述终端上对所述画面中的目标对象进行操作生成的信息;基于所述第二信息和所述操作信息,建立与场景对应的操作模型,其中,所述场景基于所述第二信息确定,所述操作模型的操作指令基于在同一场景下相同操作信息的数量确定;基于所述操作模型,生成与所述场景对应的测试脚本。
5.根据权利要求4所述的方法,其特征在于,所述操作包括单指点击、单指滑动、多指点击、多指滑动、单指点击+单指滑动、单指点击+多指滑动、多指点击+单指滑动、多指点击+多指滑动、点击位置以及滑动方向中的一种或多种。6.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:转发所述第一信息至所述终端。7.一种应用程序测试设备,所述测试设备与终端建立通信连接,所述终端包括应用程序,所述应用程序包括第一信息,所述第一信息用于在所述终端上生成画面,其特征在于,所述测试设备包括:一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括...

【专利技术属性】
技术研发人员:黄然张铎赵晓光张凯胡华良魏安琪
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1