CN113032268B - 软件测试方法、装置及存储介质 - Google Patents
软件测试方法、装置及存储介质 Download PDFInfo
- Publication number
- CN113032268B CN113032268B CN202110344445.1A CN202110344445A CN113032268B CN 113032268 B CN113032268 B CN 113032268B CN 202110344445 A CN202110344445 A CN 202110344445A CN 113032268 B CN113032268 B CN 113032268B
- Authority
- CN
- China
- Prior art keywords
- target
- page
- function control
- similarity
- group
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3676—Test management for coverage analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例公开了一种软件测试方法、装置及存储介质,其中方法包括:获取软件中的目标页面,并识别出目标页面中的各个目标功能控件,基于目标页面与各个分组中的页面之间的相似度,确定出目标页面所属的目标分组;基于各个目标功能控件与目标分组中各个页面下的参考功能控件集合之间的相似度,从目标分组中确定出与目标页面相匹配的目标参考页面;基于目标参考页面中各个参考功能控件的历史测试信息和各个目标功能控件与各个参考功能控件之间的匹配关系确定针对各个目标功能控件的目标测试信息,并基于目标测试信息从各个目标功能控件中筛选出待测试目标功能控件;触发针对待测试目标功能控件的功能测试,从而可以提升软件测试效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种软件测试方法、装置及存储介质。
背景技术
用户界面(User Interface,UI)自动探索是自动识别软件页面的可点击位置,持续自动测试可点击位置实现软件页面跳转,实现软件页面自动遍历。UI自动探索是软件测试的一部分,能够帮助开发及测试人员更加深入地理解、开发、完善软件。
目前,针对UI自动探索通常是基于随机点击、控件抓取或深度学习的方式识别UI中的功能控件,但当极为相似的两个或多个UI中某个功能控件的功能一致时,将存在功能控件重复测试的情况,从而导致软件测试效率低。因此,如何提升软件测试效率成为了当前的研究热点。
发明内容
本申请实施例提供了一种软件测试方法、装置及存储介质,可以提升软件测试效率。
一方面,本申请实施例提供了一种软件测试方法,该软件测试方法包括:
获取软件中的目标页面,并识别出目标页面中的各个目标功能控件,得到目标功能控件集合;
基于目标页面与各个分组中的页面之间的相似度,确定出目标页面所属的目标分组,其中,每个分组中包括历史测试的所述软件中的页面,每个分组中的各个页面之间的相似度大于预设相似度;
基于目标功能控件集合与目标分组中各个页面下的参考功能控件集合之间的相似度,从目标分组中确定出与目标页面相匹配的目标参考页面;
获取针对目标参考页面中各个参考功能控件的历史测试信息,并确定各个目标功能控件与各个参考功能控件之间的匹配关系;
基于历史测试信息和匹配关系确定针对目标功能控件集合中各个目标功能控件的目标测试信息,并基于目标测试信息从目标功能控件集合中筛选出待测试目标功能控件;
触发针对待测试目标功能控件的功能测试。
另一方面,本申请实施例提供一种软件测试装置,该软件测试装置包括:
获取单元,用于获取软件中的目标页面,并识别出目标页面中的各个目标功能控件,得到目标功能控件集合;
确定单元,用于基于目标页面与各个分组中的页面之间的相似度,确定出目标页面所属的目标分组,其中,每个分组中包括历史测试的软件中的页面,每个分组中的各个页面之间的相似度大于预设相似度;
确定单元,还用于基于目标功能控件集合与目标分组中各个页面下的参考功能控件集合之间的相似度,从目标分组中确定出与目标页面相匹配的目标参考页面;
获取单元,还用于获取针对目标参考页面中各个参考功能控件的历史测试信息;
确定单元,还用于确定各个目标功能控件与各个参考功能控件之间的匹配关系;
确定单元,还用于基于历史测试信息和匹配关系确定针对目标功能控件集合中各个目标功能控件的目标测试信息,并基于目标测试信息从目标功能控件集合中筛选出待测试目标功能控件;
触发单元,用于触发针对待测试目标功能控件的功能测试。
另一方面,本申请实施例提供一种终端设备,包括:
处理器和存储装置,处理器与存储装置相互连接,其中,存储装置用于存储计算机程序指令,处理器被配置用于执行计算机程序指令,实现:
获取软件中的目标页面,并识别出目标页面中的各个目标功能控件,得到目标功能控件集合;
基于目标页面与各个分组中的页面之间的相似度,确定出目标页面所属的目标分组,其中,每个分组中包括历史测试的所述软件中的页面,每个分组中的各个页面之间的相似度大于预设相似度;
基于目标功能控件集合与目标分组中各个页面下的参考功能控件集合之间的相似度,从目标分组中确定出与目标页面相匹配的目标参考页面;
获取针对目标参考页面中各个参考功能控件的历史测试信息,并确定各个目标功能控件与各个参考功能控件之间的匹配关系;
基于历史测试信息和匹配关系确定针对目标功能控件集合中各个目标功能控件的目标测试信息,并基于目标测试信息从目标功能控件集合中筛选出待测试目标功能控件;
触发针对待测试目标功能控件的功能测试。
另一方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有程序指令,所述程序指令被处理器执行时,用于执行:
获取软件中的目标页面,并识别出目标页面中的各个目标功能控件,得到目标功能控件集合;
基于目标页面与各个分组中的页面之间的相似度,确定出目标页面所属的目标分组,其中,每个分组中包括历史测试的软件中的页面,每个分组中的各个页面之间的相似度大于预设相似度;
基于目标功能控件集合与目标分组中各个页面下的参考功能控件集合之间的相似度,从目标分组中确定出与目标页面相匹配的目标参考页面;
获取针对目标参考页面中各个参考功能控件的历史测试信息,并确定各个目标功能控件与各个参考功能控件之间的匹配关系;
基于历史测试信息和匹配关系确定针对目标功能控件集合中各个目标功能控件的目标测试信息,并基于目标测试信息从目标功能控件集合中筛选出待测试目标功能控件;
触发针对待测试目标功能控件的功能测试。
本申请实施例中,终端设备获取目标页面,通过将目标页面与已有分组中的页面进行相似度比较,终端设备确定出目标页面所属的目标分组,然后终端设备将目标页面的功能控件和目标分组内的页面的功能控件进行相似度比较,终端设备确定出与目标页面的功能控件相同的参考页面以及在目标分组中与目标页面的功能控件相同的功能控件,然后终端设备根据参考页面的功能控件的测试情况,和目标分组中与目标页面的功能控件相同的功能控件的测试情况,筛选出需要进行测试的目标页面中的功能控件,可以避免相同的功能控件重复测试的情况,从而在一定的软件测试时间内能够测试更多的功能控件,提高了软件测试效率。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种软件测试框架的示意图;
图2是本申请实施例提供的一种软件测试方法的示意流程图;
图3a是本申请实施例提供的一种分组1的相似页面的示意图;
图3b是本申请实施例提供的一种分组2的相似页面的示意图;
图3c是本申请实施例提供的一种分组3的相似页面的示意图;
图4a是本申请实施例提供的一种同一分组中的页面存在功能控件部分不一致的示意图;
图4b是本申请实施例提供的另一种同一分组中的页面存在功能控件不一致的示意图;
图5是本申请实施例提供的一种终端设备建立的第一数据结构的形式示意图;
图6是本申请实施例提供的一种终端设备建立的第二数据结构的形式示意图;
图7是本申请实施例提供的一种终端设备筛选出待测试目标功能控件的流程示意图;
图8是本申请实施例提供的另一种软件测试方法的示意流程图;
图9是本申请实施例提供的一种终端设备计算目标页面和参照页面之间的相似度的示意图;
图10是本申请实施例提供的一种终端设备从目标分组中确定出与目标页面相匹配的目标参考页面的示意图;
图11是本申请实施例提供的一种软件测试装置的结构示意图;
图12是本申请实施例提供的一种终端设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,图1是本申请实施例提供的一种软件测试框架的示意图。如图1所示,该软件测试架构中包括:客户端、人工智能(Artificial Intelligence,AI)客户端、AI SDK(一种软件开发工具包)、SDK工具、第三方库。客户端为运行在终端设备(如手机)上的软件,AI客户端为运行在终端设备(例如电脑)上的软件工具,客户端和AI客户端通过USB接口进行连接通信;AI SDK为运行在终端设备中(例如远程服务器)的一种软件开发工具包,AISDK通过传输控制协议(Transmission Control Protocol,TCP)或超文本传输协议(Hypertext Transfer Protocol,HTTP)与AI客户端进行通信。在SDK工具中,包括数据标注、插件生成、样本录制和配置生成,SDK工具主要用于与用户交互,提供可视化的集成开发环境(Integrated Development Environment,IDE)。在第三方库中,包括Tensorflow(一种基于数据流编程的符号数学系统)、开源的计算机视觉库(Open Source Computer VisionLibrary,OpenCV)、Tbus(一种基础组件)、ZMQ(一种过滤软件)、ProtoBuf(一种开源序列化框架),第三方库主要用于算法的编程实现。在AI SDK中,包括AI自动化装置、场景识别装置、管理中心、接口服务和用户界面(User Interface,UI)识别装置。在AI自动化装置中,包括AI算法逻辑、环境交互、场景识别应用程序编程接口(Application ProgrammingInterface,API)和控制API。AI算法逻辑是AI自动化探索的核心,用于实现AI自动化探索;环境交互主要用于确定页面中的环境信息,例如游戏登录页面,存在用户账号登录时的游戏密码输入框,环境交互便可用来识别这些输入框;场景识别API用于识别页面中的功能控件;控制API用于控制动作,例如游戏中的人物正在运动时,控制API获取到暂停的指令,根据指令控制API用于控制页面中的人物执行暂停的动作。在场景识别装置中,包括场景识别算法、图像识别模型和数据配置模块,场景识别装置主要用于辅助AI自动化装置识别页面中的信息,例如游戏场景中的人物识别,人物血条的识别。在管理中心中,包括服务管理,服务监控和结果存储,管理中心主要用于对状态进行管理,例如,对游戏登录时的UI场景的状态切换到进入游戏后的游戏AI场景的状态的管理,又例如,对进程的状态管理(例如识别游戏AI场景的进程进行到什么地步)。在接口服务中,包括输入输出、数据转发、服务状态上报,接口服务主要是用于与客户端交互的接口。在UI识别装置中,包括UI识别、UI流程控制、脚本控制和数据配置,在非游戏场景进入到游戏AI场景这一段时间里的页面的识别为UI识别。AI自动化装置和场景识别装置共享内存通道,场景识别装置和管理中心共享内存通道,管理中心和接口服务共享内存通道,管理中心和UI识别装置共享内存通道,共享内存通道主要用于实现进程之间的通信。
在一个实施例中,UI可以指客户端中的页面。客户端的页面通过USB接口传输到AI客户端,然后AI客户端通过TCP/HTTP协议将页面传输给AI SDK,AI SDK中的AI自动化装置获取到页面后对页面进行处理,识别出需要进行测试的功能控件,将该功能控件的位置输出给AI SDK,由AI SDK向AI客户端输出对该功能控件的位置处的功能控件进行触屏动作的指令,然后由AI客户端通过TCP或HTTP协议将该指令传输给客户端,客户端获取到该指令后执行对需要进行测试的功能控件的触发操作。
在一个实施例中,AI自动化装置获取到目标页面后对目标页面进行处理时,AI自动化获取装置识别出目标页面中的各个目标功能控件,根据目标页面和AI自动化装置之前获取到的页面之间的相似度确定目标页面所属的目标分组,然后AI自动化装置根据各个目标功能控件与目标分组中各个页面下的参考功能控件集合之间的相似度,从目标分组中找到与目标页面相匹配的参考页面,根据参考页面中的各个参考功能控件的历史测试信息,和各个目标功能控件与各个参考功能控件之间的匹配关系,从目标功能控件集合中筛选出需要进行测试的目标功能控件。
请参阅图2,是本申请实施例提供的一种软件测试方法的示意流程图,该软件测试方法方包括S201-S206:
S201,终端设备获取软件中的目标页面,并识别出目标页面中的各个目标功能控件,得到目标功能控件集合。
其中,各个目标功能控件可以理解为目标页面中的各个功能控件。
S202,终端设备基于目标页面与各个分组中的页面之间的相似度,确定出目标页面所属的目标分组。
其中,每个分组中包括历史测试的软件中的页面,每个分组中的各个页面之间的相似度大于预设相似度。可以理解的是,在对软件进行测试前,分组中没有页面。
在一个实施例中,软件中的多个页面的绝大部分完全一致,只有局部不一致,并且这类多个页面的大部分功能控件布局也一致,如果这类多个页面对应的功能控件的位置和纹理一致、功能一致并且触发该功能控件后跳转到同一个页面中,这类多个页面为相似页面,可以归为同一个分组。如图3a所示,图3a是本申请实施例提供的一种分组1的相似页面的示意图,如图3b所示,图3b是本申请实施例提供的一种分组2的相似页面的示意图,如图3c所示,图3c是本申请实施例提供的一种分组3的相似页面的示意图。在分组1中,两个页面的功能控件的位置和纹理都一致,触发功能控件后跳转的页面也一致(例如触发功能控件“设置”后都跳转到设置的页面),只是在页面中的人物不一样,分组1中的两个页面属于同一个分组。在分组2中,两个页面的功能控件的位置和纹理都一致(例如“资讯”、“直播”、“我的”、“竞猜”等功能控件),只是小部分页面中的人物不一致,分组2中的两个页面属于同一个分组中。分组3中的两个页面在左边一列的功能控件的位置和纹理一致,其余的功能控件的位置和纹理一致,触发其余的功能控件跳转的页面也是一致的,并且两个页面中大部分的页面是一致的,分组3中的两个页面属于同一个分组。通过计算页面之间的相似度可以确定出页面是否属于同一个分组。
在一个实施例中,当各个分组中的页面较多时,终端设备获取各个分组中与目标页面之间相似度最高的待选页面,确定该待选页面所在的待选分组,并确定出待选分组中N个页面与目标页面之间的相似度的平均值,若平均值大于预设阈值,则将待选分组确定为目标页面的目标分组,若平均值小于预设阈值,则基于目标页面构建一个新建分组,并将新建分组确定为目标页面的目标分组。可以理解的是,待选分组为所有分组中的其中一个分组。其中,N为正整数,N的具体值可根据软件的特性进行调整,N个页面的选择可以采用随机抽取或启发式的方式抽取。启发式的方式抽取为有一定根据的抽取,例如,终端设备计算了目标页面和分组中各个页面的相似度,终端设备可以选择相似度最高的N个页面,或者,终端设备按照一定相似度梯度选择N个页面。
S203,终端设备基于目标功能控件集合与目标分组中各个页面下的参考功能控件集合之间的相似度,从目标分组中确定出与目标页面相匹配的目标参考页面。
其中,参考功能控件集合可以理解为目标分组中的任意一个页面中的功能控件的集合,目标参考页面为目标分组中的任意一个页面。
在一个实施例中,目标页面和目标分组中的任意一个页面完全一致,则将目标页面和该页面归为同一页面,此时,该页面为与目标页面相匹配的目标参考页面,终端设备只需要保存一个页面即可,即终端设备只需要对一个页面中的功能控件进行测试。
在一个实施例中,当目标页面和目标分组中的任意一张页面相似度较高,但是目标页面和该页面中的功能控件大部分相同,还有少部分功能控件不相同的情况,例如,请参阅图4a,图4a是本申请实施例提供的一种同一分组中的页面存在功能控件部分不一致的示意图,图4a中,两个页面中的大部分功能控件一致,但其少部分功能控件处于相同位置,但纹理不一致。又例如,请参阅图4b,图4b是本申请实施例提供的另一种同一分组中的页面存在功能控件不一致的示意图,图4b中,两个页面中的大部分功能控件一致,但其少部分功能控件处于相同位置,但纹理不一致。在目标页面和目标分组中的任意一个页面中的功能控件大部分相同,还有少部分功能控件不相同的情况下,终端设备获取目标分组中与目标功能控件集合之间相似度最高的待选参考功能控件集合,以及待选参考功能控件集合对应的待选参考页面,若待选参考功能控件集合与目标功能控件集合之间的相似度大于预设相似度,则将待选参考页面确定为与目标页面相匹配的目标参考页面,若待选参考控件集合与目标功能控件集合之间的相似度小于预设相似度,则将目标页面确定为目标页面的目标参考页面。可以理解的是,待选参考功能控件集合为目标分组中各个页面的参考功能控件集合中选出的一个待选参考功能控件集合。
S204,终端设备获取针对目标参考页面中各个参考功能控件的历史测试信息,并确定各个目标功能控件与各个参考功能控件之间的匹配关系。
在一个实施例中,请参阅图5,图5是本申请实施例提供的一种终端设备建立的第一数据结构的形式示意图。如图5所示,groupId表示分组的标识,scenes表示该分组下包含的页面,SceneID为页面的标识,每个页面包含多个功能控件,buttonList表示每个页面中的每个功能控件对应的信息描述,包括buttonId、count、nextGroupID、nextSceneID。buttonId表示功能控件的标识,count表示测试功能控件的次数,nextGroupID表示触发功能控件后跳转页面所属的分组的标识,nextSceneID表示触发功能控件后跳转的页面的标识。
在一个实施例中,请参阅图6,图6是本申请实施例提供的一种终端设备建立的第二数据结构的形式示意图,如图6所示,tableId表示功能控件在分组内的标识,x,y,w,h联合表示功能控件的位置信息,count表示测试功能控件的次数,若在多个页面中触发了对该功能控件的测试,功能控件的测试次数为多个页面进行测试的总次数。nextGroupId表示触发该功能控件后跳转的页面所属的分组的标识,nextSceneId表示触发功能控件后跳转的页面的标识,table里面包括sceneId、buttonId,其中sceneId表示的是共享该功能控件的页面的标识,buttonId表示的是功能控件的标识,table里面是共享同一个功能控件的页面的标识和该功能控件的标识。
在一个实施例中,终端设备确定各个目标功能控件与各个参考功能控件之间的匹配关系,即,确定与各个目标功能控件相匹配的参考功能控件,也就是确定出目标功能控件的相同功能控件。相同功能控件可以理解为功能控件之间的位置一致性大于预设阈值,功能控件之间的纹理一致性(即相似度)大于预设阈值。各个参考功能控件可以理解为目标分组中的各个功能控件,或可以理解为参考功能控件集合中的各个参考功能控件。
在一个实施例中,终端设备获取各个目标功能控件在目标页面中的第一像素占用信息,其中,第一像素占用信息为各个目标功能控件包含的总像素数和各个目标功能控件像素点的像素值及该像素点在目标页面中的位置;终端设备获取各个参考功能控件在所在页面中的第二像素占用信息,其中,第二像素占用信息为各个参考功能控件包含的总像素数和各个参考功能控件像素点的像素值及该像素点在目标参考页面中的位置。终端设备可以采用交并比(Intersectionover Union,IOU)公式计算各个目标功能控件和各个参考功能控件的位置一致性,位置一致性=共同包含的像素点/两个功能控件包含的总像素数,其中,共同包含的像素点为目标功能控件和参考功能控件共同包含的像素点,共同包含的像素点和两个功能控件包含的总像素数可以通过第一像素占用信息和第二像素占用信息得到。然后终端设备调用匹配模型确定目标功能控件与参考功能控件之间的相似度,其中匹配模型包括但不限于模板匹配和神经网络建模;终端设备将与各个目标功能控件之间相似度最高的参考功能控件,确定为与各个目标功能控件相匹配的参考功能控件。例如,参考功能控件包括参考功能控件1(即参考功能控件中标识为1的参考功能控件)、参考功能控件2(即参考功能控件中标识为2的参考功能控件)、参考功能控件3(即参考功能控件中标识为3的参考功能控件),参考功能控件1与目标功能控件1的相似度为98%,参考功能控件2与目标功能控件1(即目标功能控件集合中标识为1的目标功能控件)的相似度为96%,参考功能控件3与目标功能控件1的相似度为20%,则可以确定参考功能控件1为目标功能控件1相匹配的参考功能控件。可以理解的是,该参考功能控件与目标功能控件之间的位置一致性大于预设阈值,该参考功能控件与目标功能控件之间的相似度大于预设阈值。
在一个实施例中,终端设备获取各个目标功能控件在目标页面中的第一像素占用信息;终端设备获取各个参考功能控件在目标参考页面中的第二像素占用信息。终端设备可以采用IOU公式计算各个目标功能控件和各个参考功能控件的位置一致性,然后终端设备调用匹配模型确定目标功能控件与参考功能控件之间的相似度,其中匹配模型包括但不限于模板匹配和神经网络建模;终端设备将与各个目标功能控件之间相似度最高的参考功能控件,确定为与各个目标功能控件相匹配的参考功能控件。
在一个实施例中,终端设备在确定各个目标功能控件与各个参考功能控件之间的匹配关系后,更新第二数据结构的内容。例如,终端设备在目标分组中确定出目标功能控件1的相同功能控件,即功能控件2(标识为2的功能控件),该功能控件2的count为1,该功能控件2在分组内的标识为1,则在tableId为1的第二数据结构中更新table里面的内容,即在table中添加目标页面的标识和目标功能控件1的标识。
S205,终端设备基于历史测试信息和匹配关系确定针对目标功能控件集合中各个目标功能控件的目标测试信息,并基于目标测试信息从目标功能控件集合中筛选出待测试目标功能控件。
在一个实施例中,终端设备根据第二数据结构可以确定功能控件的历史测试信息,功能控件的历史测试信息即第二数据结构中的功能控件的测试次数,可以确定功能控件是否被测试过。终端设备基于历史测试信息和匹配关系确定针对目标功能控件集合中各个目标功能控件的目标测试信息。例如,终端设备在目标分组中确定出与目标功能控件相同的功能控件,则终端设备可以根据该功能控件的历史测试信息,即该功能控件的测试次数确定是否对目标功能控件进行测试,若该功能控件的count为1,则表示该功能控件被测试过,那么目标功能控件的目标测试信息指示该目标功能控件被测试过。
在一个实施例中,终端设备获取目标功能控件集合中各个目标功能控件的控件类型,控件类型包括遍历类和退出类,遍历类目标功能控件用于触发软件跳转到目标页面的子页面,退出类目标功能控件用于触发软件返回到目标页面的父页面;若目标测试信息指示目标功能控件集合中存在未被测试的遍历类目标功能控件,则将未被测试的遍历类目标功能控件确定为待测试目标功能控件;若目标测试信息指示目标功能控件集合中各个遍历类目标功能控件均已被测试,则从目标功能控件集合中筛选出未被测试的退出类目标功能控件,作为待测试目标功能控件。
在一个实施例中,请参阅图7,图7是本申请实施例提供的一种终端设备筛选出待测试目标功能控件的流程示意图。如图7所示,终端设备根据第二数据结构确定目标页面中存在没有被测试的遍历类功能控件,从没有被测试的遍历类功能控件中随机选择一个遍历类功能控件作为待测试目标功能控件;终端设备根据第二数据结构确定目标页面中的遍历类功能控件都已被测试,则终端设备从第二数据结构中搜索目标页面中的遍历类功能控件对应的下一个页面中是否存在没有被测试的遍历类功能控件,如果存在,则从中随机选择一个未被测试的遍历类功能控件作为待测试功能控件;终端设备根据第二数据结构确定目标页面中的遍历类功能控件都已被测试,且终端设备从第二数据结构中搜索目标页面中的遍历类功能控件对应的下一个页面中,不存在没有被测试的遍历类功能控件,则终端设备从第二数据结构中搜索目标页面中的退出类功能控件对应的下一个页面中是否存在没有被测试的遍历类功能控件,若存在,那么终端设备从中随机选择一个未被测试的遍历类功能控件作为待测试功能控件;终端设备根据第二数据结构确定目标页面中的遍历类功能控件都已被测试,且终端设备从第二数据结构中搜索目标页面中的遍历类功能控件对应的下一个页面中,不存在没有被测试的遍历类功能控件,且终端设备从第二数据结构中搜索目标页面中的退出类功能控件对应的下一个页面中,不存在没有被测试的遍历类功能控件,则终端设备随机选择一个目标页面中的退出类功能控件作为待测试的目标功能控件;终端设备根据第二数据结构确定目标页面中的遍历类功能控件都已被测试,且终端设备从第二数据结构中搜索目标页面中的遍历类功能控件对应的下一个页面中,不存在没有被测试的遍历类功能控件,且终端设备从第二数据结构中搜索目标页面中的退出类功能控件对应的下一个页面中,不存在没有被测试的遍历类功能控件,且终端设备根据第二数据结构确定目标页面中的退出类功能控件已被测试过,则终端设备根据权重随机选择一个目标页面中权重最大的目标功能控件作为待测试的目标功能控件,其中,退出类功能控件的权重为0.75,遍历类功能控件的权重为0.25,具体的权重可以根据软件的特性进行调整。
S206,终端设备触发针对测试目标功能控件的功能测试。
在一个实施例中,终端设备从目标功能控件集合中筛选出待测试目标功能控件后,终端设备发送一条针对待测试目标功能控件的指令,发送该指令给客户端,以使客户端执行针对该待测试目标功能控件的功能测试的触发操作。
在一个实施例中,终端设备从所有页面的所有功能控件中筛选出待测试目标功能控件,终端设备发送一条针对待测试目标功能控件的指令,发送该指令给客户端,以使客户端执行针对该待测试目标功能控件的功能测试的触发操作。
在一个实施例中,终端设备触发针对待测试目标功能控件的功能测试后,终端设备更新第一数据结构,该待测试目标功能控件被测试后在第一数据结构中更新该待测试目标功能控件的测试次数,即该待测试目标功能控件的测试次数加1,同时更新该待测试目标功能控件的nextGroupID和nextSceneID,便于信息快速检索。同时,终端设备触发针对测试目标功能控件的功能测试后,终端设备更新第二数据结构,该待测试目标功能控件被测试后在第二数据结构中更新该待测试目标功能控件的测试次数,即该待测试目标功能控件的测试次数加1,同时更新该待测试目标功能控件的nextGroupId和nextSceneId。
本申请实施例中,终端设备获取到目标页面,通过将目标页面与已有分组中的页面进行相似度比较,终端设备确定出目标页面所属的目标分组,然后终端设备将目标页面的功能控件和目标分组内的页面对应的功能控件进行相似度比较,终端设备确定出与目标页面的功能控件相同的参考页面以及在目标分组中与目标页面的功能控件相同的功能控件,然后终端设备根据参考页面的功能控件的测试情况,和目标分组中与目标页面的功能控件相同的功能控件的测试情况,筛选出需要进行测试的目标页面中的功能控件,可以避免相同的功能控件重复测试的情况,从而在一定的软件测试时间内能够测试更多的功能控件,提高了软件测试效率。此外,本申请实施例对所有的终端软件均适用,具有广泛的普适性,同时,本申请实施例从页面的角度出发,不需要依赖软件的底层接口便可进行软件测试,具有很好的通用性。
请参阅图8,图8是本申请实施例提供的另一种软件测试方法的示意流程图,该软件测试方法包括S801-S808:
S801,终端设备获取软件中的目标页面,并识别出目标页面中的各个目标功能控件,得到目标功能控件集合。
S802,终端设备计算目标页面与各个分组中的页面之间的相似度。
在一个实施例中,针对各个分组中任意一个参照页面,终端设备调用匹配模型对目标页面和该参照页面进行处理,得到目标页面和参照页面之间的第一页面相似度;终端设备对目标页面中功能控件位置处进行掩膜处理,得到目标掩膜页面,并对参照页面中功能控件位置处进行掩膜处理,得到参照掩膜页面;终端设备调用匹配模型对目标掩膜页面和参照掩膜页面进行处理,得到目标掩膜页面和参照掩膜页面之间的第二页面相似度;终端设备对第一页面相似度和第二页面相似度进行运算,得到目标页面与参照页面之间的相似度。其中,参照页面为目标分组中的任意一个页面。
在一个实施例中,终端设备对第一页面相似度和第二页面相似度进行运算时,采用加权的方式进行运算,加权系数根据软件的特性进行动态调整,例如,第一页面相似度为0.95,第一页面相似度的加权系数为0.6,第二页面相似度为0.96,第二页面相似度的加权系数为0.4,则目标页面与参照页面之间的相似度为0.95×0.6+0.96×0.4。
在一个实施例中,终端设备对目标页面和各个分组中的页面调整为统一大小适中的页面,终端设备在对目标页面和各个分组中的页面进行相似度计算时,终端设备可以利用第一数据结构,采用多线程的处理方式,也就是说,终端设备在对目标页面和各个分组中的页面进行相似度计算时,终端设备计算目标页面和各个分组中的页面的相似度是同时进行的。例如,终端设备计算目标页面与如图3a所示的分组1中的页面进行相似度计算时,终端设备对目标页面和分组1中的两张页面之间的相似度计算的过程是同时进行的。
例如,请参阅图9,图9是本申请实施例提供的一种终端设备计算目标页面和参照页面之间的相似度的示意图。如图9所示,终端设备对目标页面中的功能控件位置处进行掩膜处理,即在功能控件“再来一次”的位置处和功能控件“返回”的位置处生成掩码,得到经过掩膜处理后的目标页面,即目标掩膜页面。同时,终端设备对参照页面的功能控件进行掩膜处理,即在功能控件“取消”的位置处和功能控件“确定”的位置处生成掩码,得到经过掩膜处理后的参照页面,即参照掩膜页面。终端设备调用匹配模型对目标页面和该参照页面进行处理计算得到目标页面和参照页面之间的第一页面相似度,终端设备调用匹配模型对目标掩膜页面和参照掩膜页面进行处理,得到目标掩膜页面和参照掩膜页面之间的第二页面相似度,其中,第一页面相似度和第二页面相似度的计算可以同时进行,匹配模型可以是但不局限于模板匹配、神经网络建模。终端设备采用加权的方式对第一页面相似度和第二页面相似度进行运算,得到目标页面和参照页面之间的相似度。
S803,终端设备基于目标页面与各个分组中的页面之间的相似度,确定出目标页面所属的目标分组。
S804,终端设备计算目标功能控件集合与目标分组中各个页面下的参考功能控件集合之间的相似度。
在一个实施例中,终端设备获取目标功能控件集合中各个目标功能控件在目标页面下的第一位置,并确定第一位置在目标页面中对应的第一图像,以及第一位置在参考页面中对应的第二图像;终端设备调用匹配模型对第一图像和第二图像进行处理,得到目标功能控件集合与参考功能控件集合之间的第一控件相似度;获取参考功能控件集合中各个参考功能控件在目标页面下的第二位置,并确定第二位置在目标页面中对应的第三图像,以及第二位置在参考页面中对应的第四图像;终端设备调用匹配模型对第三图像和第四图像进行处理,得到目标功能控件集合与参考功能控件集合之间的第二控件相似度。其中,参考页面为目标分组中的任意一个页面,第一位置为各个目标功能控件在目标页面中的位置,第二位置为各个参考功能控件在参考页面中的位置,匹配模型可以是但不局限于模板匹配、神经网络建模。
在一个实施例中,终端设备对第一控件相似度和第二控件相似度进行运算,得到目标功能控件集合与参考页面下的参考功能控件集合之间的相似度。
S805,终端设备基于目标功能控件集合与目标分组中各个页面下的参考功能控件集合之间的相似度,从目标分组中确定出与目标页面相匹配的目标参考页面。
在一个实施例中,若目标功能控件集合与参考功能控件集合之间的相似度大于预设相似度,则终端设备确定出最大的相似度对应的参考功能控件集合所在的参考页面为与目标页面相匹配的目标参考页面。
在一个实施例中,若目标功能控件集合与参考功能控件集合之间的第一控件相似度大于预设相似度,且目标功能控件集合与参考功能控件集合之间的第二控件相似度大于预设相似度,则终端设备确定出最大的第一控件相似度和最大的第二控件相似度对应的参考功能控件集合所在的参考页面为与目标页面相匹配的目标参考页面。
请参阅图10,图10是本申请实施例提供的一种终端设备从目标分组中确定出与目标页面相匹配的目标参考页面的示意图。如图10所示,目标页面的目标功能控件集合包括功能控件“再来一次”和功能控件“返回”,目标分组中的其中一个参考页面的参考功能控件集合包括功能控件“取消”和功能控件“确定”。终端设备获取目标页面中的各个目标功能控件的第一位置。终端设备确定第一位置在目标页面中对应的第一图像,即功能控件“再来一次”处的第一图像,然后终端设备确定在参考页面的第一位置处的第二图像,即如图10所示的功能控件“再来一次”处的第一图像正对的第二图像,终端设备调用匹配模型对第一图像和第二图像进行处理,得到目标功能控件与参考功能控件之间的第一控件相似度。终端设备确定第一位置在目标页面中对应的第一图像,即功能控件“返回”处的第一图像,然后终端设备确定在参考页面的第一位置处的第二图像,即如图10所示的功能控件“返回”处的第一图像正对的第二图像,终端设备调用匹配模型对第一图像和第二图像进行处理,得到目标功能控件集合与参考功能控件集合之间的第一控件相似度。此时,终端设备得到了目标功能控件集合与参考功能控件集合之间的第一控件相似度。
如图10所示,终端设备获取参考功能控件集合中各个参考功能控件在目标页面下的第二位置。终端设备确定第二位置在目标页面中对应的第三图像,即如图10所示的功能控件“取消”处的第四图像正对的第三图像,以及确定第二位置在参考页面中的第四图像,即功能控件“取消”处的第四图像,终端设备调用匹配模型对第三图像和第四图像进行处理,得到目标功能控件与参考功能控件之间的第二控件相似度。终端设备确定第二位置在目标页面中对应的第三图像,即如图10所示的功能控件“确定”处的第四图像正对的第三图像,以及确定第二位置在参考页面中的第四图像,即功能控件“确定”处的第四图像,终端设备调用匹配模型对第三图像和第四图像进行处理,得到目标功能控件与参考功能控件之间的第二控件相似度。此时,终端设备得到了目标功能控件集合与参考功能控件集合之间的第二控件相似度。在所有的第一控件相似度大于预设相似度和所有的第二控件相似度大于预设相似度时,终端设备确定目标功能控件集合与参考功能控件集合之间的第一控件相似度和第二控件相似度最大时的参考功能控件集合对应的参考页面为目标参考页面。
S806,终端设备获取针对目标参考页面中各个参考功能控件的历史测试信息,并确定各个目标功能控件与各个参考功能控件之间的匹配关系。
S807,终端设备基于历史测试信息和匹配关系确定针对目标功能控件集合中各个目标功能控件的目标测试信息,并基于目标测试信息从目标功能控件集合中筛选出待测试目标功能控件。
S808,终端设备触发针对测试目标功能控件的功能测试。
本申请实施例在跑步游戏、赛车游戏和射击游戏软件上实现,结果如表1。
表1
如表1所示,页面覆盖率为在一定测试时间内,测试功能控件后跳转的页面占软件所有页面的比例,功能控件覆盖率为在一定时间内,测试的功能控件占软件所有的功能控件的比例。如表1所示,对比了测试时间和页面划分粒度对结果的影响,从表1来看,在页面适中的情况下,页面覆盖率和功能控件覆盖率均有较好的表现,即有较好的软件测试效率。
本申请实施例中,终端设备获取到目标页面,通过将目标页面与已有分组中的页面进行相似度比较,终端设备确定出目标页面所属的目标分组,然后终端设备将目标页面的功能控件和目标分组内的页面对应的功能控件进行相似度比较,终端设备确定出与目标页面的功能控件相同的参考页面以及在目标分组中与目标页面的功能控件相同的功能控件,然后终端设备根据参考页面的功能控件的测试情况,和目标分组中与目标页面的功能控件相同的功能控件的测试情况,筛选出需要进行测试的目标页面中的功能控件,可以避免相同的功能控件重复测试的情况,从而在一定的软件测试时间内能够测试更多的功能控件,提高了软件测试效率。此外,本申请实施例对所有的终端软件均适用,具有广泛的普适性,同时,本申请实施例从页面的角度出发,不需要依赖软件的底层接口便可进行软件测试,具有很好的通用性。
基于上述的软件测试方法,本申请实施例提供了一种软件测试装置。参见图11,图11是本申请实施例提供的一种软件测试装置的结构示意图。图11所述的软件测试装置可运行如下单元:
获取单元1101,用于获取软件中的目标页面,并识别出目标页面中的各个目标功能控件,得到目标功能控件集合;
确定单元1102,用于基于目标页面与各个分组中的页面之间的相似度,确定出目标页面所属的目标分组,其中,每个分组中包括历史测试的软件中的页面,每个分组中的各个页面之间的相似度大于预设相似度;
确定单元1102,还用于基于目标功能控件集合与目标分组中各个页面下的参考功能控件集合之间的相似度,从目标分组中确定出与目标页面相匹配的目标参考页面;
获取单元1101,还用于获取针对目标参考页面中各个参考功能控件的历史测试信息;
确定单元1102,还用于确定各个目标功能控件与各个参考功能控件之间的匹配关系;
确定单元1102,还用于基于历史测试信息和匹配关系确定针对目标功能控件集合中各个目标功能控件的目标测试信息,并基于目标测试信息从目标功能控件集合中筛选出待测试目标功能控件;
触发单元1103,用于触发针对待测试目标功能控件的功能测试。
在一个实施例中,确定单元1102,还用于确定目标页面与各个分组中的页面之间的相似度,其中,确定目标页面与各个分组中任意一张参照页面之间的相似度的方式包括:调用匹配模型对目标页面和参照页面进行处理,得到目标页面和参照页面之间的第一页面相似度;对目标页面中功能控件位置处进行掩膜处理,得到目标掩膜页面,并对参照页面中功能控件位置处进行掩膜处理,得到参照掩膜页面;调用匹配模型对目标掩膜页面和参照掩膜页面进行处理,得到目标掩膜页面和参照掩膜页面之间的第二页面相似度;对第一页面相似度和第二页面相似度进行运算,得到目标页面与参照页面之间的相似度。
在一个实施例中,获取单元1101,还用于获取各个分组中与目标页面之间相似度最高的待选页面;确定单元1102,还用于确定待选页面所在的待选分组,并确定出待选分组中N个页面与目标页面之间的相似度的平均值其中,其中,N为正整数;若平均值大于预设阈值,则将待选分组确定为目标页面所属的目标分组;若平均值小于预设阈值,则基于目标页面构建一个新建分组,并将新建分组确定为目标页面所属的目标分组。
在一个实施例中,确定单元1102,还用于确定目标功能控件集合与目标分组中各个页面下的功能控件集合之间的相似度,其中,确定目标功能控件集合与目标分组中任意一张参考页面下的参考功能控件集合之间的相似度方式包括:获取单元1101,还用于获取目标功能控件集合中各个目标功能控件在所述目标页面下的第一位置,确定单元1102,还用于并确定第一位置在目标页面中对应的第一图像,以及第一位置在所述参考页面中对应的第二图像;调用匹配模型对第一图像和第二图像进行处理,得到目标功能控件集合与参考功能控件集合之间的第一控件相似度;获取单元1101,还用于获取参考功能控件集合中各个参考功能控件在目标页面下的第二位置,确定单元1102,还用于并确定第二位置在目标页面中对应的第三图像,以及第二位置在参考页面中对应的第四图像;调用匹配模型对第三图像和第四图像进行处理,得到目标功能控件集合与参考功能控件集合之间的第二控件相似度;对第一控件相似度和第二控件相似度进行运算,得到目标功能控件集合与参考页面下的参考功能控件集合之间的相似度。
在一个实施例中,获取单元1101,还用于获取目标分组中与目标功能控件集合之间相似度最高的待选参考控件集合,以及待选参考控件集合对应的待选参考页面;若待选参考控件集合与所述目标功能控件集合之间的相似度大于预设相似度,则确定单元1102,还用于将待选参考页面确定为与目标页面相匹配的目标参考页面。
在一个实施例中,获取单元1101,还用于获取各个目标功能控件在目标页面中的第一像素占用信息,以及各个参考功能控件在参考页面中的第二像素占用信息;基于各个第一像素占用信息和各个第二像素占用信息,确定单元1102,还用于确定各个目标功能控件与各个参考功能控件之间的相似度;将与各个目标功能控件之间相似度最高的参考功能控件,确定为与各个目标功能控件相匹配的参考功能控件。
在一个实施例中,获取单元1101,还用于获取目标功能控件集合中各个目标功能控件的控件类型,控件类型包括遍历类和退出类,遍历类目标功能控件用于触发软件跳转到所述目标页面的子页面,退出类目标功能控件用于触发软件返回到目标页面的父页面;若目标测试信息指示目标功能控件集合中存在未被测试的遍历类目标功能控件,则将未被测试的遍历类目标功能控件确定为待测试目标功能控件;若目标测试信息指示目标功能控件集合中各个遍历类目标功能控件均已被测试,则从目标功能控件集合中筛选出未被测试的退出类目标功能控件,作为待测试目标功能控件。
在一个实施例中,图11所示的软件测试装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,基于软件测试装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
在一个实施例中,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行上述图2或图8所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图11中所示的软件测试装置,以及来实现本申请实施例的软件测试方法。所述计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于上述计算设备中,并在其中运行。
基于上述软件测试方法以及软件测试装置的实施例,本申请实施例提供一种终端设备,该终端设备可以是终端服务器。请参阅图12,图12是本申请实施例提供的一种终端设备的结构示意图。图12所示的终端设备至少可包括处理器1201、输入接口1202、输出接口1203以及存储装置1204。其中,处理器1201、输入接口1202、输出接口1203以及存储装置1204可通过总线或其他方式连接。
存储装置1204用于存储计算机程序指令,所述计算机程序指令包括程序指令,所述处理器1201用于执行所述存储装置1204存储的程序指令。处理器1201(或称CPU(CentralProcessing Unit,中央处理器))是终端设备的计算核心以及控制核心,其适于实现一条或多条指令,用来实现上述如图2和图8中相应方法的步骤。
在一个实施例中,所述处理器1201被配置调用所述程序指令,用于执行:
获取软件中的目标页面,并识别出目标页面中的各个目标功能控件,得到目标功能控件集合;
基于目标页面与各个分组中的页面之间的相似度,确定出目标页面所属的目标分组,其中,每个分组中包括历史测试的所述软件中的页面,每个分组中的各个页面之间的相似度大于预设相似度;
基于目标功能控件集合与目标分组中各个页面下的参考功能控件集合之间的相似度,从目标分组中确定出与目标页面相匹配的目标参考页面;
获取针对目标参考页面中各个参考功能控件的历史测试信息,并确定各个目标功能控件与各个参考功能控件之间的匹配关系;
基于历史测试信息和匹配关系确定针对目标功能控件集合中各个目标功能控件的目标测试信息,并基于目标测试信息从目标功能控件集合中筛选出待测试目标功能控件;
触发针对待测试目标功能控件的功能测试。
在一个实施例中,所述处理器1201被配置调用所述程序指令,用于执行:
确定目标页面与各个分组中的页面之间的相似度,其中,确定目标页面与各个分组中任意一张参照页面之间的相似度的方式包括:
调用匹配模型对目标页面和所述参照页面进行处理,得到目标页面和参照页面之间的第一页面相似度;
对目标页面中功能控件位置处进行掩膜处理,得到目标掩膜页面,并对参照页面中功能控件位置处进行掩膜处理,得到参照掩膜页面;
调用匹配模型对目标掩膜页面和参照掩膜页面进行处理,得到目标掩膜页面和参照掩膜页面之间的第二页面相似度;
对第一页面相似度和第二页面相似度进行运算,得到目标页面与参照页面之间的相似度。
在一个实施例中,所述处理器1201被配置调用所述程序指令,用于执行:
获取各个分组中与目标页面之间相似度最高的待选页面;
确定待选页面所在的待选分组,并确定出待选分组中N个页面与目标页面之间的相似度的平均值,其中,N为正整数;
若平均值大于预设阈值,则将待选分组确定为目标页面所属的目标分组;
若平均值小于预设阈值,则基于目标页面构建一个新建分组,并将新建分组确定为目标页面所属的目标分组。
在一个实施例中,所述处理器1201被配置调用所述程序指令,用于执行:
确定目标功能控件集合与目标分组中各个页面下的功能控件集合之间的相似度,其中,确定目标功能控件集合与目标分组中任意一张参考页面下的参考功能控件集合之间的相似度方式包括:
获取目标功能控件集合中各个目标功能控件在目标页面下的第一位置,并确定第一位置在目标页面中对应的第一图像,以及第一位置在参考页面中对应的第二图像;
调用匹配模型对第一图像和第二图像进行处理,得到目标功能控件集合与参考功能控件集合之间的第一控件相似度;
获取参考功能控件集合中各个参考功能控件在目标页面下的第二位置,并确定第二位置在目标页面中对应的第三图像,以及第二位置在所述参考页面中对应的第四图像;
调用匹配模型对第三图像和第四图像进行处理,得到目标功能控件集合与参考功能控件集合之间的第二控件相似度;
对第一控件相似度和第二控件相似度进行运算,得到目标功能控件集合与参考页面下的参考功能控件集合之间的相似度。
在一个实施例中,所述处理器1201被配置调用所述程序指令,用于执行:
获取目标分组中与目标功能控件集合之间相似度最高的待选参考控件集合,以及待选参考控件集合对应的待选参考页面;
若待选参考控件集合与目标功能控件集合之间的相似度大于预设相似度,则将待选参考页面确定为与目标页面相匹配的目标参考页面。
在一个实施例中,所述处理器1201被配置调用所述程序指令,用于执行:
获取各个目标功能控件在目标页面中的第一像素占用信息,以及各个参考功能控件在参考页面中的第二像素占用信息;
基于各个第一像素占用信息和各个第二像素占用信息,确定各个目标功能控件与各个参考功能控件之间的相似度;
将与各个目标功能控件之间相似度最高的参考功能控件,确定为与各个目标功能控件相匹配的参考功能控件。
在一个实施例中,所述处理器1201被配置调用所述程序指令,用于执行:
获取目标功能控件集合中各个目标功能控件的控件类型,控件类型包括遍历类和退出类,遍历类目标功能控件用于触发软件跳转到目标页面的子页面,退出类目标功能控件用于触发软件返回到目标页面的父页面;
若目标测试信息指示目标功能控件集合中存在未被测试的遍历类目标功能控件,则将未被测试的遍历类目标功能控件确定为待测试目标功能控件;
若目标测试信息指示目标功能控件集合中各个遍历类目标功能控件均已被测试,则从目标功能控件集合中筛选出未被测试的退出类目标功能控件,作为待测试目标功能控件。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述如图2或图8所示的方法实施例。其中,所述的计算机可读存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本申请的局部实施例而已,当然不能以此来限定本申请之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或局部流程,并依本申请权利要求所作的等同变化,仍属于申请所涵盖的范围。
Claims (10)
1.一种软件测试方法,其特征在于,所述方法包括:
获取软件中的目标页面,并识别出所述目标页面中的各个目标功能控件,得到目标功能控件集合;
基于所述目标页面与各个分组中的页面之间的相似度,确定出所述目标页面所属的目标分组,其中,每个分组中包括历史测试的所述软件中的页面,每个分组中的各个页面之间的相似度大于预设相似度;
基于所述目标功能控件集合与所述目标分组中各个页面下的参考功能控件集合之间的相似度,从所述目标分组中确定出与所述目标页面相匹配的目标参考页面;
获取针对所述目标参考页面中各个参考功能控件的历史测试信息,并确定所述各个目标功能控件与所述各个参考功能控件之间的匹配关系;
基于所述历史测试信息和所述匹配关系确定针对所述目标功能控件集合中各个目标功能控件的目标测试信息,并基于所述目标测试信息从所述目标功能控件集合中筛选出待测试目标功能控件;
触发针对所述待测试目标功能控件的功能测试。
2.根据权利要求1所述的方法,其特征在于,所述基于所述目标页面与各个分组中的页面之间的相似度,确定出所述目标页面所属的目标分组之前,所述方法还包括:
确定所述目标页面与各个分组中的页面之间的相似度,其中,确定所述目标页面与各个分组中任意一个参照页面之间的相似度的方式包括:
调用匹配模型对所述目标页面和所述参照页面进行处理,得到所述目标页面和所述参照页面之间的第一页面相似度;
对所述目标页面中功能控件位置处进行掩膜处理,得到目标掩膜页面,并对所述参照页面中功能控件位置处进行掩膜处理,得到参照掩膜页面;
调用匹配模型对所述目标掩膜页面和所述参照掩膜页面进行处理,得到所述目标掩膜页面和所述参照掩膜页面之间的第二页面相似度;
对所述第一页面相似度和所述第二页面相似度进行运算,得到所述目标页面与所述参照页面之间的相似度。
3.根据权利要求1所述的方法,其特征在于,所述基于所述目标页面与各个分组中的页面之间的相似度,确定出所述目标页面所属的目标分组,包括:
获取各个分组中与所述目标页面之间相似度最高的待选页面;
确定所述待选页面所在的待选分组,并确定出所述待选分组中N个页面与所述目标页面之间的相似度的平均值,所述N为正整数;
若所述平均值大于预设阈值,则将所述待选分组确定为所述目标页面所属的目标分组;
若所述平均值小于预设阈值,则基于所述目标页面构建一个新建分组,并将所述新建分组确定为所述目标页面所属的目标分组。
4.根据权利要求1所述的方法,其特征在于,所述基于所述目标功能控件集合与所述目标分组中各个页面下的参考功能控件集合之间的相似度,从所述目标分组中确定出与所述目标页面相匹配的目标参考页面之前,所述方法还包括:
确定所述目标功能控件集合与所述目标分组中各个页面下的参考功能控件集合之间的相似度,其中,确定所述目标功能控件集合与所述目标分组中任意一张参考页面下的参考功能控件集合之间的相似度方式包括:
获取所述目标功能控件集合中各个目标功能控件在所述目标页面下的第一位置,并确定所述第一位置在所述目标页面中对应的第一图像,以及所述第一位置在所述参考页面中对应的第二图像;
调用匹配模型对所述第一图像和所述第二图像进行处理,得到所述目标功能控件集合与所述参考功能控件集合之间的第一控件相似度;
获取所述参考功能控件集合中各个参考功能控件在所述目标页面下的第二位置,并确定所述第二位置在所述目标页面中对应的第三图像,以及所述第二位置在所述参考页面中对应的第四图像;
调用匹配模型对所述第三图像和所述第四图像进行处理,得到所述目标功能控件集合与所述参考功能控件集合之间的第二控件相似度;
对所述第一控件相似度和所述第二控件相似度进行运算,得到所述目标功能控件集合与所述参考页面下的参考功能控件集合之间的相似度。
5.根据权利要求1所述的方法,其特征在于,所述基于所述目标功能控件集合与所述目标分组中各个页面下的参考功能控件集合之间的相似度,从所述目标分组中确定出与所述目标页面相匹配的目标参考页面,包括:
获取所述目标分组中与所述目标功能控件集合之间相似度最高的待选参考功能控件集合,以及所述待选参考功能控件集合对应的待选参考页面;
若所述待选参考功能控件集合与所述目标功能控件集合之间的相似度大于预设相似度,则将所述待选参考页面确定为与所述目标页面相匹配的目标参考页面。
6.根据权利要求1所述的方法,其特征在于,所述确定所述各个目标功能控件与所述各个参考功能控件之间的匹配关系,包括:
获取所述各个目标功能控件在所述目标页面中的第一像素占用信息,以及所述各个参考功能控件在所述参考页面中的第二像素占用信息;
基于各个第一像素占用信息和各个第二像素占用信息,确定所述各个目标功能控件与所述各个参考功能控件之间的相似度;
将与所述各个目标功能控件之间相似度最高的参考功能控件,确定为与各个目标功能控件相匹配的参考功能控件。
7.根据权利要求1所述的方法,其特征在于,所述基于所述目标测试信息从所述目标功能控件集合中筛选出待测试目标功能控件,包括:
获取所述目标功能控件集合中各个目标功能控件的控件类型,所述控件类型包括遍历类和退出类,所述遍历类目标功能控件用于触发所述软件跳转到所述目标页面的子页面,所述退出类目标功能控件用于触发所述软件返回到所述目标页面的父页面;
若所述目标测试信息指示所述目标功能控件集合中存在未被测试的遍历类目标功能控件,则将所述未被测试的遍历类目标功能控件确定为待测试目标功能控件;
若所述目标测试信息指示所述目标功能控件集合中各个遍历类目标功能控件均已被测试,则从所述目标功能控件集合中筛选出未被测试的退出类目标功能控件,作为待测试目标功能控件。
8.一种软件测试装置,其特征在于,所述装置包括:
获取单元,用于获取软件中的目标页面,并识别出所述目标页面中的各个目标功能控件,得到目标功能控件集合;
确定单元,用于基于所述目标页面与各个分组中的页面之间的相似度,确定出所述目标页面所属的目标分组,其中,每个分组中包括历史测试的所述软件中的页面,每个分组中的各个页面之间的相似度大于预设相似度;
所述确定单元,还用于基于所述目标功能控件集合与所述目标分组中各个页面下的参考功能控件集合之间的相似度,从所述目标分组中确定出与所述目标页面相匹配的目标参考页面;
所述获取单元,还用于获取针对所述目标参考页面中各个参考功能控件的历史测试信息;
所述确定单元,还用于确定所述各个目标功能控件与所述各个参考功能控件之间的匹配关系;
所述确定单元,还用于基于所述历史测试信息和所述匹配关系确定针对所述目标功能控件集合中各个目标功能控件的目标测试信息,并基于所述目标测试信息从所述目标功能控件集合中筛选出待测试目标功能控件;
触发单元,用于触发针对所述待测试目标功能控件的功能测试。
9.一种终端设备,其特征在于,包括处理器和存储装置,所述处理器与所述存储装置相互连接,其中,所述存储装置用于存储计算机程序指令,所述处理器被配置为用于执行所述计算机程序指令,实现如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序指令,所述计算机程序指令被处理器执行时,实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110344445.1A CN113032268B (zh) | 2021-03-30 | 2021-03-30 | 软件测试方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110344445.1A CN113032268B (zh) | 2021-03-30 | 2021-03-30 | 软件测试方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113032268A CN113032268A (zh) | 2021-06-25 |
CN113032268B true CN113032268B (zh) | 2022-02-22 |
Family
ID=76452880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110344445.1A Active CN113032268B (zh) | 2021-03-30 | 2021-03-30 | 软件测试方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113032268B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114463730B (zh) * | 2021-07-15 | 2023-07-14 | 荣耀终端有限公司 | 一种页面识别方法及终端设备 |
CN115098362B (zh) * | 2022-06-16 | 2023-04-28 | 北京百度网讯科技有限公司 | 页面测试方法、装置、电子设备以及存储介质 |
CN117407888B (zh) * | 2023-12-14 | 2024-03-15 | 远江盛邦(北京)网络安全科技股份有限公司 | 单页面应用程序页面模糊测试方法、装置及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016095554A1 (zh) * | 2014-12-19 | 2016-06-23 | 广州博冠信息科技有限公司 | 应用程序的测试方法、设备及系统 |
CN108920359A (zh) * | 2018-06-06 | 2018-11-30 | 腾讯科技(成都)有限公司 | 应用程序的测试方法、装置、存储介质和电子装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7165240B2 (en) * | 2002-06-20 | 2007-01-16 | International Business Machines Corporation | Topological best match naming convention apparatus and method for use in testing graphical user interfaces |
CN105653441B (zh) * | 2014-11-21 | 2018-05-22 | 中国科学院声学研究所 | 一种ui遍历测试方法与系统 |
CN104899140B (zh) * | 2015-06-03 | 2017-08-25 | 上海斐讯数据通信技术有限公司 | 一种移动终端组件的测试方法 |
US10409712B2 (en) * | 2016-12-30 | 2019-09-10 | Accenture Global Solutions Limited | Device based visual test automation |
CN107357725B (zh) * | 2017-06-29 | 2018-09-04 | 腾讯科技(深圳)有限公司 | 应用测试方法及装置 |
CN109726132B (zh) * | 2019-01-03 | 2021-03-23 | 京东方科技集团股份有限公司 | 一种软件测试方法及软件测试自动化管理系统 |
CN111209215B (zh) * | 2020-02-24 | 2021-08-24 | 腾讯科技(深圳)有限公司 | 应用程序的测试方法、装置、计算机设备及存储介质 |
-
2021
- 2021-03-30 CN CN202110344445.1A patent/CN113032268B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016095554A1 (zh) * | 2014-12-19 | 2016-06-23 | 广州博冠信息科技有限公司 | 应用程序的测试方法、设备及系统 |
CN108920359A (zh) * | 2018-06-06 | 2018-11-30 | 腾讯科技(成都)有限公司 | 应用程序的测试方法、装置、存储介质和电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113032268A (zh) | 2021-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113032268B (zh) | 软件测试方法、装置及存储介质 | |
CN110784759B (zh) | 弹幕信息处理方法、装置、电子设备及存储介质 | |
US20230083591A1 (en) | Vector-space framework for evaluating gameplay content in a game environment | |
CN110134375B (zh) | 游戏角色行为的控制方法、装置及可读存储介质 | |
JP2018525056A (ja) | 仮想ターゲットとの相互作用を制御するための方法、装置、および記憶媒体 | |
CN112348089B (zh) | 工作状态识别方法、服务器、存储介质及装置 | |
CN110413510B (zh) | 一种数据处理方法、装置及设备 | |
KR20180009352A (ko) | 모바일 게임에 대한 데이터 처리 방법 및 장치 | |
CN110688319B (zh) | 应用保活能力测试方法及相关装置 | |
CN113050860B (zh) | 一种控件识别方法和相关装置 | |
CN109743286A (zh) | 一种基于图卷积神经网络的ip类型标记方法及设备 | |
CN112750030A (zh) | 风险模式识别方法、装置、设备及计算机可读存储介质 | |
CN115525563A (zh) | 一种测试方法、装置、计算机设备和存储介质 | |
US10397658B1 (en) | Identifying relevant gameplay content for a game environment using a vector-space framework | |
CN111298434A (zh) | 业务处理方法、装置、设备及存储介质 | |
CN112138394A (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
CN108845833A (zh) | 智能关机方法、装置及计算机可读存储介质 | |
CN111767473A (zh) | 一种对象选取方法及计算机可读存储介质 | |
CN117018629A (zh) | 数据处理方法、装置、设备、存储介质及程序产品 | |
CN113408571B (zh) | 一种基于模型蒸馏的图像分类方法、装置、存储介质及终端 | |
CN112231220B (zh) | 一种游戏测试方法和装置 | |
CN112947748A (zh) | 增强现实ar远程交互方法及其系统 | |
CN113961064A (zh) | 基于工作站的设备交互控制方法、装置、设备及存储介质 | |
CN108525297A (zh) | 动画显示方法、装置、存储介质和电子装置 | |
US20240307770A1 (en) | System and method for providing game wins and losses |
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 |