CN109408384A - 软件应用的测试方法、装置、处理器及电子装置 - Google Patents

软件应用的测试方法、装置、处理器及电子装置 Download PDF

Info

Publication number
CN109408384A
CN109408384A CN201811203791.2A CN201811203791A CN109408384A CN 109408384 A CN109408384 A CN 109408384A CN 201811203791 A CN201811203791 A CN 201811203791A CN 109408384 A CN109408384 A CN 109408384A
Authority
CN
China
Prior art keywords
screenshot
scene
control operation
touch control
test
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811203791.2A
Other languages
English (en)
Other versions
CN109408384B (zh
Inventor
汪承佳
黄炜恒
杨叙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN201811203791.2A priority Critical patent/CN109408384B/zh
Publication of CN109408384A publication Critical patent/CN109408384A/zh
Application granted granted Critical
Publication of CN109408384B publication Critical patent/CN109408384B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Image Analysis (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种软件应用的测试方法、装置、处理器及电子装置。该方法包括:获取第一场景截图,第一场景截图是通过响应于图形用户界面接收到的当前触控操作,对游戏场景进行截图处理而得到当前触控操作对应的截图;将第一场景截图与上一次触控操作对应的第二场景截图进行相似度比较,得到比较结果,其中,比较结果用于确定上一次触控操作的有效性;对第一场景截图进行识别,得到识别结果,其中,识别结果用于表示第一场景截图内包含的游戏元素信息;根据识别结果和比较结果,确定待执行的触控操作,以持续执行对软件应用的测试。本发明解决了相关技术中所提供的软件应用测试方式操作复杂度较高、容错性较差、效率较低的技术问题。

Description

软件应用的测试方法、装置、处理器及电子装置
技术领域
本发明涉及计算机领域,具体而言,涉及一种软件应用的测试方法、装置、处理器及电子装置。
背景技术
目前的适用于移动终端的游戏应用日益繁多,用户数量逐渐庞大,各大厂商都在竭尽全力开发各式各样的手机游戏应用,同时由于竞争压力的不断加大,对手游测试的效率和准确度提出了更高的要求。
自动化手游测试的目的在于:在终端或服务端控制下,测试程序能够根据预设算法对目标游戏执行一系列操作(其包括但不限于:点击、滑动、输入、输出),然后再对测试程序得到的测试结果进行一系列的量化评估,从而查找到游戏内的缺陷(bug)。然而,自动化测试的疑难之处便在于:如果提升测试程序的适应性以及通过测试程序检测到bug的能力和效率。
在现有的手游自动测试工具中,通常存在以下两种自动测试方式:比较原始的Monkey测试和脚本加图像查找的自动测试方法。
(1)Monkey测试拥有较为悠久的历史。Monkey测试的核心思想在于:模仿类似于猴子的运动轨迹对设备进行随机操作。Monkey测试可以设置随机操作的类型、时长、间隔以及总体操作数量。Monkey测试主要针对游戏的健壮性和交互性,测试在长时间的交互下游戏是否还能够高效地进行响应。
对于原始的monkey测试方法而言,其明显缺陷在于:只能放任测试工具在屏幕上进行随机地点击操作。然而,考虑到目前的游戏画面趋向于更加简洁,能够有效点击的部分占比并不高,由此会导致每一次点击所能够接触到的有价值目标的概率相对较低,而多次点击后失败的概率还会进行累加,进而还会造成这种测试方法效率很低。因此,经常出现的结果便是长时间循环控制角色在一个场景中移动。其次,这种测试的评估性很差,长时间的测试包含大量的无用操作,最后产生的是大量无用且冗余的操作记录,并不能产生一个较为客观的测试结果,同样也无法显示不同游戏、不同版本之间的差异。
(2)脚本加图像查找的自动测试方法已经非常成熟,其核心思想在于:使用图像查找来辅助精确的脚本测试。对于一个测试脚本而言,与当前设备的交互是最为重要的。如果测试脚本运行的进度与设备的反应速度出现偏差便会导致测试脚本的操作全部转化为无效操作。为此,通过添加一个图像查找功能,对每个阶段测试脚本的运行与设备的反应进行一次对齐操作,由此便可极大地提高脚本运行成功的效率。
针对于图像查找加脚本的测试方法,其使用图像检测当前游戏界面是否包含自身已经准备完毕的截图来判断当前的游戏界面,然后再进行脚本化操作。这种方法虽然能够弥补monkey测试的缺陷,但是却又引入了新的缺陷:那便是脚本编写过程十分繁琐且容易出错。往往一个较小的功能测试便需要编写大量的脚本,而且由于需要进行图像的检测,那么在测试前便需要进行大量的图像截取和整理操作,这也意味着明显加大测试工作的工作量。同时,其最大的缺陷还在于:针对不同的游戏需要编写完全不同的测试脚本,甚至于一个游戏的版本更新也需要对测试脚本进行修改。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明至少部分实施例提供了一种软件应用的测试方法、装置、处理器及电子装置,以至少解决相关技术中所提供的软件应用测试方式操作复杂度较高、容错性较差、效率较低的技术问题。
根据本发明其中一实施例,提供了一种软件应用的测试方法,该方法包括:
获取第一场景截图,第一场景截图是通过响应于图形用户界面接收到的当前触控操作,对游戏场景进行截图处理而得到当前触控操作对应的截图;将第一场景截图与上一次触控操作对应的第二场景截图进行相似度比较,得到比较结果,其中,比较结果用于确定上一次触控操作的有效性;对第一场景截图进行识别,得到识别结果,其中,识别结果用于表示第一场景截图内包含的游戏元素信息,游戏元素信息至少包括:每个游戏元素的类型和位置;根据识别结果和比较结果,确定待执行的触控操作,以持续执行对软件应用的测试。
可选地,在对游戏场景进行截图处理之前,还包括:根据操作系统类型,调用对应的调试工具安装并运行软件应用。
可选地,将第一场景截图与第二场景截图进行相似度比较,得到比较结果包括:采用图片结构相似性算法针对第一场景截图与第二场景截图在视觉上的相似度进行评估,得到第一评估结果;采用图像峰值信噪比算法对第一场景截图与第二场景截图之间的图像相对距离进行评估,得到第二评估结果;采用基于人视觉优化的图像峰值信噪比算法对第一场景截图与第二场景截图进行分块的余弦变换,得到第三评估结果;采用视觉信号保真度评估算法对第一场景截图与第二场景截图在视觉观察下的差异进行评估,得到第四评估结果;通过对第一评估结果、第二评估结果、第三评估结果以及第四评估结果进行加权平方平均计算,获取比较结果。
可选地,对第一场景截图进行识别,得到识别结果包括:调用预设神经网络模型对第一场景截图进行识别,得到第一场景截图内包含的每个游戏元素的类型、位置和置信度,其中,预设神经网络模型中各个神经元对应的网络权重通过预先训练得到。
可选地,在调用预设神经网络模型对第一场景截图进行识别之前,还包括:获取初始视觉物体数据集;按照预设比例将初始视觉物体数据集划分为训练数据和测试数据;采用训练数据对初始神经网络模型进行训练,以及采用测试数据对初始神经网络模型进行测试,得到预设神经网络模型。
可选地,获取初始视觉物体数据集包括:对预设数量图片中每张图片所包含的游戏元素进行标记,得到每张图片中包含的每个游戏元素的对角线坐标,其中,预设数量图片与软件应用相关联;将对角线坐标转化为相对坐标,并将相对坐标的数据格式调整为视觉物体数据集格式,得到初始视觉物体数据集。
可选地,在根据识别结果和比较结果,确定待执行的触控操作之后,还包括:采用预设神经网络模型对新游戏应用进行检测,得到初始数据集;对初始数据集进行修正,并根据修正后的数据集生成待使用的视觉物体数据集;采用待使用的视觉物体数据集对预设神经网络模型进行训练,得到更新后的预设神经网络模型。
可选地,根据识别结果和比较结果,确定待执行的触控操作包括:为第一场景截图中的每个游戏元素分别赋予初始权重;根据历史操作记录查找与每个游戏元素之间的距离在预设范围内多个触控位置,并根据多个触控位置的数量对初始权重进行更新,其中,历史操作记录用于记录在当前触控操作之前执行过的触控操作所对应的触控位置;根据每个游戏元素对应的更新后权重以及预设随机触控操作对应的权重计算权重取值范围;从权重取值范围随机选取权重值,并将权重值对应的游戏元素设置为待执行的触控操作的操作对象。
可选地,在根据识别结果和比较结果,确定待执行的触控操作之后,还包括:将第一场景截图,识别结果和比较结果存储至预设存储区域;对预设存储区域内存储的信息进行整理和标记,生成测试报告。
根据本发明其中一实施例,还提供了一种软件应用的测试装置,该装置包括:
数据集生成和标记模块,用于获取第一场景截图,第一场景截图是通过响应于图形用户界面接收到的当前触控操作,对游戏场景进行截图处理而得到当前触控操作对应的截图;图像相似度评估模块,用于将第一场景截图与上一次触控操作对应的第二场景截图进行相似度比较,得到比较结果,其中,比较结果用于确定上一次触控操作的有效性;游戏物体识别模块,用于对第一场景截图进行识别,得到识别结果,其中,识别结果用于表示第一场景截图内包含的游戏元素信息,游戏元素信息至少包括:每个游戏元素的类型和位置;操作数据分析和生成模块,用于根据识别结果和比较结果,确定待执行的触控操作,以持续执行对软件应用的测试。
可选地,该装置还包括:终端设备连接模块,用于根据操作系统类型,调用对应的调试工具安装并运行软件应用。
可选地,图像相似度评估模块包括:第一评估单元,用于采用图片结构相似性算法针对第一场景截图与第二场景截图在视觉上的相似度进行评估,得到第一评估结果;第二评估单元,用于采用图像峰值信噪比算法对第一场景截图与第二场景截图之间的图像相对距离进行评估,得到第二评估结果;第三评估单元,用于采用基于人视觉优化的图像峰值信噪比算法对第一场景截图与第二场景截图进行分块的余弦变换,得到第三评估结果;第四评估单元,用于采用视觉信号保真度评估算法对第一场景截图与第二场景截图在视觉观察下的差异进行评估,得到第四评估结果;获取单元,用于通过对第一评估结果、第二评估结果、第三评估结果以及第四评估结果进行加权平方平均计算,获取比较结果。
可选地,游戏物体识别模块,用于调用预设神经网络模型对第一场景截图进行识别,得到第一场景截图内包含的每个游戏元素的类型、位置和置信度,其中,预设神经网络模型中各个神经元对应的网络权重通过预先训练得到。
可选地,数据集生成和标记模块,还用于获取初始视觉物体数据集以及按照预设比例将初始视觉物体数据集划分为训练数据和测试数据;上述装置还包括:模型训练模块,用于采用训练数据对初始神经网络模型进行训练,以及采用测试数据对初始神经网络模型进行测试,得到预设神经网络模型。
可选地,数据集生成和标记模块包括:标记单元,用于对预设数量图片中每张图片所包含的游戏元素进行标记,得到每张图片中包含的每个游戏元素的对角线坐标,其中,预设数量图片与软件应用相关联;转化单元,用于将对角线坐标转化为相对坐标,并将相对坐标的数据格式调整为视觉物体数据集格式,得到初始视觉物体数据集。
可选地,上述装置还包括:数据集检查模块和模型继续训练模块,用于采用预设神经网络模型对新游戏应用进行检测以得到初始数据集,对初始数据集进行修正并根据修正后的数据集生成待使用的视觉物体数据集,以及采用待使用的视觉物体数据集对预设神经网络模型进行训练,得到更新后的预设神经网络模型。
可选地,操作数据分析和生成模块包括:赋值单元,用于为第一场景截图中的每个游戏元素分别赋予初始权重;更新单元,用于根据历史操作记录查找与每个游戏元素之间的距离在预设范围内多个触控位置,并根据多个触控位置的数量对初始权重进行更新,其中,历史操作记录用于记录在当前触控操作之前执行过的触控操作所对应的触控位置;分析单元,用于根据每个游戏元素对应的更新后权重以及预设随机触控操作对应的权重计算权重取值范围;生成单元,用于从权重取值范围随机选取权重值,并将权重值对应的游戏元素设置为待执行的触控操作的操作对象。
可选地,上述装置还包括:测试数据保存和测试报告生成模块,用于将第一场景截图,识别结果和比较结果存储至预设存储区域,以及对预设存储区域内存储的信息进行整理和标记,生成测试报告。
根据本发明其中一实施例,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述软件应用的测试方法。
根据本发明其中一实施例,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述软件应用的测试方法。
根据本发明其中一实施例,还提供了一种电子装置,包括:一个或多个处理器,存储器,显示装置以及一个或多个程序,其中,一个或多个程序被存储在存储器中,并且被配置为由一个或多个处理器执行,一个或多个程序用于执行上述软件应用的测试方法。
在本发明至少部分实施例中,采用获取第一场景截图,该第一场景截图是通过响应于图形用户界面接收到的当前触控操作,对游戏场景进行截图处理而得到当前触控操作对应的截图的方式,通过将第一场景截图与上一次触控操作对应的第二场景截图进行相似度比较以确定上一次触控操作的有效性,以及对第一场景截图进行识别以得到识别结果,进而根据识别结果和比较结果确定待执行的触控操作,以持续执行对软件应用的测试,达到了兼顾图像查找加脚本测试的准确性与Monkey测试的适配性的目的,从而实现了降低测试过程的操作复杂度、提升测试效率、减小测试出错概率的技术效果,进而解决了相关技术中所提供的软件应用测试方式操作复杂度较高、容错性较差、效率较低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明其中一实施例的软件应用的测试方法的流程图;
图2是根据本发明其中一可选实施例的图片相似度评估过程的示意图;
图3是根据本发明其中一可选实施例的针对不同的游戏应用可以进行不同程度的继续训练的示意图;
图4是根据本发明其中一可选实施例的对下一次操作进行动态规划的示意图;
图5是根据本发明其中一实施例的软件应用的测试装置的结构框图;
图6是根据本发明其中一可选实施例的软件应用的测试装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明其中一实施例,提供了一种软件应用的测试方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
该方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,计算机终端可以包括一个或多个处理器(处理器可以包括但不限于微处理器(MCU)或可编程逻辑器件(FPGA)等的处理装置)和用于存储数据的存储器。可选地,上述计算机终端还可以包括用于通信功能的传输装置以及输入输出设备。本领域普通技术人员可以理解,上述结构描述仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比上述结构描述更多或者更少的组件,或者具有与上述结构描述不同的配置。
存储器可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的软件应用的测试方法对应的计算机程序,处理器通过运行存储在存储器内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的软件应用的测试方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
为了实现软件应用测试目的,可以在上述计算机终端上配置测试工具。该测试工具可以包括但不限于如下功能模块:数据集生成和标记模块,模型训练模块,游戏物体识别模块,智能测试模块,图像相似度评估模块,操作数据分析和生成模块,终端设备连接模块,测试数据保存和测试报告生成模块,数据集检查模块和模型继续训练模块。通过使用上述测试工具主要能够实现以下三大功能:
功能一、模型训练,其主要包括以下处理步骤:
第一步、使用安卓设备调试工具(adb),uiautomator2连接手机,并使用该测试工具对手机进行截图。
第二步、使用数据集生成和标记模块生成视觉物体数据集(VOC)。
第三步、对物体识别神经网络框架(yolo)v3神经网络模型进行训练。
功能二、智能测试,其主要包括以下处理步骤:
第一步、使用adb,uiautomator2连接手机,并远程推送需要测试的游戏,并在手机上安装并运行该游戏。
第二步、对当前运行的游戏界面进行截图,获取截图图片信息。
第三步、调用训练完毕的yolov3神经网络模型对图片信息进行检测,获取游戏元素的类型和位置。
第四步、调用数据分析和生成模块内的预设算法比较当前得到的检测结果和上一次得到的检测结果的相似度,以生成下一步操作。
第五步、对操作后的界面进行截图,并调用相似度评估算法对前后两张截图进行相似度比较。
第六步、重复调用训练完毕的yolov3神经网络模型对图片信息进行检测,获取游戏元素的类型和位置。
第七步、在测试过程中对所有截图和检测结果进行存储,并能够在后期生成详细的报告。
功能三、模型继续训练,其主要包括以下处理步骤:
第一步、使用adb,uiautomator2连接手机,并远程推送需要测试的游戏,并在手机上安装并运行该游戏。
第二步、对当前运行的游戏界面进行截图,获取截图图片信息。
第三步、调用训练完毕的yolov3神经网络模型对图片信息进行检测,获取游戏元素的类型和位置。系统自动将检测结果存储为初始数据集格式;
第四步、对初始数据集进行检查,对数据进行修正。即,使用数据集生成和标记模块中的图形化工具对图像标注进行修正,例如:初始数据集将非控件标注为控件,则需要对其进行修正。如果当前采用的神经网络模型对于需要测试的游戏的识别准确率较低(即测试的游戏画面类型与初始训练的游戏风格相差较大时),则需要执行修正操作。
第五步、使用VOC数据集生成器自动生成VOC数据集;
第六步、在原有模型数据上进行继续训练,生成新的模型数据;
第七步、采用新的模型数据替换原有模型数据。即,神经网络模型内的权重数据发生变化。
在本实施例中提供了一种运行于上述计算机终端的软件应用的测试方法。图1是根据本发明其中一实施例的软件应用的测试方法的流程图,如图1所示,该方法包括如下步骤:
步骤S12,获取第一场景截图,第一场景截图是通过响应于图形用户界面接收到的当前触控操作,对游戏场景进行截图处理而得到当前触控操作对应的截图;
步骤S13,将第一场景截图与上一次触控操作对应的第二场景截图进行相似度比较,得到比较结果,其中,比较结果用于确定上一次触控操作的有效性;
步骤S17,对第一场景截图进行识别,得到识别结果,其中,识别结果用于表示第一场景截图内包含的游戏元素信息,游戏元素信息至少包括:每个游戏元素的类型和位置;
步骤S18,根据识别结果和比较结果,确定待执行的触控操作,以持续执行对软件应用的测试。
通过上述步骤,可以采用获取第一场景截图,该第一场景截图是通过响应于图形用户界面接收到的当前触控操作,对游戏场景进行截图处理而得到当前触控操作对应的截图的方式,通过将第一场景截图与上一次触控操作对应的第二场景截图进行相似度比较以确定上一次触控操作的有效性,以及对第一场景截图进行识别以得到识别结果,进而根据识别结果和比较结果确定待执行的触控操作,以持续执行对软件应用的测试,达到了将Monkey测试与脚本加图像查找的自动测试有效结合的目的,从而实现了降低测试过程的操作复杂度、提升测试效率、减小测试出错概率的技术效果,进而解决了相关技术中所提供的软件应用测试方式操作复杂度较高、容错性较差、效率较低的技术问题。
在一个可选实施方式中,智能测试模块作为智能自动测试过程的载体,承担着整个测试过程的运行。智能测试模块可以调用终端设备连接模块连接至移动终端,然后循环地执行以下步骤:
首先,调用终端设备连接模块进行截图;
其次,将本次截图与上一次截图(如果存在)一并送入图片相似度检测模块;如果上一次截图不存在则可以视为上一次触控操作无效;
再次,评估图片相似度并判断上一次操作是否成功;
然后,将本次截图送入游戏物体识别模块进行物体识别;
最后,将物体识别结果信息和上一次操作的反馈送入点击数据分析和生成模块,生成下一次操作并对移动终端进行操作,通常包括:点击和滑动两种操作,这两种操作可以随机选择,滑动操作是在360°范围内随便选取特定方向滑动一段固定距离。
可选地,在步骤S12,对游戏场景进行截图处理之前,还可以包括以下执行步骤:
步骤S11,根据操作系统类型,调用对应的调试工具安装并运行软件应用。
针对不同移动终端的连接问题,终端设备连接模块负责调用已经存在的调试工具对终端进行连接和操作,从而实现对不同移动终端的控制和操作,同时能够随时获取到终端屏幕的截图。对于安卓手机调用uiautomator2,对于iOS调用ATX。同时该模块提供图形化界面,图形化界面是基于tornado架构产生的。前端使用Ajax与后台进行交互,此界面也是自动化测试模块的界面,同时还提供脚本接口以便其它模块进行调用。
可选地,在步骤S13中,在将第一场景截图与第二场景截图进行相似度比较,得到比较结果可以包括以下执行步骤:
步骤S131,采用图片结构相似性算法针对第一场景截图与第二场景截图在视觉上的相似度进行评估,得到第一评估结果;
步骤S132,采用图像峰值信噪比算法对第一场景截图与第二场景截图之间的图像相对距离进行评估,得到第二评估结果;
步骤S133,采用基于人视觉优化的图像峰值信噪比算法对第一场景截图与第二场景截图进行分块的余弦变换,得到第三评估结果;
步骤S134,采用视觉信号保真度评估算法对第一场景截图与第二场景截图在视觉观察下的差异进行评估,得到第四评估结果;
步骤S135,通过对第一评估结果、第二评估结果、第三评估结果以及第四评估结果进行加权平方平均计算,获取比较结果。
针对一次点击前后图像相似度评估的算法,图片相似度评估模块包括四种检测维度。图2是根据本发明其中一可选实施例的图片相似度评估过程的示意图,如图2所示,首先,采用图片结构相似性(SSIM)算法,主要针对视觉上的相似度进行检测;其次,采用图像峰值信噪比(PSNR)算法,主要针对图像学上的图像相对距离进行评估(即对两张截图对应像素点的权重差的绝对值平均数),然后,采用基于人视觉优化的图像峰值信噪比(PSNRHVS)算法,在计算图像距离前对图像进行分块的余弦变换,由此更加关注于图像边缘信息的差异,在相似度检测上更加客观;最后,采用视觉信号保真度评估(VIFP)算法,对人眼观察下的两张截图差异进行评估,生成四个维度上的评估结果分数。最终,通过对这四个维度上的计算结果进行加权平方平均计算,获取最终结果,进而根据该最终结果判断图像是否发生巨大变化,从而根据每次操作后的截图与操作前截图进行对比评估操作的有效性。即,对前后两次截图进行相似度比较,若不相似,则确定上一次操作为有效操作,反之,则确定为无效操作。
在一个Monkey测试中调用图片相似度可以有效地对Monkey测试中每次点击的效果进行判断,由此可以很好地解决原始Monkey测试中无法实时收集测试过程信息的缺陷。通过引入该模块可以为后续算法引入参考数据,与物体识别模块组成测试工具的丰富数据支撑。
可选地,在步骤S17中,对第一场景截图进行识别,得到识别结果可以包括以下执行步骤:
步骤S171,调用预设神经网络模型对第一场景截图进行识别,得到第一场景截图内包含的每个游戏元素的类型、位置和置信度,其中,预设神经网络模型中各个神经元对应的网络权重通过预先训练得到。
针对图像中的物体识别特征标记和模型训练问题,模型训练模块负责使用darknetC程序库对自定义的yolov3神经网络模型进行训练,训练可以支持Linux和Windows两种训练模式。
游戏物体识别模块,负责使用darknet C语言动态链接库载入自定义的yolov3神经网络模型和通过训练得到的网络权重,对输入截图进行识别,生成检测到的游戏元素的类型、位置和置信度,从而能够根据屏幕截图识别出当前界面内的游戏元素(例如:控件、角色、对话框),以及识别出游戏元素所在位置。该模块是本测试工具的技术核心,通过使用一个多达53层的深度神经网络,充分地将游戏测试与图像检测机器学习技术进行融合,在确保检测精度的同时,大幅提升检测速度,以满足大量持续的检测任务。
可选地,在步骤S171,调用预设神经网络模型对第一场景截图进行识别之前,还可以包括以下执行步骤:
步骤S14,获取初始视觉物体数据集;
步骤S15,按照预设比例将初始视觉物体数据集划分为训练数据和测试数据;
步骤S16,采用训练数据对初始神经网络模型进行训练,以及采用测试数据对初始神经网络模型进行测试,得到预设神经网络模型。
数据集生成和标记模块在获取到初始视觉物体数据集之后,将所有数据根据输入比例分为训练数据和测试数据。例如:当前存在一百张游戏界面截图,训练数据占据90%(其为预先设定的比例,可以根据实际情况进行灵活地调整)的截图,而其余截图则作为测试数据。然后,在模型训练过程中先使用训练数据进行训练,再使用测试数据进行测试。
可选地,在步骤S14中,获取初始视觉物体数据集可以包括以下执行步骤:
步骤S141,对预设数量图片中每张图片所包含的游戏元素进行标记,得到每张图片中包含的每个游戏元素的对角线坐标,其中,预设数量图片与软件应用相关联;
步骤S142,将对角线坐标转化为相对坐标,并将相对坐标的数据格式调整为视觉物体数据集格式,得到初始视觉物体数据集。
数据集生成和标记模块可以包括数据标记工具和VOC数据集生成脚本,其中,数据标记工具使用图形化界面,可以对一个图片中的特征进行标记,并对每一个图片生成一个同名的txt文件,包含对应图片内所有游戏元素的对角线坐标(即每个游戏元素的显示位置)。由于每次识别出的坐标都是图片上的绝对坐标,因此,此处生成的即为绝对坐标,其作用在于:将所有游戏元素的对角线坐标数据设置为神经网络模型训练过程的输入数据。
VOC数据集生成脚本负责将已经生成的txt文件中的绝对坐标转化为相对坐标,以避免在模型训练过程中产生误差,同时调整格式为VOC格式,得到初始视觉物体数据集。
可选地,在步骤S18,根据识别结果和比较结果,确定待执行的触控操作之后,还可以包括以下执行步骤:
步骤S19,采用预设神经网络模型对新游戏应用进行检测,得到初始数据集;
步骤S20,对初始数据集进行修正,并根据修正后的数据集生成待使用的视觉物体数据集;
步骤S21,采用待使用的视觉物体数据集对预设神经网络模型进行训练,得到更新后的预设神经网络模型。
数据集检查模块和模型继续训练模块负责在从当前游戏应用迁移到其他游戏应用导致识别效果变差时,对自动测试提供重新生成数据集的功能。图3是根据本发明其中一可选实施例的针对不同的游戏应用可以进行不同程度的继续训练的示意图,如图3所示,首先,调用原有神经网络模型对新的游戏应用进行检测,自动生成初始数据集。其次,调用数据集检查模块对初始数据集进行检查(针对每个游戏应用仅需要检查一次),并在检查结束后自动生成VOC数据集,然后调用模型继续训练模块对原有神经网络模型进行继续训练,以获取适用于新游戏应用的神经网络模型。
该模块能够有效地解决机器学习与模型的依赖,针对不同的游戏应用可以进行不同程度的继续训练,促使模型不断优化,进而增强了测试工具的适应性和鲁棒性,弥补了测试工具的使用对象限制短板。
可选地,在步骤S18中,根据识别结果和比较结果,确定待执行的触控操作可以包括以下执行步骤:
步骤S181,为第一场景截图中的每个游戏元素分别赋予初始权重;
步骤S182,根据历史操作记录查找与每个游戏元素之间的距离在预设范围内多个触控位置,并根据多个触控位置的数量对初始权重进行更新,其中,历史操作记录用于记录在当前触控操作之前执行过的触控操作所对应的触控位置;
步骤S183,根据每个游戏元素对应的更新后权重以及预设随机触控操作对应的权重计算权重取值范围;
步骤S184,从权重取值范围随机选取权重值,并将权重值对应的游戏元素设置为待执行的触控操作的操作对象。
针对根据物体识别结果对测试流程进行控制的问题,操作数据分析和生成模块负责根据每次输入的信息(即每次物体识别结果与上一次操作后的有效性信息)对下一次操作进行动态规划,以确保测试的全面性和健壮性。在确保能够偏向于操作检测到的游戏元素的情况下,同时存在一定概率操作到界面的任意位置,并且根据操作的往复执行,多次操作到的相同游戏元素的概率需要适当地下调,从而能够根据游戏元素的信息和上一次操作后的有效性信息动态规划下一步操作。
具体地,图4是根据本发明其中一可选实施例的对下一次操作进行动态规划的示意图,如图4所示,首先,操作历史记录表示每次操作的点击位置都会被记录下来,并且每当累加到一定操作次数之后,会将较为靠近的点加以合并。其次,根据历史记录对截图进行调节,表示每次识别到的游戏元素首先会赋予权重1。然后,在历史记录中查找是否存在靠近的点,如果存在,则将权重更新为e^(-x),x为查到的点击操作次数,其目的在于:为了确保同一位置再次被操作的概率下降。随机点击表示存在一定的权重分配给随机点击这种可能。最后,根据权重掷色表示对所有权重求和,所有权重按序排队,然后生成一个从0到权重和的随机数,最终选取随机数落入的游戏元素。
该模块是整个测试算法的核心,其搭建了一个Monkey测试与脚本测试之间的桥梁,首先满足了Monkey测试中随机点击的特点,每一次生成的操作都是在一定范围内随机生成,由此保证操作的随机性;同时又在随机点击中控制操作生成的概率,以使得每一次操作的有效性。该模块充分地结合了现有两大解决方案,实现了智能的Monkey测试。
可选地,在步骤S18,根据识别结果和比较结果,确定待执行的触控操作之后,还可以包括以下执行步骤:
步骤S22,将第一场景截图,识别结果和比较结果存储至预设存储区域;
步骤S23,对预设存储区域内存储的信息进行整理和标记,生成测试报告。
对于测试数据保存和测试报告生成模块而言,在测试进行过程中,智能测试模块每一次循环都会将图片信息,识别结果信息以及图片评估结果传递至测试数据保存和测试报告生成模块。该测试数据保存和测试报告生成模块对图片进行保存,并对所有数据进行整理后持久化的存储在磁盘上。当需要查看测试报告时,对此前保存的数据进行整理,对图片进行标记,并生成标准的超文本标记语言(HTML)报告。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种软件应用的测试装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本发明其中一实施例的软件应用的测试装置的结构框图,如图5所示,该装置包括:数据集生成和标记模块100,用于获取第一场景截图,第一场景截图是通过响应于图形用户界面接收到的当前触控操作,对游戏场景进行截图处理而得到当前触控操作对应的截图;图像相似度评估模块101,用于将第一场景截图与上一次触控操作对应的第二场景截图进行相似度比较,得到比较结果,其中,比较结果用于确定上一次触控操作的有效性;游戏物体识别模块102,用于对第一场景截图进行识别,得到识别结果,其中,识别结果用于表示第一场景截图内包含的游戏元素信息,游戏元素信息至少包括:每个游戏元素的类型和位置;操作数据分析和生成模块103,用于根据识别结果和比较结果,确定待执行的触控操作,以持续执行对软件应用的测试。
可选地,图6是根据本发明其中一可选实施例的软件应用的测试装置的结构框图,如图6所示,该装置除包括图5所示的所有模块外,还包括:终端设备连接模块104,用于根据操作系统类型,调用对应的调试工具安装并运行软件应用。
可选地,图像相似度评估模块101包括:第一评估单元(图中未示出),用于采用图片结构相似性算法针对第一场景截图与第二场景截图在视觉上的相似度进行评估,得到第一评估结果;第二评估单元(图中未示出),用于采用图像峰值信噪比算法对第一场景截图与第二场景截图之间的图像相对距离进行评估,得到第二评估结果;第三评估单元(图中未示出),用于采用基于人视觉优化的图像峰值信噪比算法对第一场景截图与第二场景截图进行分块的余弦变换,得到第三评估结果;第四评估单元(图中未示出),用于采用视觉信号保真度评估算法对第一场景截图与第二场景截图在视觉观察下的差异进行评估,得到第四评估结果;获取单元(图中未示出),用于通过对第一评估结果、第二评估结果、第三评估结果以及第四评估结果进行加权平方平均计算,获取比较结果。
可选地,游戏物体识别模块102,用于调用预设神经网络模型对第一场景截图进行识别,得到第一场景截图内包含的每个游戏元素的类型、位置和置信度,其中,预设神经网络模型中各个神经元对应的网络权重通过预先训练得到。
可选地,数据集生成和标记模块100,还用于获取初始视觉物体数据集以及按照预设比例将初始视觉物体数据集划分为训练数据和测试数据;如图6所示,上述装置还包括:模型训练模块105,用于采用训练数据对初始神经网络模型进行训练,以及采用测试数据对初始神经网络模型进行测试,得到预设神经网络模型。
可选地,数据集生成和标记模块100包括:标记单元(图中未示出),用于对预设数量图片中每张图片所包含的游戏元素进行标记,得到每张图片中包含的每个游戏元素的对角线坐标,其中,预设数量图片与软件应用相关联;转化单元(图中未示出),用于将对角线坐标转化为相对坐标,并将相对坐标的数据格式调整为视觉物体数据集格式,得到初始视觉物体数据集。
可选地,如图6所示,上述装置还包括:数据集检查模块和模型继续训练模块106,用于采用预设神经网络模型对新游戏应用进行检测以得到初始数据集,对初始数据集进行修正并根据修正后的数据集生成待使用的视觉物体数据集,以及采用待使用的视觉物体数据集对预设神经网络模型进行训练,得到更新后的预设神经网络模型。
可选地,操作数据分析和生成模块103包括:赋值单元(图中未示出),用于为第一场景截图中的每个游戏元素分别赋予初始权重;更新单元(图中未示出),用于根据历史操作记录查找与每个游戏元素之间的距离在预设范围内多个触控位置,并根据多个触控位置的数量对初始权重进行更新,其中,历史操作记录用于记录在当前触控操作之前执行过的触控操作所对应的触控位置;分析单元(图中未示出),用于根据每个游戏元素对应的更新后权重以及预设随机触控操作对应的权重计算权重取值范围;生成单元(图中未示出),用于从权重取值范围随机选取权重值,并将权重值对应的游戏元素设置为待执行的触控操作的操作对象。
可选地,如图6所示,上述装置还包括:测试数据保存和测试报告生成模块107,用于将第一场景截图,识别结果和比较结果存储至预设存储区域,以及对预设存储区域内存储的信息进行整理和标记,生成测试报告。
可选地,如图6所示,上述装置还包括:智能测试模块108,负责控制测试数据保存和测试报告生成模块107将第一场景截图,识别结果和比较结果存储至预设存储区域,以及调用图像相似度评估模块101,游戏物体识别模块102,操作数据分析和生成模块103,以及终端设备连接模块104执行相关操作。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取第一场景截图,第一场景截图是通过响应于图形用户界面接收到的当前触控操作,对游戏场景进行截图处理而得到当前触控操作对应的截图;
S2,将第一场景截图与上一次触控操作对应的第二场景截图进行相似度比较,得到比较结果,其中,比较结果用于确定上一次触控操作的有效性;
S3,对第一场景截图进行识别,得到识别结果,其中,识别结果用于表示第一场景截图内包含的游戏元素信息,游戏元素信息至少包括:每个游戏元素的类型和位置;
S4,根据识别结果和比较结果,确定待执行的触控操作,以持续执行对软件应用的测试。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种处理器,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取第一场景截图,第一场景截图是通过响应于图形用户界面接收到的当前触控操作,对游戏场景进行截图处理而得到当前触控操作对应的截图;
S2,将第一场景截图与上一次触控操作对应的第二场景截图进行相似度比较,得到比较结果,其中,比较结果用于确定上一次触控操作的有效性;
S3,对第一场景截图进行识别,得到识别结果,其中,识别结果用于表示第一场景截图内包含的游戏元素信息,游戏元素信息至少包括:每个游戏元素的类型和位置;
S4,根据识别结果和比较结果,确定待执行的触控操作,以持续执行对软件应用的测试。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (13)

1.一种软件应用的测试方法,其特征在于,所述方法包括:
获取第一场景截图,第一场景截图是通过响应于图形用户界面接收到的当前触控操作,对游戏场景进行截图处理而得到所述当前触控操作对应的截图;
将所述第一场景截图与上一次触控操作对应的第二场景截图进行相似度比较,得到比较结果,其中,所述比较结果用于确定所述上一次触控操作的有效性;
对所述第一场景截图进行识别,得到识别结果,其中,所述识别结果用于表示所述第一场景截图内包含的游戏元素信息,所述游戏元素信息至少包括:每个游戏元素的类型和位置;
根据所述识别结果和所述比较结果,确定待执行的触控操作,以持续执行对所述软件应用的测试。
2.根据权利要求1所述的方法,其特征在于,在对所述游戏场景进行截图处理之前,还包括:
根据操作系统类型,调用对应的调试工具安装并运行所述软件应用。
3.根据权利要求1所述的方法,其特征在于,将所述第一场景截图与所述第二场景截图进行相似度比较,得到所述比较结果包括:
采用图片结构相似性算法针对所述第一场景截图与所述第二场景截图在视觉上的相似度进行评估,得到第一评估结果;
采用图像峰值信噪比算法对所述第一场景截图与所述第二场景截图之间的图像相对距离进行评估,得到第二评估结果;
采用基于人视觉优化的图像峰值信噪比算法对所述第一场景截图与所述第二场景截图进行分块的余弦变换,得到第三评估结果;
采用视觉信号保真度评估算法对所述第一场景截图与所述第二场景截图在视觉观察下的差异进行评估,得到第四评估结果;
通过对所述第一评估结果、所述第二评估结果、所述第三评估结果以及所述第四评估结果进行加权平方平均计算,获取所述比较结果。
4.根据权利要求1所述的方法,其特征在于,对所述第一场景截图进行识别,得到所述识别结果包括:
调用预设神经网络模型对所述第一场景截图进行识别,得到所述第一场景截图内包含的每个游戏元素的类型、位置和置信度,其中,所述预设神经网络模型中各个神经元对应的网络权重通过预先训练得到。
5.根据权利要求1所述的方法,其特征在于,在调用预设神经网络模型对所述第一场景截图进行识别之前,还包括:
获取初始视觉物体数据集;
按照预设比例将所述初始视觉物体数据集划分为训练数据和测试数据;
采用所述训练数据对初始神经网络模型进行训练,以及采用所述测试数据对初始神经网络模型进行测试,得到所述预设神经网络模型。
6.根据权利要求5所述的方法,其特征在于,获取所述初始视觉物体数据集包括:
对预设数量图片中每张图片所包含的游戏元素进行标记,得到每张图片中包含的每个游戏元素的对角线坐标,其中,所述预设数量图片与所述软件应用相关联;
将所述对角线坐标转化为相对坐标,并将相对坐标的数据格式调整为视觉物体数据集格式,得到所述初始视觉物体数据集。
7.根据权利要求5所述的方法,其特征在于,在根据所述识别结果和所述比较结果,确定所述待执行的触控操作之后,还包括:
采用所述预设神经网络模型对新游戏应用进行检测,得到初始数据集;
对所述初始数据集进行修正,并根据修正后的数据集生成待使用的视觉物体数据集;
采用所述待使用的视觉物体数据集对所述预设神经网络模型进行训练,得到更新后的预设神经网络模型。
8.根据权利要求1所述的方法,其特征在于,根据所述识别结果和所述比较结果,确定所述待执行的触控操作包括:
为所述第一场景截图中的每个游戏元素分别赋予初始权重;
根据历史操作记录查找与每个游戏元素之间的距离在预设范围内多个触控位置,并根据所述多个触控位置的数量对所述初始权重进行更新,其中,所述历史操作记录用于记录在所述当前触控操作之前执行过的触控操作所对应的触控位置;
根据每个游戏元素对应的更新后权重以及预设随机触控操作对应的权重计算权重取值范围;
从所述权重取值范围随机选取权重值,并将所述权重值对应的游戏元素设置为所述待执行的触控操作的操作对象。
9.根据权利要求1所述的方法,其特征在于,在根据所述识别结果和所述比较结果,确定所述待执行的触控操作之后,还包括:
将所述第一场景截图,所述识别结果和所述比较结果存储至预设存储区域;
对所述预设存储区域内存储的信息进行整理和标记,生成测试报告。
10.一种软件应用的测试装置,其特征在于,所述装置包括:
数据集生成和标记模块,用于获取第一场景截图,第一场景截图是通过响应于图形用户界面接收到的当前触控操作,对游戏场景进行截图处理而得到所述当前触控操作对应的截图;
图像相似度评估模块,用于将所述第一场景截图与上一次触控操作对应的第二场景截图进行相似度比较,得到比较结果,其中,所述比较结果用于确定所述上一次触控操作的有效性;
游戏物体识别模块,用于对所述第一场景截图进行识别,得到识别结果,其中,所述识别结果用于表示所述第一场景截图内包含的游戏元素信息,所述游戏元素信息至少包括:每个游戏元素的类型和位置;
操作数据分析和生成模块,用于根据所述识别结果和所述比较结果,确定待执行的触控操作,以持续执行对所述软件应用的测试。
11.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至9中任意一项所述的软件应用的测试方法。
12.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至9中任意一项所述的软件应用的测试方法。
13.一种电子装置,其特征在于,包括:一个或多个处理器,存储器,显示装置以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序用于执行权利要求1至9中任意一项所述的软件应用的测试方法。
CN201811203791.2A 2018-10-16 2018-10-16 软件应用的测试方法、装置、处理器及电子装置 Active CN109408384B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811203791.2A CN109408384B (zh) 2018-10-16 2018-10-16 软件应用的测试方法、装置、处理器及电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811203791.2A CN109408384B (zh) 2018-10-16 2018-10-16 软件应用的测试方法、装置、处理器及电子装置

Publications (2)

Publication Number Publication Date
CN109408384A true CN109408384A (zh) 2019-03-01
CN109408384B CN109408384B (zh) 2022-07-29

Family

ID=65468175

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811203791.2A Active CN109408384B (zh) 2018-10-16 2018-10-16 软件应用的测试方法、装置、处理器及电子装置

Country Status (1)

Country Link
CN (1) CN109408384B (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110221964A (zh) * 2019-05-06 2019-09-10 福建天晴数码有限公司 基于深度信念网络的ui自动化测试方法、存储介质
CN110297925A (zh) * 2019-06-30 2019-10-01 联想(北京)有限公司 一种数据处理方法、装置及电子设备
CN110795336A (zh) * 2019-09-25 2020-02-14 腾讯科技(深圳)有限公司 应用程序的控制方法、装置、设备及可读存储介质
CN111242187A (zh) * 2020-01-03 2020-06-05 北京字节跳动网络技术有限公司 一种图像相似度处理方法、装置、介质和电子设备
CN111459823A (zh) * 2020-04-01 2020-07-28 网易(杭州)网络有限公司 游戏软件的测试方法和装置、存储介质、处理器
CN111782552A (zh) * 2020-08-07 2020-10-16 广州极点三维信息科技有限公司 一种基于区域划分的自动测试方法和装置
CN112148254A (zh) * 2019-06-27 2020-12-29 Sap欧洲公司 用于实现微服务之间的接口设计一致性的应用评估系统
CN112153374A (zh) * 2020-09-25 2020-12-29 腾讯科技(深圳)有限公司 视频帧图像的测试方法、装置、设备、计算机存储介质
CN112162672A (zh) * 2020-10-19 2021-01-01 腾讯科技(深圳)有限公司 信息流的显示处理方法、装置、电子设备及存储介质
CN112231220A (zh) * 2020-10-26 2021-01-15 腾讯科技(深圳)有限公司 一种游戏测试方法和装置
CN112995666A (zh) * 2021-02-22 2021-06-18 天翼爱音乐文化科技有限公司 一种结合场景切换检测的视频横竖屏转换方法及装置
CN113032243A (zh) * 2021-01-28 2021-06-25 上海计算机软件技术开发中心 一种移动应用程序gui智能测试方法及系统
CN113094278A (zh) * 2021-04-23 2021-07-09 Tcl通讯(宁波)有限公司 移动终端的调试方法、装置、设备和计算机可读存储介质
CN113254333A (zh) * 2021-05-14 2021-08-13 成都安恒信息技术有限公司 基于机器学习识别第三方应用结果自动化测试方法
CN114742412A (zh) * 2022-04-13 2022-07-12 尚班(北京)网络科技有限公司 一种软件技术服务系统及方法
CN112069075B (zh) * 2020-09-09 2023-06-30 网易(杭州)网络有限公司 游戏角色的时装测试方法、装置和游戏客户端

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104516812A (zh) * 2013-09-27 2015-04-15 腾讯科技(深圳)有限公司 一种软件测试方法和装置
US20150187062A1 (en) * 2013-12-27 2015-07-02 Fuji Xerox Co., Ltd. Representative frame selecting system and non-transitory computer readable medium
US9111030B1 (en) * 2008-10-03 2015-08-18 Federal Home Loan Mortgage Corporation Systems and methods for testing a software application
WO2015120798A1 (en) * 2014-02-11 2015-08-20 Tencent Technology (Shenzhen) Company Limited Method for processing network media information and related system
CN104866414A (zh) * 2014-02-24 2015-08-26 腾讯科技(深圳)有限公司 应用程序的测试方法、装置及系统
US20150245063A1 (en) * 2012-10-09 2015-08-27 Nokia Technologies Oy Method and apparatus for video coding
CN105354351A (zh) * 2015-09-25 2016-02-24 浙江大学 一种基于改进模拟退火算法的极限稀疏阵列优化方法
US20160162480A1 (en) * 2014-12-03 2016-06-09 Hans-Peter Schaerges Adaptive computerized mapping technique in database systems
CN106326436A (zh) * 2016-08-25 2017-01-11 北京小度信息科技有限公司 显示界面元素的方法及装置
CN106910207A (zh) * 2017-02-27 2017-06-30 网易(杭州)网络有限公司 用于识别图像局部区域的方法、装置及终端设备
CN108076224A (zh) * 2017-12-21 2018-05-25 广东欧珀移动通信有限公司 应用程序控制方法、装置及存储介质和移动终端
CN108089688A (zh) * 2016-11-22 2018-05-29 中兴通讯股份有限公司 一种控制节电设置方法、装置及移动终端
CN108170606A (zh) * 2018-01-03 2018-06-15 中国工商银行股份有限公司 系统软件升级类应用的测试系统及方法
CN108182437A (zh) * 2017-12-29 2018-06-19 北京金堤科技有限公司 一种点选验证码识别方法、装置和用户终端
CN108236785A (zh) * 2018-02-08 2018-07-03 腾讯科技(深圳)有限公司 一种获取对象信息的方法及装置
CN108573021A (zh) * 2018-02-24 2018-09-25 浙江金华伽利略数据科技有限公司 一种动态数据的综合价值评估方法
CN108604234A (zh) * 2015-07-15 2018-09-28 查比公司 用于屏幕截图链接的系统及方法

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9111030B1 (en) * 2008-10-03 2015-08-18 Federal Home Loan Mortgage Corporation Systems and methods for testing a software application
US20150245063A1 (en) * 2012-10-09 2015-08-27 Nokia Technologies Oy Method and apparatus for video coding
CN104516812A (zh) * 2013-09-27 2015-04-15 腾讯科技(深圳)有限公司 一种软件测试方法和装置
US20150187062A1 (en) * 2013-12-27 2015-07-02 Fuji Xerox Co., Ltd. Representative frame selecting system and non-transitory computer readable medium
WO2015120798A1 (en) * 2014-02-11 2015-08-20 Tencent Technology (Shenzhen) Company Limited Method for processing network media information and related system
CN104866414A (zh) * 2014-02-24 2015-08-26 腾讯科技(深圳)有限公司 应用程序的测试方法、装置及系统
US20160162480A1 (en) * 2014-12-03 2016-06-09 Hans-Peter Schaerges Adaptive computerized mapping technique in database systems
CN108604234A (zh) * 2015-07-15 2018-09-28 查比公司 用于屏幕截图链接的系统及方法
CN105354351A (zh) * 2015-09-25 2016-02-24 浙江大学 一种基于改进模拟退火算法的极限稀疏阵列优化方法
CN106326436A (zh) * 2016-08-25 2017-01-11 北京小度信息科技有限公司 显示界面元素的方法及装置
CN108089688A (zh) * 2016-11-22 2018-05-29 中兴通讯股份有限公司 一种控制节电设置方法、装置及移动终端
CN106910207A (zh) * 2017-02-27 2017-06-30 网易(杭州)网络有限公司 用于识别图像局部区域的方法、装置及终端设备
CN108076224A (zh) * 2017-12-21 2018-05-25 广东欧珀移动通信有限公司 应用程序控制方法、装置及存储介质和移动终端
CN108182437A (zh) * 2017-12-29 2018-06-19 北京金堤科技有限公司 一种点选验证码识别方法、装置和用户终端
CN108170606A (zh) * 2018-01-03 2018-06-15 中国工商银行股份有限公司 系统软件升级类应用的测试系统及方法
CN108236785A (zh) * 2018-02-08 2018-07-03 腾讯科技(深圳)有限公司 一种获取对象信息的方法及装置
CN108573021A (zh) * 2018-02-24 2018-09-25 浙江金华伽利略数据科技有限公司 一种动态数据的综合价值评估方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
都延丽等: "协同随机微粒群优化的神经网络预测建模", 《系统工程与电子技术》, no. 08, 15 August 2008 (2008-08-15), pages 155 - 159 *

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110221964A (zh) * 2019-05-06 2019-09-10 福建天晴数码有限公司 基于深度信念网络的ui自动化测试方法、存储介质
CN112148254A (zh) * 2019-06-27 2020-12-29 Sap欧洲公司 用于实现微服务之间的接口设计一致性的应用评估系统
CN112148254B (zh) * 2019-06-27 2024-04-19 Sap欧洲公司 用于实现微服务之间的接口设计一致性的应用评估系统
CN110297925A (zh) * 2019-06-30 2019-10-01 联想(北京)有限公司 一种数据处理方法、装置及电子设备
CN110795336A (zh) * 2019-09-25 2020-02-14 腾讯科技(深圳)有限公司 应用程序的控制方法、装置、设备及可读存储介质
CN111242187A (zh) * 2020-01-03 2020-06-05 北京字节跳动网络技术有限公司 一种图像相似度处理方法、装置、介质和电子设备
CN111242187B (zh) * 2020-01-03 2023-07-07 北京字节跳动网络技术有限公司 一种图像相似度处理方法、装置、介质和电子设备
CN111459823A (zh) * 2020-04-01 2020-07-28 网易(杭州)网络有限公司 游戏软件的测试方法和装置、存储介质、处理器
CN111459823B (zh) * 2020-04-01 2023-05-26 网易(杭州)网络有限公司 游戏软件的测试方法和装置、存储介质、处理器
CN111782552A (zh) * 2020-08-07 2020-10-16 广州极点三维信息科技有限公司 一种基于区域划分的自动测试方法和装置
CN112069075B (zh) * 2020-09-09 2023-06-30 网易(杭州)网络有限公司 游戏角色的时装测试方法、装置和游戏客户端
CN112153374B (zh) * 2020-09-25 2022-06-07 腾讯科技(深圳)有限公司 视频帧图像的测试方法、装置、设备、计算机存储介质
CN112153374A (zh) * 2020-09-25 2020-12-29 腾讯科技(深圳)有限公司 视频帧图像的测试方法、装置、设备、计算机存储介质
CN112162672A (zh) * 2020-10-19 2021-01-01 腾讯科技(深圳)有限公司 信息流的显示处理方法、装置、电子设备及存储介质
CN112231220A (zh) * 2020-10-26 2021-01-15 腾讯科技(深圳)有限公司 一种游戏测试方法和装置
CN113032243B (zh) * 2021-01-28 2021-12-17 上海计算机软件技术开发中心 一种移动应用程序gui智能测试方法及系统
CN113032243A (zh) * 2021-01-28 2021-06-25 上海计算机软件技术开发中心 一种移动应用程序gui智能测试方法及系统
CN112995666A (zh) * 2021-02-22 2021-06-18 天翼爱音乐文化科技有限公司 一种结合场景切换检测的视频横竖屏转换方法及装置
CN113094278A (zh) * 2021-04-23 2021-07-09 Tcl通讯(宁波)有限公司 移动终端的调试方法、装置、设备和计算机可读存储介质
CN113094278B (zh) * 2021-04-23 2024-01-02 光环云数据有限公司 移动终端的调试方法、装置、设备和计算机可读存储介质
CN113254333A (zh) * 2021-05-14 2021-08-13 成都安恒信息技术有限公司 基于机器学习识别第三方应用结果自动化测试方法
CN114742412A (zh) * 2022-04-13 2022-07-12 尚班(北京)网络科技有限公司 一种软件技术服务系统及方法

Also Published As

Publication number Publication date
CN109408384B (zh) 2022-07-29

Similar Documents

Publication Publication Date Title
CN109408384A (zh) 软件应用的测试方法、装置、处理器及电子装置
CN104484273B (zh) 应用程序的测试方法、设备及系统
CN105205006B (zh) 多平台通用测试方法、装置和系统
CN108845930A (zh) 界面操作测试方法和装置、存储介质及电子装置
CN106445147B (zh) 基于人工智能的对话系统的行为管理方法及装置
CN109815156A (zh) 页面中视觉元素的展示测试方法、装置、设备和存储介质
CN106095673A (zh) 基于web接口的自动化测试方法及系统
CN105183630B (zh) 应用程序测试方法及装置
CN104050076A (zh) 移动终端上的应用软件测试方法、装置及系统
CN110162454A (zh) 游戏运行方法和装置、存储介质及电子装置
CN111209215B (zh) 应用程序的测试方法、装置、计算机设备及存储介质
CN110493812A (zh) 配网测试的处理方法、装置、系统、处理器及主控设备
CN103814373A (zh) 针对自动化脚本的对记录的动作的自动分类调整
CN106201898A (zh) 一种基于人工智能的测试软件的方法及装置
CN108334895A (zh) 目标数据的分类方法、装置、存储介质及电子装置
CN114730407A (zh) 使用神经网络对工作环境中的人类行为进行建模
CN107220169A (zh) 一种模拟服务器返回定制化数据的方法和设备
CN110427998A (zh) 模型训练、目标检测方法及装置、电子设备、存储介质
CN110163201A (zh) 图像测试方法和装置、存储介质及电子装置
CN110716778B (zh) 应用兼容性测试方法、装置及系统
CN110398957A (zh) 自动驾驶行为预测方法、装置、计算机设备及存储介质
CN113657770B (zh) 实验操作评分系统及方法
CN109344335A (zh) 一种内容推荐方法及电子设备
CN114942890A (zh) 一种用户界面测试方法、装置、设备及介质
CN114416524A (zh) 文件错误的定位方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant