测试方法、装置及存储介质与流程

文档序号:30701250发布日期:2022-07-09 19:52阅读:82来源:国知局
测试方法、装置及存储介质与流程

1.本技术涉及软件测试技术领域,尤其涉及一种测试方法、装置及存储介质。


背景技术:

2.软件测试是软件开发过程中必不可少的环节,其目的是发现软件中潜伏的缺陷,减少软件开发及维护成本,促进软件质量的提升。
3.随着科技的发展,软件测试越来越趋于自动化,自动化测试通常是通过软件测试工具按照一定的测试脚本对软件的各项功能进行测试操作。
4.但是,现有在对软件的拍照功能进行自动化测试时,常常出现测试出错的情况,例如由于光线给拍摄的图像带来明暗差异或者色彩差异等,导致测试结果存在一定的误差,降低自动化测试的准确率。


技术实现要素:

5.本技术实施例提供了一种测试方法、装置及存储介质,以解决现有在对软件的拍照功能进行自动化测试时,常常出现测试出错的问题。
6.第一方面,本技术实施例提供了一种测试方法,应用于服务器,所述方法包括:根据预设测试脚本,发送第一拍照指令至第一应用程序,所述第一拍照指令用于指示所述第一应用程序执行所述第一拍照指令,获得第一图像,并将所述第一图像返回所述服务器;根据所述预设测试脚本,发送第二拍照指令至第二应用程序,所述第二拍照指令用于指示所述第二应用程序执行所述第二拍照指令,获得第二图像,并将所述第二图像返回所述服务器,其中,所述第一应用程序与所述第二应用程序对应的拍照参数相同,所述第一应用程序和所述第二应用程序为安装在设备上的同一应用程序;将所述第一图像和所述第二图像进行比较,确定所述第二图像与所述第一图像的相似度;根据所述相似度,判断所述第一应用程序和/或所述第二应用程序的拍照功能是否正常。
7.在一种可能的实现方式中,所述根据所述相似度,判断所述第一应用程序和/或所述第二应用程序的拍照功能是否正常,包括:获取预存的相似度阈值,将所述相似度与所述相似度阈值进行比较;若所述相似度大于所述相似度阈值,则判断所述第一应用程序的拍照功能正常,且判断所述第二应用程序的拍照功能正常。
8.在一种可能的实现方式中,所述第一应用程序为已知的拍照功能正常的应用程序;在所述将所述相似度与所述相似度阈值进行比较之后,还包括:若所述相似度小于或等于所述相似度阈值,则判断所述第二应用程序的拍照功能
异常。
9.在一种可能的实现方式中,所述将所述第一图像和所述第二图像进行比较,确定所述第二图像与所述第一图像的相似度,包括:将所述第一图像和所述第二图像输入预设相似度模型,所述预设相似度模型用于确定图像之间的相似度;根据所述预设相似度模型的输出,确定所述第二图像与所述第一图像的相似度。
10.在一种可能的实现方式中,在所述将所述第一图像和所述第二图像输入预设相似度模型之前,还包括:将多个图像输入所述预设相似度模型,得到所述多个图像之间的相似度预测值;根据所述多个图像之间的相似度预测值、所述多个图像之间的相似度参考值和预设损失函数,调整所述预设相似度模型的模型参数。
11.在一种可能的实现方式中,所述根据预设测试脚本,发送第一拍照指令至第一应用程序,包括:根据所述预设测试脚本,发送所述第一拍照指令至所述第一应用程序,所述第一拍照指令用于指示所述第一应用程序根据所述第一拍照指令,从预设配置文件中存储的用户界面(user interface,ui)控件的属性值中获取目标ui控件的属性值,并将所述目标ui控件的属性值与所述第一应用程序的待测页面下的ui控件的属性值进行匹配,确定所述第一应用程序的待测页面下适配的ui控件,基于所述适配的ui控件,执行所述第一拍照指令,获得所述第一图像,将所述第一图像返回所述服务器。
12.在一种可能的实现方式中,在所述根据预设测试脚本,发送第一拍照指令至第一应用程序之前,还包括:连接所述第一应用程序所在的设备和所述第二应用程序所在的设备;所述根据预设测试脚本,发送第一拍照指令至第一应用程序,包括:通过接口或者设备标识切换到所述第一应用程序所在的设备,根据所述预设测试脚本,发送所述第一拍照指令至所述第一应用程序。
13.第二方面,本技术实施例提供了另一种测试方法,应用于第一应用程序,所述方法包括:接收服务器发送的第一拍照指令;执行所述第一拍照指令,获得第一图像;将所述第一图像返回所述服务器,以使所述服务器将所述第一图像和第二图像进行比较,确定所述第二图像与所述第一图像的相似度,其中,所述第二图像为第二应用程序接收所述服务器发送的第二拍照指令,执行所述第二拍照指令,获得的第二图像,所述第一应用程序与所述第二应用程序对应的拍照参数相同,所述第一应用程序和所述第二应用程序为安装在设备上的同一应用程序;根据所述相似度,判断所述第一应用程序和/或所述第二应用程序的拍照功能是否正常。
14.在一种可能的实现方式中,所述执行所述第一拍照指令,获得第一图像,包括:根据所述第一拍照指令,从预设配置文件中存储的ui控件的属性值中获取目标ui控件的属性值;将所述目标ui控件的属性值与所述第一应用程序的待测页面下的ui控件的属性
值进行匹配,确定所述第一应用程序的待测页面下适配的ui控件;基于所述适配的ui控件,执行所述第一拍照指令,获得所述第一图像。
15.第三方面,本技术实施例提供了一种测试装置,应用于服务器,所述装置包括:第一发送模块,用于根据预设测试脚本,发送第一拍照指令至第一应用程序,所述第一拍照指令用于指示所述第一应用程序执行所述第一拍照指令,获得第一图像,并将所述第一图像返回所述服务器;第二发送模块,用于根据所述预设测试脚本,发送第二拍照指令至第二应用程序,所述第二拍照指令用于指示所述第二应用程序执行所述第二拍照指令,获得第二图像,并将所述第二图像返回所述服务器,其中,所述第一应用程序与所述第二应用程序对应的拍照参数相同,所述第一应用程序和所述第二应用程序为安装在设备上的同一应用程序;比较模块,用于将所述第一图像和所述第二图像进行比较,确定所述第二图像与所述第一图像的相似度;判断模块,用于根据所述相似度,判断所述第一应用程序和/或所述第二应用程序的拍照功能是否正常。
16.在一种可能的实现方式中,所述判断模块,具体用于:获取预存的相似度阈值,将所述相似度与所述相似度阈值进行比较;若所述相似度大于所述相似度阈值,则判断所述第一应用程序的拍照功能正常,且判断所述第二应用程序的拍照功能正常。
17.在一种可能的实现方式中,所述第一应用程序为已知的拍照功能正常的应用程序;所述判断模块,具体用于:若所述相似度小于或等于所述相似度阈值,则判断所述第二应用程序的拍照功能异常。
18.在一种可能的实现方式中,所述比较模块,具体用于:将所述第一图像和所述第二图像输入预设相似度模型,所述预设相似度模型用于确定图像之间的相似度;根据所述预设相似度模型的输出,确定所述第二图像与所述第一图像的相似度。
19.在一种可能的实现方式中,所述比较模块,还用于:将多个图像输入所述预设相似度模型,得到所述多个图像之间的相似度预测值;根据所述多个图像之间的相似度预测值、所述多个图像之间的相似度参考值和预设损失函数,调整所述预设相似度模型的模型参数。
20.在一种可能的实现方式中,所述第一发送模块,具体用于:根据所述预设测试脚本,发送所述第一拍照指令至所述第一应用程序,所述第一拍照指令用于指示所述第一应用程序根据所述第一拍照指令,从预设配置文件中存储的ui控件的属性值中获取目标ui控件的属性值,并将所述目标ui控件的属性值与所述第一应用程序的待测页面下的ui控件的属性值进行匹配,确定所述第一应用程序的待测页面下适配的ui控件,基于所述适配的ui控件,执行所述第一拍照指令,获得所述第一图像,将所述第一图像返回所述服务器。
21.在一种可能的实现方式中,所述第一发送模块,具体用于:
连接所述第一应用程序所在的设备和所述第二应用程序所在的设备;通过接口或者设备标识切换到所述第一应用程序所在的设备,根据所述预设测试脚本,发送所述第一拍照指令至所述第一应用程序。
22.第四方面,本技术实施例提供了另一种测试装置,应用于第一应用程序,所述装置包括:接收模块,用于接收服务器发送的第一拍照指令;执行模块,用于执行所述第一拍照指令,获得第一图像;返回模块,用于将所述第一图像返回所述服务器,以使所述服务器将所述第一图像和第二图像进行比较,确定所述第二图像与所述第一图像的相似度,其中,所述第二图像为第二应用程序接收所述服务器发送的第二拍照指令,执行所述第二拍照指令,获得的第二图像,所述第一应用程序与所述第二应用程序对应的拍照参数相同,所述第一应用程序和所述第二应用程序为安装在设备上的同一应用程序;根据所述相似度,判断所述第一应用程序和/或所述第二应用程序的拍照功能是否正常。
23.在一种可能的实现方式中,所述执行模块,具体用于:根据所述第一拍照指令,从预设配置文件中存储的ui控件的属性值中获取目标ui控件的属性值;将所述目标ui控件的属性值与所述第一应用程序的待测页面下的ui控件的属性值进行匹配,确定所述第一应用程序的待测页面下适配的ui控件;基于所述适配的ui控件,执行所述第一拍照指令,获得所述第一图像。
24.第五方面,本技术实施例提供一种服务器,包括:处理器;存储器;以及计算机程序;其中,所述计算机程序被存储在所述存储器中,并且被配置为由所述处理器执行,所述计算机程序包括用于执行如第一方面所述的方法的指令。
25.第六方面,本技术实施例提供一种设备,包括:处理器;存储器;以及计算机程序;其中,所述计算机程序被存储在所述存储器中,并且被配置为由所述处理器执行,所述计算机程序包括用于执行如第二方面所述的方法的指令。
26.第七方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序使得服务器执行第一方面所述的方法。
27.第八方面,本技术实施例提供另一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序使得服务器执行第二方面所述的方法。
28.第九方面,本技术实施例提供一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行第一方面所述的方法。
29.第十方面,本技术实施例提供另一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行第二方面所述的方法。
30.本技术实施例提供的测试方法、装置及存储介质,通过服务器基于预设测试脚本,分别发送拍照指令给第一应用程序和第二应用程序进行拍照,获得第一图像和第二图像,其中,上述第一应用程序与第二应用程序对应的拍照参数相同,上述第一应用程序和第二应用程序为安装在设备上的同一应用程序,进而,将第一图像和第二图像进行比较,确定两个图像的相似度,从而,根据该相似度,判断上述第一应用程序和/或第二应用程序的拍照功能是否正常,降低了在对软件的拍照功能进行自动化测试时,外界的干扰影响等,提高了自动化测试的准确率。
附图说明
31.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
32.图1为本技术实施例提供的测试系统架构示意图;图2为本技术一个实施例提供的测试方法的流程图;图3为本技术另一个实施例提供的测试方法的流程图;图4为本技术再一个实施例提供的测试方法的流程图;图5为本技术一个实施例提供的测试装置的结构示意图;图6为本技术另一个实施例提供的测试装置的结构示意图;图7a为本技术实施例提供的一种服务器的基本硬件架构示意图;图7b为本技术实施例提供的一种设备的基本硬件架构示意图。
33.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
34.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
35.相关技术中,自动化测试一般都适用于需求变动不频繁、项目周期长、重复性高的场景,可节省人力、时间、资源,提高效率,完成一些人工不易控制的工作。但是在对软件的拍照功能进行自动化测试时,很难智能的对图像进行分析,例如由于光线给拍摄图像带来的明暗差异或者色彩差异等,这些差异势必会导致测试结果存在一定的误差,降低自动化测试的准确率。
36.为了解决上述问题,本技术实施例提出一种测试方法,通过获取两个应用程序拍摄的图像,其中,这两个应用程序对应的拍照参数相同,这两个应用程序为安装在设备上的同一应用程序,进而,比较拍摄的两个图像,确定两个图像的相似度,并基于该相似度,判断上述两个应用程序的拍照功能是否正常,解决现有在对软件的拍照功能进行自动化测试时,常常出现测试出错的问题。
37.可选地,本技术提供的一种测试方法,可以适用于图1所示的测试系统架构示意
图,如图1所示,该系统可以包括服务器101、第一设备102和第二设备103。其中,第一设备102和第二设备103的性能相同,例如同为某一型号的手机。第一设备102上安装有第一应用程序,第二设备103上安装有第二应用程序。这里,上述第一应用程序和第二应用程序为安装在设备上的同一应用程序,如同为某款具有拍照功能的应用程序。
38.在具体实现过程中,服务器101分别发送拍照指令至上述第一设备102上的第一应用程序和上述第二设备103上的第二应用程序。上述第一应用程序基于上述拍照指令拍照,并将拍摄的图像返回服务器101,同理,上述第二应用程序基于上述拍照指令拍照,也将拍摄的图像返回服务器101。服务器101在接收到上述第一应用程序和第二应用程序返回的图像后,将两个图像进行比较,确定两个图像的相似度,进而,基于该相似度,确定上述第一应用程序和/或第二应用程序的拍照功能是否正常。其中,上述第一应用程序与第二应用程序对应的拍照参数相同,该拍照参数可以包括拍照对象、拍照时间、拍照角度等。
39.这里,上述服务器101考虑到如果两个应用程序的拍照功能均正常,那么确定的上述两个图像的相似度会比较大,因此可以基于上述两个图像的相似度,确定上述第一应用程序和/或第二应用程序的拍照功能是否正常,提高了自动化测试的准确率。
40.应理解,上述系统仅为一种示例性系统,具体实施时,可以根据应用需求设置。
41.可以理解的是,本技术实施例示意的结构并不构成对测试系统架构的具体限定。在本技术另一些可行的实施方式中,上述架构可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置,具体可根据实际应用场景确定,在此不做限制。图1所示的部件可以以硬件,软件,或软件与硬件的组合实现。
42.另外,本技术实施例描述的系统架构是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
43.下面以几个实施例为例对本技术的技术方案进行描述,对于相同或相似的概念或过程可能在某些实施例不再赘述。
44.图2为本技术实施例提供的一种测试方法的流程示意图,本实施例的执行主体可以为图1中的服务器,具体执行主体可以根据实际应用场景确定,本技术实施例对此不做特别限制。如图2所示,本技术实施例提供的测试方法可以包括如下步骤:s201:根据预设测试脚本,发送第一拍照指令至第一应用程序,第一拍照指令用于指示上述第一应用程序执行第一拍照指令,获得第一图像,并将第一图像返回服务器。
45.其中,上述预设测试脚本可以根据实际情况确定,例如上述预设测试脚本包括点击启动按钮启动第一应用程序,再点击拍照按钮进行拍照的描述。
46.这里,上述服务器在根据上述预设测试脚本,发送第一拍照指令至第一应用程序之前,还可以先连接第一应用程序所在的设备和第二应用程序所在的设备,然后通过接口(如预设的set_current接口)或者设备标识(如设备序列号)切换到第一应用程序所在的设备,从而,执行上述根据上述预设测试脚本,发送第一拍照指令至第一应用程序的步骤。如果第一应用程序所在的设备与第二应用程序所在的设备不同,上述服务器也可以通过接口或者设备标识切换到第二应用程序所在的设备,执行根据上述预设测试脚本,发送第二拍照指令至第二应用程序的步骤,简单方便,从而,加快测试速度,提高测试效率。
47.在本技术实施例中,上述服务器可以根据上述预设测试脚本,发送第一拍照指令至第一应用程序,以使第一应用程序根据上述第一拍照指令,从预设配置文件中存储的ui控件的属性值中获取目标ui控件的属性值,并将该目标ui控件的属性值与第一应用程序的待测页面下的ui控件的属性值进行匹配,确定第一应用程序的待测页面下适配的ui控件,基于该适配的ui控件,执行上述第一拍照指令,获得第一图像,将第一图像返回上述服务器。
48.这里,上述配置文件用于存储ui控件的属性信息,第一应用程序把从配置文件中提取出来的目标ui控件的属性值,与待测页面存在的ui控件进行匹配,借助配置文件存储的控件信息,方便脚本调用,同时借助控件属性值进行精准的控件定位,有效地解决页面图像变化时导致无法查找到控件的问题。而且,当控件信息发生变化时,只需要维护配置文件即可,不仅节省人力和时间,还能有效降低维护成本,提高脚本有效性和可靠性。
49.另外,上述预设测试脚本可以预先部署在服务器上,服务器可以设置脚本的执行在服务器资源空闲时期,不会在工作时间占用服务器资源,满足实际应用需要。
50.s202:根据上述预设测试脚本,发送第二拍照指令至第二应用程序,第二拍照指令用于指示第二应用程序执行第二拍照指令,获得第二图像,并将第二图像返回服务器。
51.其中,上述第一应用程序与第二应用程序对应的拍照参数相同,上述第一应用程序和第二应用程序为安装在设备上的同一应用程序。
52.这里,上述拍照参数可以包括拍照对象、拍照时间、拍照角度等。
53.示例性的,上述根据预设测试脚本,发送第二拍照指令至第二应用程序,可以包括:根据上述预设测试脚本,发送第二拍照指令至第二应用程序,以使第二应用程序根据上述第二拍照指令,从预设配置文件中存储的ui控件的属性值中获取目标ui控件的属性值,并将该目标ui控件的属性值与第二应用程序的待测页面下的ui控件的属性值进行匹配,确定第二应用程序的待测页面下适配的ui控件,基于该适配的ui控件,执行上述第二拍照指令,获得第二图像,将第二图像返回上述服务器。
54.s203:将上述第一图像和第二图像进行比较,确定上述第二图像与第一图像的相似度。
55.在本技术实施例中,上述服务器在将上述第一图像和第二图像进行比较时,可以将上述第一图像和第二图像输入预设相似度模型,该预设相似度模型用于确定图像之间的相似度,进而,根据上述预设相似度模型的输出,简单准确地确定出上述第二图像与第一图像的相似度,提高后续处理结果的准确性,也加快了软件测试效率。
56.其中,上述预设相似度模型为预先训练好的,用于确定图像之间的相似度的模型。这里,在对上述预设相似度模型进行训练时,上述服务器可以将多个图像输入初始相似度模型,得到上述多个图像之间的相似度预测值,从而,根据上述多个图像之间的相似度预测值和上述多个图像之间的相似度参考值,调整上述初始相似度模型的模型参数,得到训练好的上述预设相似度模型。例如上述服务器可以调整上述初始相似度模型的模型参数,使得上述多个图像之间的相似度预测值与上述多个图像之间的相似度参考值的差值绝对值低于预设阈值,该预设阈值可以根据实际情况确定,例如10%。另外,上述多个图像可以是多个应用程序拍摄的,该多个应用程序对应的拍照参数相同,该多个应用程序为安装在设备上的同一应用程序。
57.s204:根据上述相似度,判断上述第一应用程序和/或第二应用程序的拍照功能是否正常。
58.示例性的,上述服务器可以获取预存的相似度阈值,将上述相似度与上述相似度阈值进行比较,如果上述相似度大于上述相似度阈值,则判断上述第一应用程序的拍照功能正常,且判断上述第二应用程序的拍照功能正常。
59.这里,本技术实施例考虑到在上述第一应用程序和第二应用程序的拍照功能均正常,两个应用程序拍摄的图像的相似度会比较大,因此可以基于上述两个图像的相似度,确定上述第一应用程序和/或第二应用程序的拍照功能是否正常,从而提高自动化测试的准确率。
60.其中,上述相似度阈值可以根据实际情况设置,例如根据上述第一应用程序和第二应用程序的拍照功能均正常时拍摄的图像的相似度设置。
61.在本技术实施例中,为了进一步提高软件测试结果的准确性,上述服务器可以将已知的拍照功能正常的应用程序作为上述第一应用程序或第二应用程序,从而,其它待测应用程序拍摄的图像与已知的拍照功能正常的应用程序进行比较,确定图像之间的相似度,并基于该相似度,确定上述待测应用程序的拍照功能是否正常。例如,上述图像之间的相似度大于上述相似度阈值,则上述服务器可以判断上述待测应用程序的拍照功能正常。其中,上述待测应用程序与上述已知的拍照功能正常的应用程序对应的拍照参数相同,上述待测应用程序与上述已知的拍照功能正常的应用程序为安装在设备上的同一应用程序。
62.可选地,第一应用程序为已知的拍照功能正常的应用程序,上述服务器将上述第二图像与所述第一图像的相似度与上述相似度阈值进行比较,如果上述相似度大于上述相似度阈值,则判断上述第二应用程序的拍照功能正常,如果上述相似度小于或等于上述相似度阈值,则判断上述第二应用程序的拍照功能异常。
63.另外,上述服务器还可以基于上述第一应用程序和/或第二应用程序的拍照功能是否正常的判断结果,生成测试报告,并将该测试报告发送至预设人员,以使预设人员及时了解相关的软件测试结果,基于该结果进行相应处理。
64.本技术实施例通过服务器基于预设测试脚本,分别发送拍照指令给第一应用程序和第二应用程序进行拍照,获得第一图像和第二图像,其中,上述第一应用程序与第二应用程序对应的拍照参数相同,上述第一应用程序和第二应用程序为安装在设备上的同一应用程序,进而,将第一图像和第二图像进行比较,确定两个图像的相似度,从而,根据该相似度,判断上述第一应用程序和/或第二应用程序的拍照功能是否正常,降低了在对软件的拍照功能进行自动化测试时,外界的干扰影响等,提高了自动化测试的准确率。
65.另外,上述图2从服务器端说明了测试方法的流程,图3给出了从另一端,即第一应用程序对应的测试方法的流程。这里,第二应用程序对应的测试方法的流程参照第一应用程序对应的测试方法的流程,第一应用程序与第二应用程序对应的拍照参数相同,第一应用程序和第二应用程序为安装在设备上的同一应用程序。图3为本技术实施例提供了另一种测试方法的流程示意图,其中相关描述参见图2,此处不再赘述,如图3所示,该方法可以包括:s301:接收服务器发送的第一拍照指令。
66.这里,上述服务器可以根据预设测试脚本,发送第一拍照指令至第一应用程序。第
一应用程序接收上述第一拍照指令,执行上述第一拍照指令,获得第一图像,并将第一图像返回服务器。
67.s302:执行上述第一拍照指令,获得第一图像。
68.示例性的,第一应用程序可以根据上述第一拍照指令,从预设配置文件中存储的ui控件的属性值中获取目标ui控件的属性值,进而,将该目标ui控件的属性值与第一应用程序的待测页面下的ui控件的属性值进行匹配,确定第一应用程序的待测页面下适配的ui控件,从而,基于该适配的ui控件,执行上述第一拍照指令,获得第一图像。
69.这里,上述配置文件用于存储ui控件的属性信息,第一应用程序把从配置文件中提取出来的目标ui控件的属性值,与待测页面存在的ui控件进行匹配,借助配置文件存储的控件信息,方便脚本调用,同时借助控件属性值进行精准的控件定位,有效地解决页面图像变化时导致无法查找到控件的问题。而且,当控件信息发生变化时,只需要维护配置文件即可,不仅节省人力和时间,还能有效降低维护成本,提高脚本有效性和可靠性。
70.s303:将上述第一图像返回服务器,以使服务器将上述第一图像和第二图像进行比较,确定第二图像与第一图像的相似度,其中,上述第二图像为第二应用程序接收服务器发送的第二拍照指令,执行该第二拍照指令,获得的第二图像;根据上述相似度,判断上述第一应用程序和/或第二应用程序的拍照功能是否正常。
71.在本技术实施例中,上述服务器可以将上述第一图像和第二图像输入预设相似度模型,该预设相似度模型用于确定图像之间的相似度,进而,根据上述预设相似度模型的输出,确定上述第二图像与第一图像的相似度。
72.进一步地,上述服务器在根据上述相似度,判断上述第一应用程序和/或第二应用程序的拍照功能是否正常时,可以获取预存的相似度阈值,并将上述相似度与上述相似度阈值进行比较,如果上述相似度大于上述相似度阈值,则判断上述第一应用程序的拍照功能正常,且判断上述第二应用程序的拍照功能正常。
73.另外,第一应用程序可以为已知的拍照功能正常的应用程序,上述服务器将上述第二图像与所述第一图像的相似度与上述相似度阈值进行比较,如果上述相似度大于上述相似度阈值,则判断上述第二应用程序的拍照功能正常,如果上述相似度小于或等于上述相似度阈值,则判断上述第二应用程序的拍照功能异常。
74.本技术实施例通过确定两个应用程序拍摄的图像的相似度,其中,这两个应用程序对应的拍照参数相同,这两个应用程序为安装在设备上的同一应用程序,进而,基于该相似度,判断上述两个应用程序的拍照功能是否正常,解决现有在对软件的拍照功能进行自动化测试时,常常出现测试出错的问题。
75.这里,如图4所示,图4给出再一种测试方法的流程示意图,从上述服务器、第一应用程序和第二应用程序交互说明上述测试的流程,其中,相关描述参见图2和图3,此处不再赘述。
76.这里,上述第一应用程序与第二应用程序对应的拍照参数相同,上述第一应用程序和第二应用程序为安装在设备上的同一应用程序。其中,上述拍照参数可以包括拍照对象、拍照时间、拍照角度等。
77.s401:服务器根据预设测试脚本,发送第一拍照指令至第一应用程序,并根据上述预设测试脚本,发送第二拍照指令至第二应用程序。
78.其中,服务器在发送第一拍照指令至第一应用程序之前,可以连接第一应用程序所在的设备和第二应用程序所在的设备,然后,通过接口或者设备标识切换到上述第一应用程序所在的设备,从而,根据上述预设测试脚本,发送上述第一拍照指令至上述第一应用程序。
79.同理,上述服务器也可以通过接口或者设备标识切换到第二应用程序所在的设备,执行根据上述预设测试脚本,发送第二拍照指令至第二应用程序的步骤,简单方便,从而,加快测试速度,提高测试效率。
80.s402:第一应用程序执行上述第一拍照指令,获得第一图像。
81.这里,第一应用程序可以根据上述第一拍照指令,从预设配置文件中存储的ui控件的属性值中获取目标ui控件的属性值,并将该目标ui控件的属性值与第一应用程序的待测页面下的ui控件的属性值进行匹配,确定第一应用程序的待测页面下适配的ui控件,基于该适配的ui控件,执行上述第一拍照指令,获得第一图像,将第一图像返回上述服务器。
82.其中,上述配置文件用于存储ui控件的属性信息,第一应用程序把从配置文件中提取出来的目标ui控件的属性值,与待测页面存在的ui控件进行匹配,借助配置文件存储的控件信息,方便脚本调用,同时借助控件属性值进行精准的控件定位,有效地解决页面图像变化时导致无法查找到控件的问题。而且,当控件信息发生变化时,只需要维护配置文件即可,不仅节省人力和时间,还能有效降低维护成本,提高脚本有效性和可靠性。
83.s403:第一应用程序将上述第一图像返回服务器。
84.s404:第二应用程序执行上述第二拍照指令,获得第二图像。
85.s405:第二应用程序将上述第二图像返回服务器。
86.s406:服务器将上述第一图像和第二图像进行比较,确定上述第二图像与第一图像的相似度。
87.示例性的,上述服务器可以将上述第一图像和第二图像输入预设相似度模型,该预设相似度模型用于确定图像之间的相似度,进而,根据上述预设相似度模型的输出,简单准确地确定出上述第二图像与第一图像的相似度,提高后续处理结果的准确性,也加快了软件测试效率。
88.s407:服务器根据上述相似度,判断上述第一应用程序和/或第二应用程序的拍照功能是否正常。
89.这里,上述服务器可以获取预存的相似度阈值,将上述相似度与上述相似度阈值进行比较,如果上述相似度大于上述相似度阈值,则判断上述第一应用程序的拍照功能正常,且判断上述第二应用程序的拍照功能正常。
90.另外,第一应用程序可以为已知的拍照功能正常的应用程序,上述服务器将上述第二图像与所述第一图像的相似度与上述相似度阈值进行比较,如果上述相似度大于上述相似度阈值,则判断上述第二应用程序的拍照功能正常,如果上述相似度小于或等于上述相似度阈值,则判断上述第二应用程序的拍照功能异常。
91.综上所述,本技术实施例相对现有技术来说,通过服务器将第一应用程序和第二应用程序拍摄的图像进行对比,确定两个图像的相似度,从而,根据该相似度,判断上述第一应用程序和/或第二应用程序的拍照功能是否正常,降低了在对软件的拍照功能进行自动化测试时,外界的干扰影响等,提高了自动化测试的准确率。而且,本技术实施例通过设
置用于存储ui控件的属性信息配置文件,方便脚本调用,同时借助控件属性值进行精准的控件定位,有效地解决页面图像变化时导致无法查找到控件的问题,另外,当控件信息发生变化时,只需要维护配置文件即可,不仅节省人力和时间,还能有效降低维护成本,提高脚本有效性和可靠性。
92.对应于上文实施例的测试方法,图5为本技术实施例提供的测试装置的结构示意图。为了便于说明,仅示出了与本技术实施例相关的部分。图5为本技术实施例提供的一种测试装置的结构示意图,该测试装置50包括:第一发送模块501、第二发送模块502、比较模块503以及判断模块504。这里的测试装置可以是上述服务器本身,或者是实现服务器的功能的芯片或者集成电路。这里需要说明的是,第一发送模块、第二发送模块、比较模块以及判断模块的划分只是一种逻辑功能的划分,物理上两者可以是集成的,也可以是独立的。
93.其中,第一发送模块501,用于根据预设测试脚本,发送第一拍照指令至第一应用程序,所述第一拍照指令用于指示所述第一应用程序执行所述第一拍照指令,获得第一图像,并将所述第一图像返回所述服务器。
94.第二发送模块502,用于根据所述预设测试脚本,发送第二拍照指令至第二应用程序,所述第二拍照指令用于指示所述第二应用程序执行所述第二拍照指令,获得第二图像,并将所述第二图像返回所述服务器,其中,所述第一应用程序与所述第二应用程序对应的拍照参数相同,所述第一应用程序和所述第二应用程序为安装在设备上的同一应用程序。
95.比较模块503,用于将所述第一图像和所述第二图像进行比较,确定所述第二图像与所述第一图像的相似度。
96.判断模块504,用于根据所述相似度,判断所述第一应用程序和/或所述第二应用程序的拍照功能是否正常。
97.在一种可能的实现方式中,所述判断模块504,具体用于:获取预存的相似度阈值,将所述相似度与所述相似度阈值进行比较;若所述相似度大于所述相似度阈值,则判断所述第一应用程序的拍照功能正常,且判断所述第二应用程序的拍照功能正常。
98.在一种可能的实现方式中,所述第一应用程序为已知的拍照功能正常的应用程序;所述判断模块504,具体用于:若所述相似度小于或等于所述相似度阈值,则判断所述第二应用程序的拍照功能异常。
99.在一种可能的实现方式中,所述比较模块503,具体用于:将所述第一图像和所述第二图像输入预设相似度模型,所述预设相似度模型用于确定图像之间的相似度;根据所述预设相似度模型的输出,确定所述第二图像与所述第一图像的相似度。
100.在一种可能的实现方式中,所述比较模块503,还用于:将多个图像输入所述预设相似度模型,得到所述多个图像之间的相似度预测值;根据所述多个图像之间的相似度预测值、所述多个图像之间的相似度参考值和预设损失函数,调整所述预设相似度模型的模型参数。
101.在一种可能的实现方式中,所述第一发送模块501,具体用于:
根据所述预设测试脚本,发送所述第一拍照指令至所述第一应用程序,所述第一拍照指令用于指示所述第一应用程序根据所述第一拍照指令,从预设配置文件中存储的ui控件的属性值中获取目标ui控件的属性值,并将所述目标ui控件的属性值与所述第一应用程序的待测页面下的ui控件的属性值进行匹配,确定所述第一应用程序的待测页面下适配的ui控件,基于所述适配的ui控件,执行所述第一拍照指令,获得所述第一图像,将所述第一图像返回所述服务器。
102.在一种可能的实现方式中,所述第一发送模块501,具体用于:连接所述第一应用程序所在的设备和所述第二应用程序所在的设备;通过接口或者设备标识切换到所述第一应用程序所在的设备,根据所述预设测试脚本,发送所述第一拍照指令至所述第一应用程序。
103.本技术实施例提供的装置,可用于执行上述图2所示方法实施例的技术方案,其实现原理和技术效果类似,本技术实施例此处不再赘述。
104.图6为本技术实施例提供的另一种测试装置的结构示意图,该测试装置60包括:接收模块601、执行模块602以及返回模块603。这里的测试装置可以是上述第一应用程序本身,或者是实现第一应用程序的功能的芯片或者集成电路。这里需要说明的是,接收模块、执行模块以及返回模块的划分只是一种逻辑功能的划分,物理上两者可以是集成的,也可以是独立的。
105.其中,接收模块601,用于接收服务器发送的第一拍照指令。
106.执行模块602,用于执行所述第一拍照指令,获得第一图像。
107.返回模块603,用于将所述第一图像返回所述服务器,以使所述服务器将所述第一图像和第二图像进行比较,确定所述第二图像与所述第一图像的相似度,其中,所述第二图像为第二应用程序接收所述服务器发送的第二拍照指令,执行所述第二拍照指令,获得的第二图像,所述第一应用程序与所述第二应用程序对应的拍照参数相同,所述第一应用程序和所述第二应用程序为安装在设备上的同一应用程序;根据所述相似度,判断所述第一应用程序和/或所述第二应用程序的拍照功能是否正常。
108.在一种可能的实现方式中,所述执行模块602,具体用于:根据所述第一拍照指令,从预设配置文件中存储的ui控件的属性值中获取目标ui控件的属性值;将所述目标ui控件的属性值与所述第一应用程序的待测页面下的ui控件的属性值进行匹配,确定所述第一应用程序的待测页面下适配的ui控件;基于所述适配的ui控件,执行所述第一拍照指令,获得所述第一图像。
109.本技术实施例提供的装置,可用于执行上述图3所示方法实施例的技术方案,其实现原理和技术效果类似,本技术实施例此处不再赘述。
110.可选地,图7a和7b示意性地提供本技术所述服务器和设备的一种可能的基本硬件架构示意图。
111.参见图7a和7b,服务器和设备包括至少一个处理器701以及通信接口703。进一步可选的,还可以包括存储器702和总线704。
112.其中,服务器和设备中,处理器701的数量可以是一个或多个,图7a和7b仅示意了其中一个处理器701。可选地,处理器701,可以是中央处理器(central processing unit,
cpu)、图形处理器(graphics processing unit, gpu)或者数字信号处理器(digital signal processor,dsp)。如果服务器和设备具有多个处理器701,多个处理器701的类型可以不同,或者可以相同。可选地,服务器和设备的多个处理器701还可以集成为多核处理器。
113.存储器702存储计算机指令和数据;存储器702可以存储实现本技术提供的上述测试方法所需的计算机指令和数据,例如,存储器702存储用于实现上述测试方法的步骤的指令。存储器702可以是以下存储介质的任一种或任一种组合:非易失性存储器(例如只读存储器(read-only memory,rom)、固态硬盘(solid state disk,ssd)、硬盘(hard disk drive,hdd)、光盘),易失性存储器。
114.通信接口703可以为所述至少一个处理器提供信息输入/输出。也可以包括以下器件的任一种或任一种组合:网络接口(例如以太网接口)、无线网卡等具有网络接入功能的器件。
115.可选的,通信接口703还可以用于服务器和设备与其它计算设备或者终端进行数据通信。
116.进一步可选的,图7a和7b用一条粗线表示总线704。总线704可以将处理器701与存储器702和通信接口703连接。这样,通过总线704,处理器701可以访问存储器702,还可以利用通信接口703与其它计算设备或者终端进行数据交互。
117.在本技术中,服务器和设备执行存储器702中的计算机指令,使得服务器和设备实现本技术提供的上述测试方法,或者使得服务器和设备部署上述的测试装置。
118.从逻辑功能划分来看,示例性的,如图7a所示,存储器702中可以包括第一发送模块501、第二发送模块502、比较模块503以及判断模块504。这里的包括仅仅涉及存储器中所存储的指令被执行时可以分别实现第一发送模块、第二发送模块、比较模块以及判断模块的功能,而不限定是物理上的结构。
119.示例性的,如图7b所示,存储器702中可以包括接收模块601、执行模块602以及返回模块603。这里的包括仅仅涉及存储器中所存储的指令被执行时可以分别实现接收模块、执行模块以及返回模块的功能,而不限定是物理上的结构。
120.本技术提供一种计算机可读存储介质,所述计算机程序产品包括计算机指令,所述计算机指令指示计算设备执行本技术提供的上述测试方法。
121.本技术提供一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行上述测试方法。
122.本技术提供一种芯片,包括至少一个处理器和通信接口,所述通信接口为所述至少一个处理器提供信息输入和/或输出。进一步,所述芯片还可以包含至少一个存储器,所述存储器用于存储计算机指令。所述至少一个处理器用于调用并运行该计算机指令,以执行本技术提供的上述测试方法。
123.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
124.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
125.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1