软件测试方法、装置及存储介质转让专利

申请号 : CN202110344445.1

文献号 : CN113032268B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 艾长青周大军赖勇辉张先震

申请人 : 深圳市腾讯信息技术有限公司

摘要 :

本申请实施例公开了一种软件测试方法、装置及存储介质,其中方法包括:获取软件中的目标页面,并识别出目标页面中的各个目标功能控件,基于目标页面与各个分组中的页面之间的相似度,确定出目标页面所属的目标分组;基于各个目标功能控件与目标分组中各个页面下的参考功能控件集合之间的相似度,从目标分组中确定出与目标页面相匹配的目标参考页面;基于目标参考页面中各个参考功能控件的历史测试信息和各个目标功能控件与各个参考功能控件之间的匹配关系确定针对各个目标功能控件的目标测试信息,并基于目标测试信息从各个目标功能控件中筛选出待测试目标功能控件;触发针对待测试目标功能控件的功能测试,从而可以提升软件测试效率。

权利要求 :

1.一种软件测试方法,其特征在于,所述方法包括:获取软件中的目标页面,并识别出所述目标页面中的各个目标功能控件,得到目标功能控件集合;

基于所述目标页面与各个分组中的页面之间的相似度,确定出所述目标页面所属的目标分组,其中,每个分组中包括历史测试的所述软件中的页面,每个分组中的各个页面之间的相似度大于预设相似度;

基于所述目标功能控件集合与所述目标分组中各个页面下的参考功能控件集合之间的相似度,从所述目标分组中确定出与所述目标页面相匹配的目标参考页面;

获取针对所述目标参考页面中各个参考功能控件的历史测试信息,并确定所述各个目标功能控件与所述各个参考功能控件之间的匹配关系;

基于所述历史测试信息和所述匹配关系确定针对所述目标功能控件集合中各个目标功能控件的目标测试信息,并基于所述目标测试信息从所述目标功能控件集合中筛选出待测试目标功能控件;

触发针对所述待测试目标功能控件的功能测试。

2.根据权利要求1所述的方法,其特征在于,所述基于所述目标页面与各个分组中的页面之间的相似度,确定出所述目标页面所属的目标分组之前,所述方法还包括:确定所述目标页面与各个分组中的页面之间的相似度,其中,确定所述目标页面与各个分组中任意一个参照页面之间的相似度的方式包括:调用匹配模型对所述目标页面和所述参照页面进行处理,得到所述目标页面和所述参照页面之间的第一页面相似度;

对所述目标页面中功能控件位置处进行掩膜处理,得到目标掩膜页面,并对所述参照页面中功能控件位置处进行掩膜处理,得到参照掩膜页面;

调用匹配模型对所述目标掩膜页面和所述参照掩膜页面进行处理,得到所述目标掩膜页面和所述参照掩膜页面之间的第二页面相似度;

对所述第一页面相似度和所述第二页面相似度进行运算,得到所述目标页面与所述参照页面之间的相似度。

3.根据权利要求1所述的方法,其特征在于,所述基于所述目标页面与各个分组中的页面之间的相似度,确定出所述目标页面所属的目标分组,包括:获取各个分组中与所述目标页面之间相似度最高的待选页面;

确定所述待选页面所在的待选分组,并确定出所述待选分组中N个页面与所述目标页面之间的相似度的平均值,所述N为正整数;

若所述平均值大于预设阈值,则将所述待选分组确定为所述目标页面所属的目标分组;

若所述平均值小于预设阈值,则基于所述目标页面构建一个新建分组,并将所述新建分组确定为所述目标页面所属的目标分组。

4.根据权利要求1所述的方法,其特征在于,所述基于所述目标功能控件集合与所述目标分组中各个页面下的参考功能控件集合之间的相似度,从所述目标分组中确定出与所述目标页面相匹配的目标参考页面之前,所述方法还包括:确定所述目标功能控件集合与所述目标分组中各个页面下的参考功能控件集合之间的相似度,其中,确定所述目标功能控件集合与所述目标分组中任意一张参考页面下的参考功能控件集合之间的相似度方式包括:获取所述目标功能控件集合中各个目标功能控件在所述目标页面下的第一位置,并确定所述第一位置在所述目标页面中对应的第一图像,以及所述第一位置在所述参考页面中对应的第二图像;

调用匹配模型对所述第一图像和所述第二图像进行处理,得到所述目标功能控件集合与所述参考功能控件集合之间的第一控件相似度;

获取所述参考功能控件集合中各个参考功能控件在所述目标页面下的第二位置,并确定所述第二位置在所述目标页面中对应的第三图像,以及所述第二位置在所述参考页面中对应的第四图像;

调用匹配模型对所述第三图像和所述第四图像进行处理,得到所述目标功能控件集合与所述参考功能控件集合之间的第二控件相似度;

对所述第一控件相似度和所述第二控件相似度进行运算,得到所述目标功能控件集合与所述参考页面下的参考功能控件集合之间的相似度。

5.根据权利要求1所述的方法,其特征在于,所述基于所述目标功能控件集合与所述目标分组中各个页面下的参考功能控件集合之间的相似度,从所述目标分组中确定出与所述目标页面相匹配的目标参考页面,包括:获取所述目标分组中与所述目标功能控件集合之间相似度最高的待选参考功能控件集合,以及所述待选参考功能控件集合对应的待选参考页面;

若所述待选参考功能控件集合与所述目标功能控件集合之间的相似度大于预设相似度,则将所述待选参考页面确定为与所述目标页面相匹配的目标参考页面。

6.根据权利要求1所述的方法,其特征在于,所述确定所述各个目标功能控件与所述各个参考功能控件之间的匹配关系,包括:获取所述各个目标功能控件在所述目标页面中的第一像素占用信息,以及所述各个参考功能控件在所述参考页面中的第二像素占用信息;

基于各个第一像素占用信息和各个第二像素占用信息,确定所述各个目标功能控件与所述各个参考功能控件之间的相似度;

将与所述各个目标功能控件之间相似度最高的参考功能控件,确定为与各个目标功能控件相匹配的参考功能控件。

7.根据权利要求1所述的方法,其特征在于,所述基于所述目标测试信息从所述目标功能控件集合中筛选出待测试目标功能控件,包括:获取所述目标功能控件集合中各个目标功能控件的控件类型,所述控件类型包括遍历类和退出类,所述遍历类目标功能控件用于触发所述软件跳转到所述目标页面的子页面,所述退出类目标功能控件用于触发所述软件返回到所述目标页面的父页面;

若所述目标测试信息指示所述目标功能控件集合中存在未被测试的遍历类目标功能控件,则将所述未被测试的遍历类目标功能控件确定为待测试目标功能控件;

若所述目标测试信息指示所述目标功能控件集合中各个遍历类目标功能控件均已被测试,则从所述目标功能控件集合中筛选出未被测试的退出类目标功能控件,作为待测试目标功能控件。

8.一种软件测试装置,其特征在于,所述装置包括:获取单元,用于获取软件中的目标页面,并识别出所述目标页面中的各个目标功能控件,得到目标功能控件集合;

确定单元,用于基于所述目标页面与各个分组中的页面之间的相似度,确定出所述目标页面所属的目标分组,其中,每个分组中包括历史测试的所述软件中的页面,每个分组中的各个页面之间的相似度大于预设相似度;

所述确定单元,还用于基于所述目标功能控件集合与所述目标分组中各个页面下的参考功能控件集合之间的相似度,从所述目标分组中确定出与所述目标页面相匹配的目标参考页面;

所述获取单元,还用于获取针对所述目标参考页面中各个参考功能控件的历史测试信息;

所述确定单元,还用于确定所述各个目标功能控件与所述各个参考功能控件之间的匹配关系;

所述确定单元,还用于基于所述历史测试信息和所述匹配关系确定针对所述目标功能控件集合中各个目标功能控件的目标测试信息,并基于所述目标测试信息从所述目标功能控件集合中筛选出待测试目标功能控件;

触发单元,用于触发针对所述待测试目标功能控件的功能测试。

9.一种终端设备,其特征在于,包括处理器和存储装置,所述处理器与所述存储装置相互连接,其中,所述存储装置用于存储计算机程序指令,所述处理器被配置为用于执行所述计算机程序指令,实现如权利要求1‑7任一项所述的方法。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序指令,所述计算机程序指令被处理器执行时,实现如权利要求1‑7任一项所述的方法。

说明书 :

软件测试方法、装置及存储介质

技术领域

[0001] 本申请涉及计算机技术领域,尤其涉及一种软件测试方法、装置及存储介质。

背景技术

[0002] 用户界面(User Interface,UI)自动探索是自动识别软件页面的可点击位置,持续自动测试可点击位置实现软件页面跳转,实现软件页面自动遍历。UI自动探索是软件测
试的一部分,能够帮助开发及测试人员更加深入地理解、开发、完善软件。
[0003] 目前,针对UI自动探索通常是基于随机点击、控件抓取或深度学习的方式识别UI中的功能控件,但当极为相似的两个或多个UI中某个功能控件的功能一致时,将存在功能
控件重复测试的情况,从而导致软件测试效率低。因此,如何提升软件测试效率成为了当前
的研究热点。

发明内容

[0004] 本申请实施例提供了一种软件测试方法、装置及存储介质,可以提升软件测试效率。
[0005] 一方面,本申请实施例提供了一种软件测试方法,该软件测试方法包括:
[0006] 获取软件中的目标页面,并识别出目标页面中的各个目标功能控件,得到目标功能控件集合;
[0007] 基于目标页面与各个分组中的页面之间的相似度,确定出目标页面所属的目标分组,其中,每个分组中包括历史测试的所述软件中的页面,每个分组中的各个页面之间的相
似度大于预设相似度;
[0008] 基于目标功能控件集合与目标分组中各个页面下的参考功能控件集合之间的相似度,从目标分组中确定出与目标页面相匹配的目标参考页面;
[0009] 获取针对目标参考页面中各个参考功能控件的历史测试信息,并确定各个目标功能控件与各个参考功能控件之间的匹配关系;
[0010] 基于历史测试信息和匹配关系确定针对目标功能控件集合中各个目标功能控件的目标测试信息,并基于目标测试信息从目标功能控件集合中筛选出待测试目标功能控
件;
[0011] 触发针对待测试目标功能控件的功能测试。
[0012] 另一方面,本申请实施例提供一种软件测试装置,该软件测试装置包括:
[0013] 获取单元,用于获取软件中的目标页面,并识别出目标页面中的各个目标功能控件,得到目标功能控件集合;
[0014] 确定单元,用于基于目标页面与各个分组中的页面之间的相似度,确定出目标页面所属的目标分组,其中,每个分组中包括历史测试的软件中的页面,每个分组中的各个页
面之间的相似度大于预设相似度;
[0015] 确定单元,还用于基于目标功能控件集合与目标分组中各个页面下的参考功能控件集合之间的相似度,从目标分组中确定出与目标页面相匹配的目标参考页面;
[0016] 获取单元,还用于获取针对目标参考页面中各个参考功能控件的历史测试信息;
[0017] 确定单元,还用于确定各个目标功能控件与各个参考功能控件之间的匹配关系;
[0018] 确定单元,还用于基于历史测试信息和匹配关系确定针对目标功能控件集合中各个目标功能控件的目标测试信息,并基于目标测试信息从目标功能控件集合中筛选出待测
试目标功能控件;
[0019] 触发单元,用于触发针对待测试目标功能控件的功能测试。
[0020] 另一方面,本申请实施例提供一种终端设备,包括:
[0021] 处理器和存储装置,处理器与存储装置相互连接,其中,存储装置用于存储计算机程序指令,处理器被配置用于执行计算机程序指令,实现:
[0022] 获取软件中的目标页面,并识别出目标页面中的各个目标功能控件,得到目标功能控件集合;
[0023] 基于目标页面与各个分组中的页面之间的相似度,确定出目标页面所属的目标分组,其中,每个分组中包括历史测试的所述软件中的页面,每个分组中的各个页面之间的相
似度大于预设相似度;
[0024] 基于目标功能控件集合与目标分组中各个页面下的参考功能控件集合之间的相似度,从目标分组中确定出与目标页面相匹配的目标参考页面;
[0025] 获取针对目标参考页面中各个参考功能控件的历史测试信息,并确定各个目标功能控件与各个参考功能控件之间的匹配关系;
[0026] 基于历史测试信息和匹配关系确定针对目标功能控件集合中各个目标功能控件的目标测试信息,并基于目标测试信息从目标功能控件集合中筛选出待测试目标功能控
件;
[0027] 触发针对待测试目标功能控件的功能测试。
[0028] 另一方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有程序指令,所述程序指令被处理器执行时,用于执行:
[0029] 获取软件中的目标页面,并识别出目标页面中的各个目标功能控件,得到目标功能控件集合;
[0030] 基于目标页面与各个分组中的页面之间的相似度,确定出目标页面所属的目标分组,其中,每个分组中包括历史测试的软件中的页面,每个分组中的各个页面之间的相似度
大于预设相似度;
[0031] 基于目标功能控件集合与目标分组中各个页面下的参考功能控件集合之间的相似度,从目标分组中确定出与目标页面相匹配的目标参考页面;
[0032] 获取针对目标参考页面中各个参考功能控件的历史测试信息,并确定各个目标功能控件与各个参考功能控件之间的匹配关系;
[0033] 基于历史测试信息和匹配关系确定针对目标功能控件集合中各个目标功能控件的目标测试信息,并基于目标测试信息从目标功能控件集合中筛选出待测试目标功能控
件;
[0034] 触发针对待测试目标功能控件的功能测试。
[0035] 本申请实施例中,终端设备获取目标页面,通过将目标页面与已有分组中的页面进行相似度比较,终端设备确定出目标页面所属的目标分组,然后终端设备将目标页面的
功能控件和目标分组内的页面的功能控件进行相似度比较,终端设备确定出与目标页面的
功能控件相同的参考页面以及在目标分组中与目标页面的功能控件相同的功能控件,然后
终端设备根据参考页面的功能控件的测试情况,和目标分组中与目标页面的功能控件相同
的功能控件的测试情况,筛选出需要进行测试的目标页面中的功能控件,可以避免相同的
功能控件重复测试的情况,从而在一定的软件测试时间内能够测试更多的功能控件,提高
了软件测试效率。

附图说明

[0036] 为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普
通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0037] 图1是本申请实施例提供的一种软件测试框架的示意图;
[0038] 图2是本申请实施例提供的一种软件测试方法的示意流程图;
[0039] 图3a是本申请实施例提供的一种分组1的相似页面的示意图;
[0040] 图3b是本申请实施例提供的一种分组2的相似页面的示意图;
[0041] 图3c是本申请实施例提供的一种分组3的相似页面的示意图;
[0042] 图4a是本申请实施例提供的一种同一分组中的页面存在功能控件部分不一致的示意图;
[0043] 图4b是本申请实施例提供的另一种同一分组中的页面存在功能控件不一致的示意图;
[0044] 图5是本申请实施例提供的一种终端设备建立的第一数据结构的形式示意图;
[0045] 图6是本申请实施例提供的一种终端设备建立的第二数据结构的形式示意图;
[0046] 图7是本申请实施例提供的一种终端设备筛选出待测试目标功能控件的流程示意图;
[0047] 图8是本申请实施例提供的另一种软件测试方法的示意流程图;
[0048] 图9是本申请实施例提供的一种终端设备计算目标页面和参照页面之间的相似度的示意图;
[0049] 图10是本申请实施例提供的一种终端设备从目标分组中确定出与目标页面相匹配的目标参考页面的示意图;
[0050] 图11是本申请实施例提供的一种软件测试装置的结构示意图;
[0051] 图12是本申请实施例提供的一种终端设备的结构示意图。

具体实施方式

[0052] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于
本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他
实施例,都属于本申请保护的范围。
[0053] 请参阅图1,图1是本申请实施例提供的一种软件测试框架的示意图。如图1所示,该软件测试架构中包括:客户端、人工智能(Artificial Intelligence,AI)客户端、AI SDK
(一种软件开发工具包)、SDK工具、第三方库。客户端为运行在终端设备(如手机)上的软件,
AI客户端为运行在终端设备(例如电脑)上的软件工具,客户端和AI客户端通过USB接口进
行连接通信;AI SDK为运行在终端设备中(例如远程服务器)的一种软件开发工具包,AI 
SDK通过传输控制协议(Transmission Control Protocol,TCP)或超文本传输协议
(Hypertext Transfer Protocol,HTTP)与AI客户端进行通信。在SDK工具中,包括数据标
注、插件生成、样本录制和配置生成,SDK工具主要用于与用户交互,提供可视化的集成开发
环境(Integrated Development Environment,IDE)。在第三方库中,包括Tensorflow(一种
基于数据流编程的符号数学系统)、开源的计算机视觉库(Open Source Computer Vision 
Library,OpenCV)、Tbus(一种基础组件)、ZMQ(一种过滤软件)、ProtoBuf(一种开源序列化
框架),第三方库主要用于算法的编程实现。在AI SDK中,包括AI自动化装置、场景识别装
置、管理中心、接口服务和用户界面(User Interface,UI)识别装置。在AI自动化装置中,包
括AI算法逻辑、环境交互、场景识别应用程序编程接口(Application Programming 
Interface,API)和控制API。AI算法逻辑是AI自动化探索的核心,用于实现AI自动化探索;
环境交互主要用于确定页面中的环境信息,例如游戏登录页面,存在用户账号登录时的游
戏密码输入框,环境交互便可用来识别这些输入框;场景识别API用于识别页面中的功能控
件;控制API用于控制动作,例如游戏中的人物正在运动时,控制API获取到暂停的指令,根
据指令控制API用于控制页面中的人物执行暂停的动作。在场景识别装置中,包括场景识别
算法、图像识别模型和数据配置模块,场景识别装置主要用于辅助AI自动化装置识别页面
中的信息,例如游戏场景中的人物识别,人物血条的识别。在管理中心中,包括服务管理,服
务监控和结果存储,管理中心主要用于对状态进行管理,例如,对游戏登录时的UI场景的状
态切换到进入游戏后的游戏AI场景的状态的管理,又例如,对进程的状态管理(例如识别游
戏AI场景的进程进行到什么地步)。在接口服务中,包括输入输出、数据转发、服务状态上
报,接口服务主要是用于与客户端交互的接口。在UI识别装置中,包括UI识别、UI流程控制、
脚本控制和数据配置,在非游戏场景进入到游戏AI场景这一段时间里的页面的识别为UI识
别。AI自动化装置和场景识别装置共享内存通道,场景识别装置和管理中心共享内存通道,
管理中心和接口服务共享内存通道,管理中心和UI识别装置共享内存通道,共享内存通道
主要用于实现进程之间的通信。
[0054] 在一个实施例中,UI可以指客户端中的页面。客户端的页面通过USB接口传输到AI客户端,然后AI客户端通过TCP/HTTP协议将页面传输给AI SDK,AI SDK中的AI自动化装置
获取到页面后对页面进行处理,识别出需要进行测试的功能控件,将该功能控件的位置输
出给AI SDK,由AI SDK向AI客户端输出对该功能控件的位置处的功能控件进行触屏动作的
指令,然后由AI客户端通过TCP或HTTP协议将该指令传输给客户端,客户端获取到该指令后
执行对需要进行测试的功能控件的触发操作。
[0055] 在一个实施例中,AI自动化装置获取到目标页面后对目标页面进行处理时,AI自动化获取装置识别出目标页面中的各个目标功能控件,根据目标页面和AI自动化装置之前
获取到的页面之间的相似度确定目标页面所属的目标分组,然后AI自动化装置根据各个目
标功能控件与目标分组中各个页面下的参考功能控件集合之间的相似度,从目标分组中找
到与目标页面相匹配的参考页面,根据参考页面中的各个参考功能控件的历史测试信息,
和各个目标功能控件与各个参考功能控件之间的匹配关系,从目标功能控件集合中筛选出
需要进行测试的目标功能控件。
[0056] 请参阅图2,是本申请实施例提供的一种软件测试方法的示意流程图,该软件测试方法方包括S201‑S206:
[0057] S201,终端设备获取软件中的目标页面,并识别出目标页面中的各个目标功能控件,得到目标功能控件集合。
[0058] 其中,各个目标功能控件可以理解为目标页面中的各个功能控件。
[0059] S202,终端设备基于目标页面与各个分组中的页面之间的相似度,确定出目标页面所属的目标分组。
[0060] 其中,每个分组中包括历史测试的软件中的页面,每个分组中的各个页面之间的相似度大于预设相似度。可以理解的是,在对软件进行测试前,分组中没有页面。
[0061] 在一个实施例中,软件中的多个页面的绝大部分完全一致,只有局部不一致,并且这类多个页面的大部分功能控件布局也一致,如果这类多个页面对应的功能控件的位置和
纹理一致、功能一致并且触发该功能控件后跳转到同一个页面中,这类多个页面为相似页
面,可以归为同一个分组。如图3a所示,图3a是本申请实施例提供的一种分组1的相似页面
的示意图,如图3b所示,图3b是本申请实施例提供的一种分组2的相似页面的示意图,如图
3c所示,图3c是本申请实施例提供的一种分组3的相似页面的示意图。在分组1中,两个页面
的功能控件的位置和纹理都一致,触发功能控件后跳转的页面也一致(例如触发功能控件
“设置”后都跳转到设置的页面),只是在页面中的人物不一样,分组1中的两个页面属于同
一个分组。在分组2中,两个页面的功能控件的位置和纹理都一致(例如“资讯”、“直播”、“我
的”、“竞猜”等功能控件),只是小部分页面中的人物不一致,分组2中的两个页面属于同一
个分组中。分组3中的两个页面在左边一列的功能控件的位置和纹理一致,其余的功能控件
的位置和纹理一致,触发其余的功能控件跳转的页面也是一致的,并且两个页面中大部分
的页面是一致的,分组3中的两个页面属于同一个分组。通过计算页面之间的相似度可以确
定出页面是否属于同一个分组。
[0062] 在一个实施例中,当各个分组中的页面较多时,终端设备获取各个分组中与目标页面之间相似度最高的待选页面,确定该待选页面所在的待选分组,并确定出待选分组中N
个页面与目标页面之间的相似度的平均值,若平均值大于预设阈值,则将待选分组确定为
目标页面的目标分组,若平均值小于预设阈值,则基于目标页面构建一个新建分组,并将新
建分组确定为目标页面的目标分组。可以理解的是,待选分组为所有分组中的其中一个分
组。其中,N为正整数,N的具体值可根据软件的特性进行调整,N个页面的选择可以采用随机
抽取或启发式的方式抽取。启发式的方式抽取为有一定根据的抽取,例如,终端设备计算了
目标页面和分组中各个页面的相似度,终端设备可以选择相似度最高的N个页面,或者,终
端设备按照一定相似度梯度选择N个页面。
[0063] S203,终端设备基于目标功能控件集合与目标分组中各个页面下的参考功能控件集合之间的相似度,从目标分组中确定出与目标页面相匹配的目标参考页面。
[0064] 其中,参考功能控件集合可以理解为目标分组中的任意一个页面中的功能控件的集合,目标参考页面为目标分组中的任意一个页面。
[0065] 在一个实施例中,目标页面和目标分组中的任意一个页面完全一致,则将目标页面和该页面归为同一页面,此时,该页面为与目标页面相匹配的目标参考页面,终端设备只
需要保存一个页面即可,即终端设备只需要对一个页面中的功能控件进行测试。
[0066] 在一个实施例中,当目标页面和目标分组中的任意一张页面相似度较高,但是目标页面和该页面中的功能控件大部分相同,还有少部分功能控件不相同的情况,例如,请参
阅图4a,图4a是本申请实施例提供的一种同一分组中的页面存在功能控件部分不一致的示
意图,图4a中,两个页面中的大部分功能控件一致,但其少部分功能控件处于相同位置,但
纹理不一致。又例如,请参阅图4b,图4b是本申请实施例提供的另一种同一分组中的页面存
在功能控件不一致的示意图,图4b中,两个页面中的大部分功能控件一致,但其少部分功能
控件处于相同位置,但纹理不一致。在目标页面和目标分组中的任意一个页面中的功能控
件大部分相同,还有少部分功能控件不相同的情况下,终端设备获取目标分组中与目标功
能控件集合之间相似度最高的待选参考功能控件集合,以及待选参考功能控件集合对应的
待选参考页面,若待选参考功能控件集合与目标功能控件集合之间的相似度大于预设相似
度,则将待选参考页面确定为与目标页面相匹配的目标参考页面,若待选参考控件集合与
目标功能控件集合之间的相似度小于预设相似度,则将目标页面确定为目标页面的目标参
考页面。可以理解的是,待选参考功能控件集合为目标分组中各个页面的参考功能控件集
合中选出的一个待选参考功能控件集合。
[0067] S204,终端设备获取针对目标参考页面中各个参考功能控件的历史测试信息,并确定各个目标功能控件与各个参考功能控件之间的匹配关系。
[0068] 在一个实施例中,请参阅图5,图5是本申请实施例提供的一种终端设备建立的第一数据结构的形式示意图。如图5所示,groupId表示分组的标识,scenes表示该分组下包含
的页面,SceneID为页面的标识,每个页面包含多个功能控件,buttonList表示每个页面中
的每个功能控件对应的信息描述,包括buttonId、count、nextGroupID、nextSceneID。
buttonId表示功能控件的标识,count表示测试功能控件的次数,nextGroupID表示触发功
能控件后跳转页面所属的分组的标识,nextSceneID表示触发功能控件后跳转的页面的标
识。
[0069] 在一个实施例中,请参阅图6,图6是本申请实施例提供的一种终端设备建立的第二数据结构的形式示意图,如图6所示,tableId表示功能控件在分组内的标识,x,y,w,h联
合表示功能控件的位置信息,count表示测试功能控件的次数,若在多个页面中触发了对该
功能控件的测试,功能控件的测试次数为多个页面进行测试的总次数。nextGroupId表示触
发该功能控件后跳转的页面所属的分组的标识,nextSceneId表示触发功能控件后跳转的
页面的标识,table里面包括sceneId、buttonId,其中sceneId表示的是共享该功能控件的
页面的标识,buttonId表示的是功能控件的标识,table里面是共享同一个功能控件的页面
的标识和该功能控件的标识。
[0070] 在一个实施例中,终端设备确定各个目标功能控件与各个参考功能控件之间的匹配关系,即,确定与各个目标功能控件相匹配的参考功能控件,也就是确定出目标功能控件
的相同功能控件。相同功能控件可以理解为功能控件之间的位置一致性大于预设阈值,功
能控件之间的纹理一致性(即相似度)大于预设阈值。各个参考功能控件可以理解为目标分
组中的各个功能控件,或可以理解为参考功能控件集合中的各个参考功能控件。
[0071] 在一个实施例中,终端设备获取各个目标功能控件在目标页面中的第一像素占用信息,其中,第一像素占用信息为各个目标功能控件包含的总像素数和各个目标功能控件
像素点的像素值及该像素点在目标页面中的位置;终端设备获取各个参考功能控件在所在
页面中的第二像素占用信息,其中,第二像素占用信息为各个参考功能控件包含的总像素
数和各个参考功能控件像素点的像素值及该像素点在目标参考页面中的位置。终端设备可
以采用交并比(Intersectionover Union,IOU)公式计算各个目标功能控件和各个参考功
能控件的位置一致性,位置一致性=共同包含的像素点/两个功能控件包含的总像素数,其
中,共同包含的像素点为目标功能控件和参考功能控件共同包含的像素点,共同包含的像
素点和两个功能控件包含的总像素数可以通过第一像素占用信息和第二像素占用信息得
到。然后终端设备调用匹配模型确定目标功能控件与参考功能控件之间的相似度,其中匹
配模型包括但不限于模板匹配和神经网络建模;终端设备将与各个目标功能控件之间相似
度最高的参考功能控件,确定为与各个目标功能控件相匹配的参考功能控件。例如,参考功
能控件包括参考功能控件1(即参考功能控件中标识为1的参考功能控件)、参考功能控件2
(即参考功能控件中标识为2的参考功能控件)、参考功能控件3(即参考功能控件中标识为3
的参考功能控件),参考功能控件1与目标功能控件1的相似度为98%,参考功能控件2与目
标功能控件1(即目标功能控件集合中标识为1的目标功能控件)的相似度为96%,参考功能
控件3与目标功能控件1的相似度为20%,则可以确定参考功能控件1为目标功能控件1相匹
配的参考功能控件。可以理解的是,该参考功能控件与目标功能控件之间的位置一致性大
于预设阈值,该参考功能控件与目标功能控件之间的相似度大于预设阈值。
[0072] 在一个实施例中,终端设备获取各个目标功能控件在目标页面中的第一像素占用信息;终端设备获取各个参考功能控件在目标参考页面中的第二像素占用信息。终端设备
可以采用IOU公式计算各个目标功能控件和各个参考功能控件的位置一致性,然后终端设
备调用匹配模型确定目标功能控件与参考功能控件之间的相似度,其中匹配模型包括但不
限于模板匹配和神经网络建模;终端设备将与各个目标功能控件之间相似度最高的参考功
能控件,确定为与各个目标功能控件相匹配的参考功能控件。
[0073] 在一个实施例中,终端设备在确定各个目标功能控件与各个参考功能控件之间的匹配关系后,更新第二数据结构的内容。例如,终端设备在目标分组中确定出目标功能控件
1的相同功能控件,即功能控件2(标识为2的功能控件),该功能控件2的count为1,该功能控
件2在分组内的标识为1,则在tableId为1的第二数据结构中更新table里面的内容,即在
table中添加目标页面的标识和目标功能控件1的标识。
[0074] S205,终端设备基于历史测试信息和匹配关系确定针对目标功能控件集合中各个目标功能控件的目标测试信息,并基于目标测试信息从目标功能控件集合中筛选出待测试
目标功能控件。
[0075] 在一个实施例中,终端设备根据第二数据结构可以确定功能控件的历史测试信息,功能控件的历史测试信息即第二数据结构中的功能控件的测试次数,可以确定功能控
件是否被测试过。终端设备基于历史测试信息和匹配关系确定针对目标功能控件集合中各
个目标功能控件的目标测试信息。例如,终端设备在目标分组中确定出与目标功能控件相
同的功能控件,则终端设备可以根据该功能控件的历史测试信息,即该功能控件的测试次
数确定是否对目标功能控件进行测试,若该功能控件的count为1,则表示该功能控件被测
试过,那么目标功能控件的目标测试信息指示该目标功能控件被测试过。
[0076] 在一个实施例中,终端设备获取目标功能控件集合中各个目标功能控件的控件类型,控件类型包括遍历类和退出类,遍历类目标功能控件用于触发软件跳转到目标页面的
子页面,退出类目标功能控件用于触发软件返回到目标页面的父页面;若目标测试信息指
示目标功能控件集合中存在未被测试的遍历类目标功能控件,则将未被测试的遍历类目标
功能控件确定为待测试目标功能控件;若目标测试信息指示目标功能控件集合中各个遍历
类目标功能控件均已被测试,则从目标功能控件集合中筛选出未被测试的退出类目标功能
控件,作为待测试目标功能控件。
[0077] 在一个实施例中,请参阅图7,图7是本申请实施例提供的一种终端设备筛选出待测试目标功能控件的流程示意图。如图7所示,终端设备根据第二数据结构确定目标页面中
存在没有被测试的遍历类功能控件,从没有被测试的遍历类功能控件中随机选择一个遍历
类功能控件作为待测试目标功能控件;终端设备根据第二数据结构确定目标页面中的遍历
类功能控件都已被测试,则终端设备从第二数据结构中搜索目标页面中的遍历类功能控件
对应的下一个页面中是否存在没有被测试的遍历类功能控件,如果存在,则从中随机选择
一个未被测试的遍历类功能控件作为待测试功能控件;终端设备根据第二数据结构确定目
标页面中的遍历类功能控件都已被测试,且终端设备从第二数据结构中搜索目标页面中的
遍历类功能控件对应的下一个页面中,不存在没有被测试的遍历类功能控件,则终端设备
从第二数据结构中搜索目标页面中的退出类功能控件对应的下一个页面中是否存在没有
被测试的遍历类功能控件,若存在,那么终端设备从中随机选择一个未被测试的遍历类功
能控件作为待测试功能控件;终端设备根据第二数据结构确定目标页面中的遍历类功能控
件都已被测试,且终端设备从第二数据结构中搜索目标页面中的遍历类功能控件对应的下
一个页面中,不存在没有被测试的遍历类功能控件,且终端设备从第二数据结构中搜索目
标页面中的退出类功能控件对应的下一个页面中,不存在没有被测试的遍历类功能控件,
则终端设备随机选择一个目标页面中的退出类功能控件作为待测试的目标功能控件;终端
设备根据第二数据结构确定目标页面中的遍历类功能控件都已被测试,且终端设备从第二
数据结构中搜索目标页面中的遍历类功能控件对应的下一个页面中,不存在没有被测试的
遍历类功能控件,且终端设备从第二数据结构中搜索目标页面中的退出类功能控件对应的
下一个页面中,不存在没有被测试的遍历类功能控件,且终端设备根据第二数据结构确定
目标页面中的退出类功能控件已被测试过,则终端设备根据权重随机选择一个目标页面中
权重最大的目标功能控件作为待测试的目标功能控件,其中,退出类功能控件的权重为
0.75,遍历类功能控件的权重为0.25,具体的权重可以根据软件的特性进行调整。
[0078] S206,终端设备触发针对测试目标功能控件的功能测试。
[0079] 在一个实施例中,终端设备从目标功能控件集合中筛选出待测试目标功能控件后,终端设备发送一条针对待测试目标功能控件的指令,发送该指令给客户端,以使客户端
执行针对该待测试目标功能控件的功能测试的触发操作。
[0080] 在一个实施例中,终端设备从所有页面的所有功能控件中筛选出待测试目标功能控件,终端设备发送一条针对待测试目标功能控件的指令,发送该指令给客户端,以使客户
端执行针对该待测试目标功能控件的功能测试的触发操作。
[0081] 在一个实施例中,终端设备触发针对待测试目标功能控件的功能测试后,终端设备更新第一数据结构,该待测试目标功能控件被测试后在第一数据结构中更新该待测试目
标功能控件的测试次数,即该待测试目标功能控件的测试次数加1,同时更新该待测试目标
功能控件的nextGroupID和nextSceneID,便于信息快速检索。同时,终端设备触发针对测试
目标功能控件的功能测试后,终端设备更新第二数据结构,该待测试目标功能控件被测试
后在第二数据结构中更新该待测试目标功能控件的测试次数,即该待测试目标功能控件的
测试次数加1,同时更新该待测试目标功能控件的nextGroupId和nextSceneId。
[0082] 本申请实施例中,终端设备获取到目标页面,通过将目标页面与已有分组中的页面进行相似度比较,终端设备确定出目标页面所属的目标分组,然后终端设备将目标页面
的功能控件和目标分组内的页面对应的功能控件进行相似度比较,终端设备确定出与目标
页面的功能控件相同的参考页面以及在目标分组中与目标页面的功能控件相同的功能控
件,然后终端设备根据参考页面的功能控件的测试情况,和目标分组中与目标页面的功能
控件相同的功能控件的测试情况,筛选出需要进行测试的目标页面中的功能控件,可以避
免相同的功能控件重复测试的情况,从而在一定的软件测试时间内能够测试更多的功能控
件,提高了软件测试效率。此外,本申请实施例对所有的终端软件均适用,具有广泛的普适
性,同时,本申请实施例从页面的角度出发,不需要依赖软件的底层接口便可进行软件测
试,具有很好的通用性。
[0083] 请参阅图8,图8是本申请实施例提供的另一种软件测试方法的示意流程图,该软件测试方法包括S801‑S808:
[0084] S801,终端设备获取软件中的目标页面,并识别出目标页面中的各个目标功能控件,得到目标功能控件集合。
[0085] S802,终端设备计算目标页面与各个分组中的页面之间的相似度。
[0086] 在一个实施例中,针对各个分组中任意一个参照页面,终端设备调用匹配模型对目标页面和该参照页面进行处理,得到目标页面和参照页面之间的第一页面相似度;终端
设备对目标页面中功能控件位置处进行掩膜处理,得到目标掩膜页面,并对参照页面中功
能控件位置处进行掩膜处理,得到参照掩膜页面;终端设备调用匹配模型对目标掩膜页面
和参照掩膜页面进行处理,得到目标掩膜页面和参照掩膜页面之间的第二页面相似度;终
端设备对第一页面相似度和第二页面相似度进行运算,得到目标页面与参照页面之间的相
似度。其中,参照页面为目标分组中的任意一个页面。
[0087] 在一个实施例中,终端设备对第一页面相似度和第二页面相似度进行运算时,采用加权的方式进行运算,加权系数根据软件的特性进行动态调整,例如,第一页面相似度为
0.95,第一页面相似度的加权系数为0.6,第二页面相似度为0.96,第二页面相似度的加权
系数为0.4,则目标页面与参照页面之间的相似度为0.95×0.6+0.96×0.4。
[0088] 在一个实施例中,终端设备对目标页面和各个分组中的页面调整为统一大小适中的页面,终端设备在对目标页面和各个分组中的页面进行相似度计算时,终端设备可以利
用第一数据结构,采用多线程的处理方式,也就是说,终端设备在对目标页面和各个分组中
的页面进行相似度计算时,终端设备计算目标页面和各个分组中的页面的相似度是同时进
行的。例如,终端设备计算目标页面与如图3a所示的分组1中的页面进行相似度计算时,终
端设备对目标页面和分组1中的两张页面之间的相似度计算的过程是同时进行的。
[0089] 例如,请参阅图9,图9是本申请实施例提供的一种终端设备计算目标页面和参照页面之间的相似度的示意图。如图9所示,终端设备对目标页面中的功能控件位置处进行掩
膜处理,即在功能控件“再来一次”的位置处和功能控件“返回”的位置处生成掩码,得到经
过掩膜处理后的目标页面,即目标掩膜页面。同时,终端设备对参照页面的功能控件进行掩
膜处理,即在功能控件“取消”的位置处和功能控件“确定”的位置处生成掩码,得到经过掩
膜处理后的参照页面,即参照掩膜页面。终端设备调用匹配模型对目标页面和该参照页面
进行处理计算得到目标页面和参照页面之间的第一页面相似度,终端设备调用匹配模型对
目标掩膜页面和参照掩膜页面进行处理,得到目标掩膜页面和参照掩膜页面之间的第二页
面相似度,其中,第一页面相似度和第二页面相似度的计算可以同时进行,匹配模型可以是
但不局限于模板匹配、神经网络建模。终端设备采用加权的方式对第一页面相似度和第二
页面相似度进行运算,得到目标页面和参照页面之间的相似度。
[0090] S803,终端设备基于目标页面与各个分组中的页面之间的相似度,确定出目标页面所属的目标分组。
[0091] S804,终端设备计算目标功能控件集合与目标分组中各个页面下的参考功能控件集合之间的相似度。
[0092] 在一个实施例中,终端设备获取目标功能控件集合中各个目标功能控件在目标页面下的第一位置,并确定第一位置在目标页面中对应的第一图像,以及第一位置在参考页
面中对应的第二图像;终端设备调用匹配模型对第一图像和第二图像进行处理,得到目标
功能控件集合与参考功能控件集合之间的第一控件相似度;获取参考功能控件集合中各个
参考功能控件在目标页面下的第二位置,并确定第二位置在目标页面中对应的第三图像,
以及第二位置在参考页面中对应的第四图像;终端设备调用匹配模型对第三图像和第四图
像进行处理,得到目标功能控件集合与参考功能控件集合之间的第二控件相似度。其中,参
考页面为目标分组中的任意一个页面,第一位置为各个目标功能控件在目标页面中的位
置,第二位置为各个参考功能控件在参考页面中的位置,匹配模型可以是但不局限于模板
匹配、神经网络建模。
[0093] 在一个实施例中,终端设备对第一控件相似度和第二控件相似度进行运算,得到目标功能控件集合与参考页面下的参考功能控件集合之间的相似度。
[0094] S805,终端设备基于目标功能控件集合与目标分组中各个页面下的参考功能控件集合之间的相似度,从目标分组中确定出与目标页面相匹配的目标参考页面。
[0095] 在一个实施例中,若目标功能控件集合与参考功能控件集合之间的相似度大于预设相似度,则终端设备确定出最大的相似度对应的参考功能控件集合所在的参考页面为与
目标页面相匹配的目标参考页面。
[0096] 在一个实施例中,若目标功能控件集合与参考功能控件集合之间的第一控件相似度大于预设相似度,且目标功能控件集合与参考功能控件集合之间的第二控件相似度大于
预设相似度,则终端设备确定出最大的第一控件相似度和最大的第二控件相似度对应的参
考功能控件集合所在的参考页面为与目标页面相匹配的目标参考页面。
[0097] 请参阅图10,图10是本申请实施例提供的一种终端设备从目标分组中确定出与目标页面相匹配的目标参考页面的示意图。如图10所示,目标页面的目标功能控件集合包括
功能控件“再来一次”和功能控件“返回”,目标分组中的其中一个参考页面的参考功能控件
集合包括功能控件“取消”和功能控件“确定”。终端设备获取目标页面中的各个目标功能控
件的第一位置。终端设备确定第一位置在目标页面中对应的第一图像,即功能控件“再来一
次”处的第一图像,然后终端设备确定在参考页面的第一位置处的第二图像,即如图10所示
的功能控件“再来一次”处的第一图像正对的第二图像,终端设备调用匹配模型对第一图像
和第二图像进行处理,得到目标功能控件与参考功能控件之间的第一控件相似度。终端设
备确定第一位置在目标页面中对应的第一图像,即功能控件“返回”处的第一图像,然后终
端设备确定在参考页面的第一位置处的第二图像,即如图10所示的功能控件“返回”处的第
一图像正对的第二图像,终端设备调用匹配模型对第一图像和第二图像进行处理,得到目
标功能控件集合与参考功能控件集合之间的第一控件相似度。此时,终端设备得到了目标
功能控件集合与参考功能控件集合之间的第一控件相似度。
[0098] 如图10所示,终端设备获取参考功能控件集合中各个参考功能控件在目标页面下的第二位置。终端设备确定第二位置在目标页面中对应的第三图像,即如图10所示的功能
控件“取消”处的第四图像正对的第三图像,以及确定第二位置在参考页面中的第四图像,
即功能控件“取消”处的第四图像,终端设备调用匹配模型对第三图像和第四图像进行处
理,得到目标功能控件与参考功能控件之间的第二控件相似度。终端设备确定第二位置在
目标页面中对应的第三图像,即如图10所示的功能控件“确定”处的第四图像正对的第三图
像,以及确定第二位置在参考页面中的第四图像,即功能控件“确定”处的第四图像,终端设
备调用匹配模型对第三图像和第四图像进行处理,得到目标功能控件与参考功能控件之间
的第二控件相似度。此时,终端设备得到了目标功能控件集合与参考功能控件集合之间的
第二控件相似度。在所有的第一控件相似度大于预设相似度和所有的第二控件相似度大于
预设相似度时,终端设备确定目标功能控件集合与参考功能控件集合之间的第一控件相似
度和第二控件相似度最大时的参考功能控件集合对应的参考页面为目标参考页面。
[0099] S806,终端设备获取针对目标参考页面中各个参考功能控件的历史测试信息,并确定各个目标功能控件与各个参考功能控件之间的匹配关系。
[0100] S807,终端设备基于历史测试信息和匹配关系确定针对目标功能控件集合中各个目标功能控件的目标测试信息,并基于目标测试信息从目标功能控件集合中筛选出待测试
目标功能控件。
[0101] S808,终端设备触发针对测试目标功能控件的功能测试。
[0102] 本申请实施例在跑步游戏、赛车游戏和射击游戏软件上实现,结果如表1。
[0103] 表1
[0104]
[0105]
[0106] 如表1所示,页面覆盖率为在一定测试时间内,测试功能控件后跳转的页面占软件所有页面的比例,功能控件覆盖率为在一定时间内,测试的功能控件占软件所有的功能控
件的比例。如表1所示,对比了测试时间和页面划分粒度对结果的影响,从表1来看,在页面
适中的情况下,页面覆盖率和功能控件覆盖率均有较好的表现,即有较好的软件测试效率。
[0107] 本申请实施例中,终端设备获取到目标页面,通过将目标页面与已有分组中的页面进行相似度比较,终端设备确定出目标页面所属的目标分组,然后终端设备将目标页面
的功能控件和目标分组内的页面对应的功能控件进行相似度比较,终端设备确定出与目标
页面的功能控件相同的参考页面以及在目标分组中与目标页面的功能控件相同的功能控
件,然后终端设备根据参考页面的功能控件的测试情况,和目标分组中与目标页面的功能
控件相同的功能控件的测试情况,筛选出需要进行测试的目标页面中的功能控件,可以避
免相同的功能控件重复测试的情况,从而在一定的软件测试时间内能够测试更多的功能控
件,提高了软件测试效率。此外,本申请实施例对所有的终端软件均适用,具有广泛的普适
性,同时,本申请实施例从页面的角度出发,不需要依赖软件的底层接口便可进行软件测
试,具有很好的通用性。
[0108] 基于上述的软件测试方法,本申请实施例提供了一种软件测试装置。参见图11,图11是本申请实施例提供的一种软件测试装置的结构示意图。图11所述的软件测试装置可运
行如下单元:
[0109] 获取单元1101,用于获取软件中的目标页面,并识别出目标页面中的各个目标功能控件,得到目标功能控件集合;
[0110] 确定单元1102,用于基于目标页面与各个分组中的页面之间的相似度,确定出目标页面所属的目标分组,其中,每个分组中包括历史测试的软件中的页面,每个分组中的各
个页面之间的相似度大于预设相似度;
[0111] 确定单元1102,还用于基于目标功能控件集合与目标分组中各个页面下的参考功能控件集合之间的相似度,从目标分组中确定出与目标页面相匹配的目标参考页面;
[0112] 获取单元1101,还用于获取针对目标参考页面中各个参考功能控件的历史测试信息;
[0113] 确定单元1102,还用于确定各个目标功能控件与各个参考功能控件之间的匹配关系;
[0114] 确定单元1102,还用于基于历史测试信息和匹配关系确定针对目标功能控件集合中各个目标功能控件的目标测试信息,并基于目标测试信息从目标功能控件集合中筛选出
待测试目标功能控件;
[0115] 触发单元1103,用于触发针对待测试目标功能控件的功能测试。
[0116] 在一个实施例中,确定单元1102,还用于确定目标页面与各个分组中的页面之间的相似度,其中,确定目标页面与各个分组中任意一张参照页面之间的相似度的方式包括:
调用匹配模型对目标页面和参照页面进行处理,得到目标页面和参照页面之间的第一页面
相似度;对目标页面中功能控件位置处进行掩膜处理,得到目标掩膜页面,并对参照页面中
功能控件位置处进行掩膜处理,得到参照掩膜页面;调用匹配模型对目标掩膜页面和参照
掩膜页面进行处理,得到目标掩膜页面和参照掩膜页面之间的第二页面相似度;对第一页
面相似度和第二页面相似度进行运算,得到目标页面与参照页面之间的相似度。
[0117] 在一个实施例中,获取单元1101,还用于获取各个分组中与目标页面之间相似度最高的待选页面;确定单元1102,还用于确定待选页面所在的待选分组,并确定出待选分组
中N个页面与目标页面之间的相似度的平均值其中,其中,N为正整数;若平均值大于预设阈
值,则将待选分组确定为目标页面所属的目标分组;若平均值小于预设阈值,则基于目标页
面构建一个新建分组,并将新建分组确定为目标页面所属的目标分组。
[0118] 在一个实施例中,确定单元1102,还用于确定目标功能控件集合与目标分组中各个页面下的功能控件集合之间的相似度,其中,确定目标功能控件集合与目标分组中任意
一张参考页面下的参考功能控件集合之间的相似度方式包括:获取单元1101,还用于获取
目标功能控件集合中各个目标功能控件在所述目标页面下的第一位置,确定单元1102,还
用于并确定第一位置在目标页面中对应的第一图像,以及第一位置在所述参考页面中对应
的第二图像;调用匹配模型对第一图像和第二图像进行处理,得到目标功能控件集合与参
考功能控件集合之间的第一控件相似度;获取单元1101,还用于获取参考功能控件集合中
各个参考功能控件在目标页面下的第二位置,确定单元1102,还用于并确定第二位置在目
标页面中对应的第三图像,以及第二位置在参考页面中对应的第四图像;调用匹配模型对
第三图像和第四图像进行处理,得到目标功能控件集合与参考功能控件集合之间的第二控
件相似度;对第一控件相似度和第二控件相似度进行运算,得到目标功能控件集合与参考
页面下的参考功能控件集合之间的相似度。
[0119] 在一个实施例中,获取单元1101,还用于获取目标分组中与目标功能控件集合之间相似度最高的待选参考控件集合,以及待选参考控件集合对应的待选参考页面;若待选
参考控件集合与所述目标功能控件集合之间的相似度大于预设相似度,则确定单元1102,
还用于将待选参考页面确定为与目标页面相匹配的目标参考页面。
[0120] 在一个实施例中,获取单元1101,还用于获取各个目标功能控件在目标页面中的第一像素占用信息,以及各个参考功能控件在参考页面中的第二像素占用信息;基于各个
第一像素占用信息和各个第二像素占用信息,确定单元1102,还用于确定各个目标功能控
件与各个参考功能控件之间的相似度;将与各个目标功能控件之间相似度最高的参考功能
控件,确定为与各个目标功能控件相匹配的参考功能控件。
[0121] 在一个实施例中,获取单元1101,还用于获取目标功能控件集合中各个目标功能控件的控件类型,控件类型包括遍历类和退出类,遍历类目标功能控件用于触发软件跳转
到所述目标页面的子页面,退出类目标功能控件用于触发软件返回到目标页面的父页面;
若目标测试信息指示目标功能控件集合中存在未被测试的遍历类目标功能控件,则将未被
测试的遍历类目标功能控件确定为待测试目标功能控件;若目标测试信息指示目标功能控
件集合中各个遍历类目标功能控件均已被测试,则从目标功能控件集合中筛选出未被测试
的退出类目标功能控件,作为待测试目标功能控件。
[0122] 在一个实施例中,图11所示的软件测试装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的
多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上
述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,
或者多个单元的功能由一个单元实现。在本申请的其它实施例中,基于软件测试装置也可
以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单
元协作实现。
[0123] 在一个实施例中,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行
上述图2或图8所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图
11中所示的软件测试装置,以及来实现本申请实施例的软件测试方法。所述计算机程序可
以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于上述计算设备
中,并在其中运行。
[0124] 基于上述软件测试方法以及软件测试装置的实施例,本申请实施例提供一种终端设备,该终端设备可以是终端服务器。请参阅图12,图12是本申请实施例提供的一种终端设
备的结构示意图。图12所示的终端设备至少可包括处理器1201、输入接口1202、输出接口
1203以及存储装置1204。其中,处理器1201、输入接口1202、输出接口1203以及存储装置
1204可通过总线或其他方式连接。
[0125] 存储装置1204用于存储计算机程序指令,所述计算机程序指令包括程序指令,所述处理器1201用于执行所述存储装置1204存储的程序指令。处理器1201(或称CPU(Central 
Processing Unit,中央处理器))是终端设备的计算核心以及控制核心,其适于实现一条或
多条指令,用来实现上述如图2和图8中相应方法的步骤。
[0126] 在一个实施例中,所述处理器1201被配置调用所述程序指令,用于执行:
[0127] 获取软件中的目标页面,并识别出目标页面中的各个目标功能控件,得到目标功能控件集合;
[0128] 基于目标页面与各个分组中的页面之间的相似度,确定出目标页面所属的目标分组,其中,每个分组中包括历史测试的所述软件中的页面,每个分组中的各个页面之间的相
似度大于预设相似度;
[0129] 基于目标功能控件集合与目标分组中各个页面下的参考功能控件集合之间的相似度,从目标分组中确定出与目标页面相匹配的目标参考页面;
[0130] 获取针对目标参考页面中各个参考功能控件的历史测试信息,并确定各个目标功能控件与各个参考功能控件之间的匹配关系;
[0131] 基于历史测试信息和匹配关系确定针对目标功能控件集合中各个目标功能控件的目标测试信息,并基于目标测试信息从目标功能控件集合中筛选出待测试目标功能控
件;
[0132] 触发针对待测试目标功能控件的功能测试。
[0133] 在一个实施例中,所述处理器1201被配置调用所述程序指令,用于执行:
[0134] 确定目标页面与各个分组中的页面之间的相似度,其中,确定目标页面与各个分组中任意一张参照页面之间的相似度的方式包括:
[0135] 调用匹配模型对目标页面和所述参照页面进行处理,得到目标页面和参照页面之间的第一页面相似度;
[0136] 对目标页面中功能控件位置处进行掩膜处理,得到目标掩膜页面,并对参照页面中功能控件位置处进行掩膜处理,得到参照掩膜页面;
[0137] 调用匹配模型对目标掩膜页面和参照掩膜页面进行处理,得到目标掩膜页面和参照掩膜页面之间的第二页面相似度;
[0138] 对第一页面相似度和第二页面相似度进行运算,得到目标页面与参照页面之间的相似度。
[0139] 在一个实施例中,所述处理器1201被配置调用所述程序指令,用于执行:
[0140] 获取各个分组中与目标页面之间相似度最高的待选页面;
[0141] 确定待选页面所在的待选分组,并确定出待选分组中N个页面与目标页面之间的相似度的平均值,其中,N为正整数;
[0142] 若平均值大于预设阈值,则将待选分组确定为目标页面所属的目标分组;
[0143] 若平均值小于预设阈值,则基于目标页面构建一个新建分组,并将新建分组确定为目标页面所属的目标分组。
[0144] 在一个实施例中,所述处理器1201被配置调用所述程序指令,用于执行:
[0145] 确定目标功能控件集合与目标分组中各个页面下的功能控件集合之间的相似度,其中,确定目标功能控件集合与目标分组中任意一张参考页面下的参考功能控件集合之间
的相似度方式包括:
[0146] 获取目标功能控件集合中各个目标功能控件在目标页面下的第一位置,并确定第一位置在目标页面中对应的第一图像,以及第一位置在参考页面中对应的第二图像;
[0147] 调用匹配模型对第一图像和第二图像进行处理,得到目标功能控件集合与参考功能控件集合之间的第一控件相似度;
[0148] 获取参考功能控件集合中各个参考功能控件在目标页面下的第二位置,并确定第二位置在目标页面中对应的第三图像,以及第二位置在所述参考页面中对应的第四图像;
[0149] 调用匹配模型对第三图像和第四图像进行处理,得到目标功能控件集合与参考功能控件集合之间的第二控件相似度;
[0150] 对第一控件相似度和第二控件相似度进行运算,得到目标功能控件集合与参考页面下的参考功能控件集合之间的相似度。
[0151] 在一个实施例中,所述处理器1201被配置调用所述程序指令,用于执行:
[0152] 获取目标分组中与目标功能控件集合之间相似度最高的待选参考控件集合,以及待选参考控件集合对应的待选参考页面;
[0153] 若待选参考控件集合与目标功能控件集合之间的相似度大于预设相似度,则将待选参考页面确定为与目标页面相匹配的目标参考页面。
[0154] 在一个实施例中,所述处理器1201被配置调用所述程序指令,用于执行:
[0155] 获取各个目标功能控件在目标页面中的第一像素占用信息,以及各个参考功能控件在参考页面中的第二像素占用信息;
[0156] 基于各个第一像素占用信息和各个第二像素占用信息,确定各个目标功能控件与各个参考功能控件之间的相似度;
[0157] 将与各个目标功能控件之间相似度最高的参考功能控件,确定为与各个目标功能控件相匹配的参考功能控件。
[0158] 在一个实施例中,所述处理器1201被配置调用所述程序指令,用于执行:
[0159] 获取目标功能控件集合中各个目标功能控件的控件类型,控件类型包括遍历类和退出类,遍历类目标功能控件用于触发软件跳转到目标页面的子页面,退出类目标功能控
件用于触发软件返回到目标页面的父页面;
[0160] 若目标测试信息指示目标功能控件集合中存在未被测试的遍历类目标功能控件,则将未被测试的遍历类目标功能控件确定为待测试目标功能控件;
[0161] 若目标测试信息指示目标功能控件集合中各个遍历类目标功能控件均已被测试,则从目标功能控件集合中筛选出未被测试的退出类目标功能控件,作为待测试目标功能控
件。
[0162] 本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处
理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机
设备执行上述如图2或图8所示的方法实施例。其中,所述的计算机可读存储介质可为磁碟、
光盘、只读存储记忆体(Read‑Only Memory,ROM)或随机存储记忆体(Random Access 
Memory,RAM)等。
[0163] 以上所揭露的仅为本申请的局部实施例而已,当然不能以此来限定本申请之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或局部流程,并依本申请权利
要求所作的等同变化,仍属于申请所涵盖的范围。