软件测试系统及其控制方法转让专利

申请号 : CN202111485011.X

文献号 : CN114168468B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 罗维佳宋爽吴勇朱凯李晓琳韦眉

申请人 : 广州掌动智能科技有限公司

摘要 :

本申请公开了一种软件测试系统及其控制方法,涉及测试技术和图像识别技术,包括:数据库,用于存储软件测试过程中获取的软件截图、第一画面信息,以及软件信息和测试脚本;获取单元,用于获取软件的报错画面;检索单元,用于通过所述预设模型从所述软件的报错画面中提取第二画面信息,根据所述第二画面信息在所述数据库的第一画面信息中进行匹配,将匹配得到的第一画面信息的关联信息的摘要进行排序显示,所述关联信息包括所述第一画面信息对应的软件截图、软件信息和测试脚本。本申请可以帮助用户快速查找到相关的软件信息和对应测试脚本,从而实现快速定位和复现软件错误。

权利要求 :

1.一种软件测试系统,其特征在于,包括:

数据库,用于存储软件测试过程中获取的软件截图、所述软件截图中对应的第一画面信息,以及软件截图对应软件信息和测试脚本,所述第一画面信息由预设模型从软件截图中提取;

获取单元,用于获取软件的报错画面;

检索单元,用于通过所述预设模型从所述软件的报错画面中提取第二画面信息,根据所述第二画面信息在所述数据库的第一画面信息中进行匹配,将匹配得到的第一画面信息的关联信息的摘要进行排序显示,所述关联信息包括所述第一画面信息对应的软件截图、软件信息和测试脚本;

缓存单元,用于根据排序从数据库加载所述关联信息到缓存,并根据所述关联信息中的软件信息检查本地环境中是否安装有软件信息指向的目标软件;所述缓存单元还用于,当所述本地环境中没有安装该目标软件时,根据当前的带宽和所述软件的大小确定是否缓存该目标软件;其中,当根据所述带宽和所述软件的大小确定的下载时间小于预设时间时,缓存该目标软件;

执行单元,所述执行单元根据关联信息的选择指令,从缓存单元中读取脚本并执行所述脚本,其中,所述脚本被执行时,所述执行单元显示所述脚本所操作软件界面。

2.根据权利要求1所述的一种软件测试系统,其特征在于,所述预设模型包括文字提取模型和语义向量提取模型,所述第一画面信息、第二画面信息均包括文字信息和向量信息;

所述文字提取模型用于提取输入到预设模型的图像中的文字,并从提取的文字中筛选属于预设词库中的文字作为文字信息;

所述语义向量提取模型用于将输入到预设模型的图像转换为向量信息。

3.根据权利要求2所述的一种软件测试系统,其特征在于,所述根据所述第二画面信息在所述数据库的第一画面信息中进行匹配,将匹配得到的第一画面信息的关联信息的摘要进行排序显示,具体为:将第二画面信息中的文字信息与第一画面信息中的文字信息进行匹配,将命中的第一画面信息筛选出来;

计算第二画面信息中的向量信息与筛选出来的第一画面信息的向量信息的相似度,根据所述相似度对筛选出来的第一画面信息进行排序;

将排序后的第一画面信息的关联信息的摘要进行显示。

4.根据权利要求3所述的一种软件测试系统,其特征在于,所述将第二画面信息中的文字信息与第一画面信息中的文字信息进行匹配,将命中的第一画面信息筛选出来,具体包括:将第二画面信息中的文字信息与第一画面信息中的文字信息进行匹配,其中,以文字信息中词语数量较多的作为分母,以相同的词语数量作为分子,计算第二画面信息中的文字信息与第一画面信息中的文字信息的匹配度;

将匹配度大于预设值的第一画面信息筛选出来。

5.根据权利要求4所述的一种软件测试系统,其特征在于,所述目标软件被存储在所述数据库之中,所述数据库部署在云端。

6.根据权利要求1所述的一种软件测试系统,其特征在于,所述获取单元还用于监听剪切板和复制板,当所述剪切板或者复制板中存在满足预设图片格式时,获取该图片,并弹出用于提示导入图片的弹窗;

其中,所述弹窗中包括所述剪切板或复制板中的图片的略缩图、用于提示用户是否使用该图片的信息,以及弹窗的操作按钮。

7.一种如权利要求1‑6任一项所述的软件测试系统的控制方法,其特征在于,包括以下步骤:获取软件的报错画面;

通过预设模型从所述报错画面中提取第二画面信息;

根据所述第二画面信息在所述数据库的第一画面信息中进行匹配,将匹配得到的第一画面信息的关联信息的摘要进行排序显示。

说明书 :

软件测试系统及其控制方法

技术领域

[0001] 本申请涉及测试技术及图像识别技术,特别是一种软件测试系统及其控制方法。

背景技术

[0002] 现有的软件通常会设置有报错程序,在特定的场景下,这些程序会将错误的日志上报到服务器,从而可以实现BUG的溯源定位。
[0003] 但是在部分场景中,测试人员通过其他渠道(例如用户主动上报)获得故障页面,在仅有图片和少量描述而没有更多的日志信息的情况下,难以确定错误出现的位置,也无从实施复现,导致BUG的定位工作效率低。

发明内容

[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] 图1是本申请实施例提供的一种软件测试系统的模块框图;
[0033] 图2是本申请实施例提供的一种软件测试系统的第一界面示意图;
[0034] 图3是本申请实施例提供的一种软件测试系统的第二界面示意图。

具体实施方式

[0035] 为使本申请的目的、技术方案和优点更加清楚,以下将参照本申请实施例中的附图,通过实施方式清楚、完整地描述本申请的技术方案,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0036] 参照图1,本申请实施例提供了一种软件测试系统,该软件系统包括脚本录制和脚本回放的常规功能,同时具备基于图片检索软件信息和脚本的功能,本申请实施例主要针对检索软件信息和脚本的功能进行阐述,包括数据库、获取单元、检索单元、执行单元和缓存单元。
[0037] 数据库,用于存储软件测试过程中获取的软件截图、所述软件截图中对应的第一画面信息,以及软件截图对应软件信息和测试脚本,所述第一画面信息由预设模型从软件截图中提取。
[0038] 需要理解的是,软件截图可以是录制脚本时所产生的软件截图,也可以是在执行软件测试的时候所产生的错误画面。除了这些软件截图被存储在数据库之中以外,软件截图的特征也通过特定的机器学习模型进行提取,作为软件截图对应的第一画面信息。需要理解的是,第一画面信息可以是用于表示图片语义的向量,也可以是用于表示图片中文字的文字信息,或者是其他可以表达软件截图特征的信息。在数据库中,软件截图、第一画面信息、软件信息和测试脚本被关联在一起。其中,软件信息可以是指软件名称,版本号等信息。在一些实施例中,所述目标软件被存储在所述数据库之中,所述数据库部署在云端。
[0039] 获取单元,用于获取软件的报错画面。可以理解的是,可以通过在特定界面上传相关的图片。如图2所示,如界面100所示,用户可以通过区域101添加相关的图片文件。也可以通过拖拽的方式添加图片。在部分实施例中,所述获取单元还用于监听剪切板和复制板,当所述剪切板或者复制板中存在满足预设图片格式时,获取该图片,并弹出用于提示导入图片的弹窗102;其中,所述弹窗102中包括所述剪切板或复制板中的图片的略缩图、用于提示用户是否使用该图片的信息,以及弹窗的操作按钮。在该例子之中,用户可以更加便捷地实现图片的上传。
[0040] 参照图3,检索单元,用于通过所述预设模型从所述软件的报错画面中提取第二画面信息,根据所述第二画面信息在所述数据库的第一画面信息中进行匹配,将匹配得到的第一画面信息的关联信息的摘要进行排序显示,所述关联信息包括所述第一画面信息对应的软件截图、软件信息和测试脚本。从界面200中可以看出,当使用用户上传的照片201进行检索后,可以得到区域202中的多个检索的结果。每个检索的结果都带有对应得到匹配到的软件截图的略缩图。在略缩图旁边均有相关的软件信息、对应的脚本信息等等。
[0041] 用户可以通过点击区域202中的选项,来查看相关的软件信息和测试脚本。在部分实施例中,用户可以选择一个脚本来执行。
[0042] 缓存单元,用于根据排序从数据库加载所述关联信息到缓存,并根据所述关联信息中的软件信息检查本地环境中是否安装有软件信息指向的目标软件。所述缓存单元还用于,当所述本地环境中没有安装该目标软件时,根据当前的带宽和所述软件的大小确定是否缓存该目标软件;其中,当根据所述带宽和所述软件的大小确定的下载时间小于预设时间时,缓存该目标软件。
[0043] 需要理解的是,在区域202之中,仅显示了关联信息的摘要而关联信息的本体这些关联信息相较于其摘要体积更加庞大,因此设置缓存单元,可以在用户进行选择的期间对数据本身进行加载,增加软件操作的流畅度,节省用户的操作时间。
[0044] 此外,测试设备在适用过程中可能会卸载部分软件,因此如果检测到对应的软件没有安装的情况下,会同时对软件(安装包)进行缓存,一旦用户决定执行测试的时候,可以快速完成软件的安装。当然,部分软件的体积可能较大,因此在本实施例中,根据带宽和软件的体积来判断下载大致需要的时间,并根据时间和阈值之间的大小关系确定是否要对该软件进行缓存。通过设置时间阈值,可以平衡资源和效率之间的矛盾。
[0045] 执行单元,用于根据关联信息的选择指令,从缓存单元中读取脚本并执行所述脚本,其中,所述脚本被执行时,所述执行单元显示所述脚本所操作软件界面。如前面描述的,在本实施例中,通过执行单元可以选择,具体的脚本来执行,亦可以查看软件的相关信息。
[0046] 本申请实施例通过对测试过程中产生的软件截图、软件截图提取的第一画面信息和对应的测试脚本都存储在数据库之中,当用户上传报错画面的时候,根据报错画面提取的第二画面信息,在数据库中匹配对应的第一画面信息,从而反向定位出相关报错画面所出现的软件以及相关脚本,使得测试人员可以快速根据匹配到的脚本复现报错画面或者快速通过脚本等相关信息确定出复现错误的方法。
[0047] 在一些实施例中,为了增加匹配的效率,实现较快地在海量测试数据中定位关联信息,所述预设模型包括文字提取模型和语义向量提取模型,所述第一画面信息、第二画面信息均包括文字信息和向量信息;
[0048] 所述文字提取模型用于提取输入到预设模型的图像中的文字,并从提取的文字中筛选属于预设词库中的文字作为文字信息;
[0049] 所述语义向量提取模型用于将输入到预设模型的图像转换为向量信息。
[0050] 本实施例所采用的模型由两个子模型构成,一个通过OCR技术从用户上传的图像中提取出文字,然后经过词库的筛选,得到文字信息中的特定词语。可以在词库中设置具有特别含义或者象征性含义的词语。例如,“确定”、“取消”、“网络”、“延迟”……“错误”等。例如,从一个图像中提取一个句子“发生网络中断错误”。按照词库,可以提取出“网络”和“错误”两个关键词语。
[0051] 接着,可以通过卷积神经网络将图像转换为固定长度的向量,例如可以是一个32维的向量。将图像转换成向量,可以方便图像的匹配运算。
[0052] 在一些实施例中,为了在效率和准确性上平衡,采取的策略是先匹配文字,再匹配向量。文字的匹配具有较高的确定性和准确性,当然不同图片会也可能有相同的关键词,因此结合向量匹配,可以比较准确地得出对应的软件截图。所述根据所述第二画面信息在所述数据库的第一画面信息中进行匹配,将匹配得到的第一画面信息的关联信息的摘要进行排序显示,具体为:
[0053] 将第二画面信息中的文字信息与第一画面信息中的文字信息进行匹配,将命中的第一画面信息筛选出来。本步骤具体是:将第二画面信息中的文字信息与第一画面信息中的文字信息进行匹配,其中,以文字信息中词语数量较多的作为分母,以相同的词语数量作为分子,计算第二画面信息中的文字信息与第一画面信息中的文字信息的匹配度;将匹配度大于预设值的第一画面信息筛选出来。
[0054] 例如,用户上传的图像提取得到的关键词是“确定”,“网络”,“故障”,匹配的第一画面信息对应的文字是:“确定”,“网络”,“故障”,则两者匹配程度是100%。如果匹配的第一画面信息对应的文字是:“确定”,“网络”,则两者的匹配度是2/3。如果匹配的第一画面信息对应的文字是:“确定”,“网络”,“故障”,“延迟”,则两者的匹配程度为3/4。在本实施例中,可以设置匹配度大于50%的作为筛选出来的第一画面信息。
[0055] 计算第二画面信息中的向量信息与筛选出来的第一画面信息的向量信息的相似度,根据所述相似度对筛选出来的第一画面信息进行排序。接着在本步骤中,可以采用余弦相似度计算第二画面信息的向量信息和第一画面信息的向量信息之间的相似度。并根据最后筛选出来的第一画面信息对应的相似度来排序。如果数据库中存在用户上传的画面,则通过本方法可以相对高效和准确地提取出来。
[0056] 最后,将得到的结果进行排序,即将排序后的第一画面信息的关联信息的摘要进行显示。其中,根据相似度进行降序排列。
[0057] 本实施例公开了一种前面所描述的软件测试系统的控制方法,包括以下步骤:
[0058] 获取软件的报错画面;
[0059] 通过预设模型从所述报错画面中提取第二画面信息;
[0060] 根据所述第二画面信息在所述数据库的第一画面信息中进行匹配,将匹配得到的第一画面信息的关联信息的摘要进行排序显示。
[0061] 本申请实施例通过对测试过程中产生的软件截图、软件截图提取的第一画面信息和对应的测试脚本都存储在数据库之中,当用户上传报错画面的时候,根据报错画面提取的第二画面信息,在数据库中匹配对应的第一画面信息,从而反向定位出相关报错画面所出现的软件以及相关脚本,使得测试人员可以快速根据匹配到的脚本复现报错画面或者快速通过脚本等相关信息确定出复现错误的方法。
[0062] 注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。