CN112506768A - 一种测试方法、装置、电子设备和存储介质 - Google Patents
一种测试方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN112506768A CN112506768A CN202011396681.XA CN202011396681A CN112506768A CN 112506768 A CN112506768 A CN 112506768A CN 202011396681 A CN202011396681 A CN 202011396681A CN 112506768 A CN112506768 A CN 112506768A
- Authority
- CN
- China
- Prior art keywords
- test
- communication channel
- container
- application program
- request
- 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.)
- Pending
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/3676—Test management for coverage analysis
-
- 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/3692—Test management for test results analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及测试工具,公开了一种测试方法、装置、电子设备和存储介质,该方法包括:通过第一通信通道向第一测试设备发送测试请求,测试请求包括第一应用程序,测试请求用于指示第一测试设备安装第一应用程序后调用测试框架对第一应用程序进行测试,得到测试结果;通过第一通信通道接收第一测试设备发送的测试响应,测试响应包括测试结果,测试结果包括第一应用程序在第一测试设备上测试时的图像;根据图像中每个像素对应的纹理特征值,确定第一应用程序在第一测试设备上运行时存在兼容性问题。实施本申请实施例,能够高效确定出同一应用程序在哪些设备上运行时存在兼容性问题。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种测试方法、装置、电子设备和存储介质。
背景技术
移动端机型适配测试用来发现应用程序在不同设备上运行是否存在兼容性问题,需要大量真实的测试机器。通常一次机型适配测试需要在几十到几百台设备上进行测试,以覆盖不同的终端厂商、手机型号和设备参数等。因此,可以看出,针对同一应用程序,需要在多个设备上进行测试,以检测该应用程序在不同设备上运行时是否存在兼容性问题。
然而,在现有方案中,在对不同应用程序进行测试时会涉及到大量的数据。后台也需要对这些数据进行分析处理,以确定应用程序在不同设备上运行时是否存在兼容性问题。具体的,若应用程序1在三个设备上测试,应用程序2在另外四个设备上测试,由于在对应用程序进行测试时,每个设备测试完成的时间先后不一致,导致后台可能先处理应用程序1在一个设备上测试时涉及的数据,再处理应用程序2在一个设备上测试时涉及的数据,接着再处理应用程序1在另一个设备上测试时涉及的数据等。因此,可以看出,现有方案中,在分析处理数据时并不是先将同一应用程序在不同设备上测试时所涉及的全部数据分析处理完成后,再处理另一应用程序在不同设备上测试时所涉及的全部数据。这导致无法高效确定出同一应用程序在哪些设备上运行时存在兼容性问题。因此,亟需一种能够高效确定出同一应用程序在哪些设备上运行时存在兼容性问题的技术手段。
发明内容
本申请实施例提供了一种测试方法、装置、电子设备和存储介质,能够高效确定出同一应用程序在哪些设备上运行时存在兼容性问题。
本申请第一方面提供了一种测试方法,所述方法应用于电子设备,所述电子设备部署有N个容器,所述N个容器与N个应用程序一一对应,第一容器为所述N个容器中的任意一个容器,所述第一容器用于处理所述N个应用程序中第一应用程序在至少一个测试设备进行测试后的所有的测试结果,所述第一容器与所述第一应用程序对应,所述N为大于1的整数,所述方法包括:
所述第一容器通过第一通信通道向第一测试设备发送测试请求,所述测试请求包括所述第一应用程序,所述测试请求用于指示所述第一测试设备安装所述第一应用程序后调用测试框架对所述第一应用程序进行测试,得到测试结果,所述第一测试设备为所述至少一个测试设备中的任意一个测试设备;
所述第一容器通过所述第一通信通道接收所述第一测试设备发送的测试响应,所述测试响应包括所述测试结果,所述测试结果包括所述第一应用程序在所述第一测试设备上测试时的图像;
所述第一容器根据所述图像中每个像素对应的纹理特征值,确定所述第一应用程序在所述第一测试设备上运行时存在兼容性问题。
本申请第二方面提供了一种测试装置,所述测试装置为N个容器中的任意一个容器,所述N个容器与N个应用程序一一对应,所述N个容器部署在电子设备上,所述测试装置用于处理所述N个应用程序中第一应用程序在至少一个测试设备进行测试后的所有的测试结果,所述测试装置与所述第一应用程序对应,所述N为大于1的整数,所述测试装置包括发送模块、接收模块和确定模块,
所述发送模块,用于通过第一通信通道向第一测试设备发送测试请求,所述测试请求包括所述第一应用程序,所述测试请求用于指示所述第一测试设备安装所述第一应用程序后调用测试框架对所述第一应用程序进行测试,得到测试结果,所述第一测试设备为所述至少一个测试设备中的任意一个测试设备;
所述接收模块,用于通过所述第一通信通道接收所述第一测试设备发送的测试响应,所述测试响应包括所述测试结果,所述测试结果包括所述第一应用程序在所述第一测试设备上测试时的图像;
所述确定模块,用于根据所述图像中每个像素对应的纹理特征值,确定所述第一应用程序在所述第一测试设备上运行时存在兼容性问题。
本申请第三方面提供了一种测试装置,包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被生成由所述处理器执行,以执行一种测试方法任一项方法中的步骤的指令。
本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述存储计算机程序被所述处理器执行,以实现一种测试方法任一项所述的方法。
可以看出,上述技术方案中,由于N个容器与N个应用程序一一对应,第一容器为N个容器中的任意一个容器,第一容器用于处理N个应用程序中第一应用程序在至少一个测试设备进行测试后的所有的测试结果,第一容器与第一应用程序对应。因此,不同容器处理不同应用程序在不同测试设备进行测试后的所有测试结果,避免了现有方案中无法高效确定出应用程序在哪些设备上运行时存在的兼容性问题,从而实现了在一个容器中独立确定出同一应用程序在哪些设备上运行时存在的兼容性问题,进而实现了高效确定出应用程序在哪些设备上运行时存在的兼容性问题。同时,针对任意一个容器,均通过通信通道下发测试请求以及获取测试结果,避免了数据泄露的情况,实现了数据的安全性传输。最后,根据测试结果包括的图像中每个像素对应的纹理特征值,实现了精准确定出应用程序在测试设备上运行时存在兼容性问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1是本申请实施例提供的一种测试系统的示意图;
图2是本申请实施例提供的一种测试方法的流程示意图;
图3是本申请实施例提供的一种灰度值对的示意图;
图4是本申请实施例提供的又一种测试方法的流程示意图;
图5为本申请实施例提供的一种测试装置的示意图;
图6为本申请的实施例涉及的硬件运行环境的测试装置结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下分别进行详细说明。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,参见图1,图1是本申请实施例提供的一种测试系统的示意图,该测试系统100包括电子设备110和测试设备集群120。其中,电子设备110可以包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(User Equipment,UE),移动台(Mobile Station,MS),终端设备(terminal device)等等。测试设备集群120包括多个测试设备。多个测试设备中的每个测试设备例如可以为各种具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(User Equipment,UE),移动台(MobileStation,MS),终端设备(terminal device)等等。电子设备110可以与测试设备集群120之间可以相互通信。
其中,电子设备110部署有N个容器,N个容器中的每个容器可以与测试设备集群120之间可以相互通信。其中,容器(Docker)是一个开源的容器引擎,也是一种轻量级的虚拟化技术,且对性能损耗小,易于封装。
另外,该测试系统100还可以包括测试服务器130。测试服务器130可以与电子设备110相互通信,测试服务器130还可以与N个容器相互通信。
需要说明的,在本申请中,在一种可能的实施方式中,测试设备集群120中的每个测试设备分别可以通过USB线连接到USB Hub设备,USB Hub设备支持Multi-TT传输,负责向若干台测试设备供电,提供测试设备与电子设备之间的USB通信通道。多个USB Hub设备之间采用树形拓扑结构进行连接。电子设备110可以包括基于ARM或者X86架构的轻量级开发板或主机,其可以采用网线连接路由器或交换机,运行Linux或者MacOS操作系统,在此不做限制。进一步的,测试设备集群120中的每个测试设备例如可以通过WIFI热点与无线接入点(access point,AP)设备通信,无线接入点(access point,AP)设备可以通过网线连接交换机或路由器。
进一步的,该测试系统100还可以包括显示面板140,显示面板140用于显示测试设备集群120中每个测试设备的硬件实时状态。示例性的,测试设备集群120中测试设备1上正在运行应用程序1;那么,显示面板140可以显示出测试设备集群120中测试设备1上正在运行应用程序1。
需要说明的,在本申请中,在一种可能的实施方式中,显示面板140可以通过传输线与电子设备110之间相互通信,在此不做限制。
进一步的,该测试系统100还可以包括数据库150,数据库150用于存储数据。示例性的,数据库150用于存储测量结果等,在此不做限制。
另外,在现有方案中,在对不同应用程序进行测试时会涉及到大量的数据。后台也需要对这些数据进行分析处理,以确定应用程序在不同设备上运行时是否存在兼容性问题。具体的,若应用程序1在三个设备上测试,应用程序2在另外四个设备上测试,由于在对应用程序进行测试时,每个设备测试完成的时间先后不一致,导致后台可能先处理应用程序1在一个设备上测试时涉及的数据,再处理应用程序2在一个设备上测试时涉及的数据,接着再处理应用程序1在另一个设备上测试时涉及的数据等。因此,可以看出,现有方案中,在分析处理数据时并不是先将同一应用程序在不同设备上测试时所涉及的全部数据分析处理完成后,再处理另一应用程序在不同设备上测试时所涉及的全部数据。这导致无法高效确定出同一应用程序在哪些设备上运行时存在兼容性问题。因此,亟需一种能够高效确定出同一应用程序在哪些设备上运行时存在兼容性问题的技术手段。
基于此,本申请实施例提出一种测试方法以解决上述问题,下面对本申请实施例进行详细介绍。
参见图2,图2是本申请实施例提供的一种测试方法的流程示意图。该方法应用于电子设备,所述电子设备部署有N个容器,所述N个容器与N个应用程序一一对应,第一容器为所述N个容器中的任意一个容器,所述第一容器用于处理所述N个应用程序中第一应用程序在至少一个测试设备进行测试后的所有的测试结果,所述第一容器与所述第一应用程序对应,所述N为大于1的整数,所述方法包括:
201、所述第一容器通过第一通信通道向第一测试设备发送测试请求,所述测试请求包括所述第一应用程序,所述测试请求用于指示所述第一测试设备安装所述第一应用程序后调用测试框架对所述第一应用程序进行测试,得到测试结果,所述第一测试设备为所述至少一个测试设备中的任意一个测试设备。
其中,应用程序,指为完成某项或多项特定工作的计算机程序,它运行在用户模式,可以和用户进行交互,具有可视的用户界面。
其中,测试框架例如可以为appnium或其他采用C/S协议进行测试的框架,在此不做限制。
可选的,测试框架支持对所述第一应用程序所涉及的元素进行拖动、划动、长按、点击、输入等操作。可以理解的,在本申请中,元素指超文本标记语言(hyper textmarkuplanguage,HTML)中的元素。示例性的,元素例如可以为HTML中的button元素。
其中,所述第一通信通道为所述第一容器的应用层和所述第一测试设备的应用层之间的通信通道。
示例性的,应用层例如可以包括超文本传输协议(hyper texttransferprotocol,HTTP),在此不做限制。
202、所述第一容器通过所述第一通信通道接收所述第一测试设备发送的测试响应,所述测试响应包括所述测试结果,所述测试结果包括所述第一应用程序在所述第一测试设备上测试时的图像。
其中,该图像可以为一张或多张图像,在此不做限制。可以理解的的,该图像可以包括黑屏、白屏、花屏、无响应、崩溃等截图,在此不做限制。
203、所述第一容器根据所述图像中每个像素对应的纹理特征值,确定所述第一应用程序在所述第一测试设备上运行时存在兼容性问题。
可以看出,上述技术方案中,由于N个容器与N个应用程序一一对应,第一容器为N个容器中的任意一个容器,第一容器用于处理N个应用程序中第一应用程序在至少一个测试设备进行测试后的所有的测试结果,第一容器与第一应用程序对应。因此,不同容器处理不同应用程序在不同测试设备进行测试后的所有测试结果,避免了现有方案中无法高效确定出应用程序在哪些设备上运行时存在的兼容性问题,从而实现了在一个容器中独立确定出同一应用程序在哪些设备上运行时存在的兼容性问题,进而实现了高效确定出应用程序在哪些设备上运行时存在的兼容性问题。同时,针对任意一个容器,均通过通信通道下发测试请求以及获取测试结果,避免了数据泄露的情况,实现了数据的安全性传输。最后,根据测试结果包括的图像中每个像素对应的纹理特征值,实现了精准确定出应用程序在测试设备上运行时存在兼容性问题。
可选的,所述第一容器根据所述图像中每个像素对应的纹理特征值,确定所述第一应用程序在所述第一测试设备上运行时存在兼容性问题,包括:所述第一容器将所述图像进行灰度化处理,得到灰度图像;所述第一容器根据所述灰度图像中每个像素的灰度值与其相邻像素中第一像素的灰度值组成的灰度值对确定所述灰度图像中每个像素对应的纹理特征值,所述灰度图像中每个像素的灰度值与其相邻像素中所述第一像素的灰度值之差最大;所述第一容器获取模板图像,所述模板图像为所述第一应用程序在运行时无兼容性问题所对应的图像;所述第一容器将所述灰度图像中每个像素对应的纹理特征值与模板图像中每个像素对应的纹理特征值进行对比;若所述灰度图像中每个像素对应的纹理特征值与模板图像中每个像素对应的纹理特征值对比失败,则所述第一容器确定所述第一应用程序在所述第一测试设备上运行时存在兼容性问题。
示例性的,参见图3,图3是本申请实施例提供的一种灰度值对的示意图。具体的,结合图3,可以看出,像素1分别与像素2、像素3、像素4和像素5相邻。若像素2的灰度值与像素1的灰度值之间的差值大于像素3的灰度值与像素1的灰度值之间的差值,像素2的灰度值与像素1的灰度值之间的差值大于像素4的灰度值与像素1的灰度值之间的差值,像素2的灰度值与像素1的灰度值之间的差值大于像素5的灰度值与像素1的灰度值之间的差值,那么,像素1的灰度值可以与像素2的灰度值组成一个灰度值对。若像素3的灰度值与像素1的灰度值之间的差值大于像素2的灰度值与像素1的灰度值之间的差值,像素3的灰度值与像素1的灰度值之间的差值大于像素4的灰度值与像素1的灰度值之间的差值,像素3的灰度值与像素1的灰度值之间的差值大于像素5的灰度值与像素1的灰度值之间的差值,那么,像素1的灰度值可以与像素3的灰度值组成一个灰度值对。若像素4的灰度值与像素1的灰度值之间的差值大于像素2的灰度值与像素1的灰度值之间的差值,像素4的灰度值与像素1的灰度值之间的差值大于像素3的灰度值与像素1的灰度值之间的差值,像素4的灰度值与像素1的灰度值之间的差值大于像素5的灰度值与像素1的灰度值之间的差值,那么,像素1的灰度值可以与像素4的灰度值组成一个灰度值对。若像素5的灰度值与像素1的灰度值之间的差值大于像素2的灰度值与像素1的灰度值之间的差值,像素5的灰度值与像素1的灰度值之间的差值大于像素3的灰度值与像素1的灰度值之间的差值,像素5的灰度值与像素1的灰度值之间的差值大于像素4的灰度值与像素1的灰度值之间的差值,那么,像素1的灰度值可以与像素5的灰度值组成一个灰度值对。
可以看出,上述技术方案中,通过根据图像中每个像素对应的纹理特征值,实现了精准确定出应用程序在测试设备上运行时存在兼容性问题。
参见图4,图4是本申请实施例提供的又一种测试方法的流程示意图。该方法应用于电子设备,所述电子设备部署有N个容器,所述N个容器与N个应用程序一一对应,第一容器为所述N个容器中的任意一个容器,所述第一容器用于处理所述N个应用程序中第一应用程序在至少一个测试设备进行测试后的所有的测试结果,所述第一容器与所述第一应用程序对应,所述N为大于1的整数,所述方法包括:
401、所述第一容器向所述第一测试设备发送所述第一通信通道的建立请求,所述第一通信通道的建立请求包括所述电子设备的标识,所述第一通信通道的建立请求用于指示所述第一测试设备根据所述电子设备的标识确定所述第一容器有与所述第一测试设备建立所述第一通信通道的权限。
其中,关于第一通信通道,可以参考图2中相关描述,在此不加赘述。
402、所述第一容器接收所述第一测试设备发送所述第一通信通道的建立响应。
403-405、与图2中步骤201-203相同,在此不加赘述。
可以看出,上述技术方案中,由于N个容器与N个应用程序一一对应,第一容器为N个容器中的任意一个容器,第一容器用于处理N个应用程序中第一应用程序在至少一个测试设备进行测试后的所有的测试结果,第一容器与第一应用程序对应。因此,不同容器处理不同应用程序在不同测试设备进行测试后的所有测试结果,避免了现有方案中无法高效确定出应用程序在哪些设备上运行时存在的兼容性问题,从而实现了在一个容器中独立确定出同一应用程序在哪些设备上运行时存在的兼容性问题,进而实现了高效确定出应用程序在哪些设备上运行时存在的兼容性问题。同时,针对任意一个容器,均通过通信通道下发测试请求以及获取测试结果,避免了数据泄露的情况,实现了数据的安全性传输。最后,根据测试结果包括的图像中每个像素对应的纹理特征值,实现了精准确定出应用程序在测试设备上运行时存在兼容性问题。
在一种可能的实施方式中,在所述第一容器接收所述第一测试设备发送所述第一通信通道的建立响应之后,在所述第一容器通过第一通信通道向第一测试设备发送测试请求之前,所述方法还包括:
所述第一容器通过第二通信通道接收测试服务器发送的测试任务,所述测试任务包括用于测试所述第一应用程序的设备的类型和所述测试框架的版本标识;
所述第一容器通过所述第一通信通道向所述第一测试设备发送测试框架检测请求,所述第一测试设备的类型与用于测试所述第一应用程序的设备的类型相同,所述测试框架检测请求包括所述测试框架的版本标识,所述测试框架检测请求用于指示所述第一测试设备根据所述测试框架的版本标识,确定所述第一测试设备上运行的所述测试框架的版本为最新版本;
所述第一容器通过第一通信通道向第一测试设备发送测试请求,包括:
若通过所述第一通信通道接收所述第一测试设备发送的测试框架检测响应,则所述第一容器通过第一通信通道向第一测试设备发送测试请求,所述测试框架检测响应包括所述第一测试设备上运行的所述测试框架的版本为最新版本的信息。
其中,用于测试所述第一应用程序的设备的类型是根据用于测试所述第一应用程序的设备的型号确定的;所述第一测试设备的类型是根据第一测试设备的型号确定的。
其中,第二通信通道为第一容器的传输层与测试服务器的传输层之间的通信通道。
可以看出,上述技术方案中,通过通信通道接收测试任务,避免了数据泄露的情况,实现了数据的安全性传输。同时,向测试设备发送测试框架检测请求,从而实现了在检测到测试设备上运行的测试框架的版本为最新版本时向测试设备发送测试请求,避免了测试框架的版本为旧版本时可能导致的测试失败的问题。
在一种可能的实施方式中,在所述第一容器通过所述第一通信通道向所述第一测试设备发送测试框架检测请求之前,所述方法还包括:
所述第一容器每间隔预设时间段获取所述第一测试设备对应的状态信息,其中,所述第一测试设备对应的状态信息包括以下至少一种:所述第一测试设备的CPU使用率、所述第一测试设备的CPU温度、所述第一测试设备的剩余存储空间大小和所述第一测试设备的服务进程的状态;
所述第一容器通过所述第一通信通道向所述第一测试设备发送测试框架检测请求,包括:
若所述第一测试设备对应的状态信息满足预设条件,则所述第一容器通过所述第一通信通道向所述第一测试设备发送测试框架检测请求。
可以看出,上述技术方案中,通过每间隔预设时间段获取测试设备对应的状态信息,并测试设备对应的状态信息满足预设条件时向测试设备发送测试框架检测请求,避免了由于测试设备对应的状态信息不满足预设条件时导致的无法正常检测出测试框架的版本的情况。
在一种可能的实施方式中,所述预设条件包括以下至少一种:所述第一测试设备的CPU使用率低于第一阈值、所述第一测试设备的CPU温度低于第二阈值、所述第一测试设备的剩余存储空间大小高于第三阈值,所述第一测试设备的服务进程的状态处于空闲状态或等待状态,所述第一测试设备的服务进程包括以下至少一种:所述第一测试设备中用于运行应用程序的服务进程和所述第一测试设备中用于调用测试框架的服务进程。
其中,第一阈值、第二阈值和第三阈值可以由管理员设置,或配置在配置文件中,在此不做限定。
可选的,所述测试请求用于指示所述第一测试设备在所述第一测试设备中用于运行应用程序的服务进程上安装所述第一应用程序后,在所述第一测试设备中用于调用测试框架的服务进程上调用测试框架对所述第一应用程序进行测试,得到测试结果。
参见图5,图5为本申请实施例提供的一种测试装置的示意图。其中,如图5所示,所述测试装置500为N个容器中的任意一个容器,所述N个容器与N个应用程序一一对应,所述N个容器部署在电子设备上,所述测试装置500用于处理所述N个应用程序中第一应用程序在至少一个测试设备进行测试后的所有的测试结果,所述测试装置500与所述第一应用程序对应,所述N为大于1的整数,该测试装置500包括发送模块501、接收模块502和确定模块503,
所述发送模块501,用于通过第一通信通道向第一测试设备发送测试请求,所述测试请求包括所述第一应用程序,所述测试请求用于指示所述第一测试设备安装所述第一应用程序后调用测试框架对所述第一应用程序进行测试,得到测试结果,所述第一测试设备为所述至少一个测试设备中的任意一个测试设备;
所述接收模块502,用于通过所述第一通信通道接收所述第一测试设备发送的测试响应,所述测试响应包括所述测试结果,所述测试结果包括所述第一应用程序在所述第一测试设备上测试时的图像;
所述确定模块503,用于根据所述图像中每个像素对应的纹理特征值,确定所述第一应用程序在所述第一测试设备上运行时存在兼容性问题。
可以看出,上述技术方案中,由于N个容器与N个应用程序一一对应,第一容器为N个容器中的任意一个容器,第一容器用于处理N个应用程序中第一应用程序在至少一个测试设备进行测试后的所有的测试结果,第一容器与第一应用程序对应。因此,不同容器处理不同应用程序在不同测试设备进行测试后的所有测试结果,避免了现有方案中无法高效确定出应用程序在哪些设备上运行时存在的兼容性问题,从而实现了在一个容器中独立确定出同一应用程序在哪些设备上运行时存在的兼容性问题,进而实现了高效确定出应用程序在哪些设备上运行时存在的兼容性问题。同时,针对任意一个容器,均通过通信通道下发测试请求以及获取测试结果,避免了数据泄露的情况,实现了数据的安全性传输。最后,根据测试结果包括的图像中每个像素对应的纹理特征值,实现了精准确定出应用程序在测试设备上运行时存在兼容性问题。
在一种可能的实施方式中,在所述第一容器通过第一通信通道向第一测试设备发送测试请求时,
所述发送模块501,还用于向所述第一测试设备发送所述第一通信通道的建立请求,所述第一通信通道的建立请求包括所述电子设备的标识,所述第一通信通道的建立请求用于指示所述第一测试设备根据所述电子设备的标识确定所述第一容器有与所述第一测试设备建立所述第一通信通道的权限;
所述接收模块502,还用于所述第一测试设备发送所述第一通信通道的建立响应;
其中,所述第一通信通道为所述第一容器的应用层和所述第一测试设备的应用层之间的通信通道。
可以看出,上述技术方案中,通过向测试设备发送通信通道的建立请求,从而实现了通信通道的建立,避免了数据泄露的情况,实现了数据的安全性传输。
在一种可能的实施方式中,在所述第一容器接收所述第一测试设备发送所述第一通信通道的建立响应之后,在所述第一容器通过第一通信通道向第一测试设备发送测试请求之前,
所述接收模块502,还用于通过第二通信通道接收测试服务器发送的测试任务,所述测试任务包括用于测试所述第一应用程序的设备的类型和所述测试框架的版本标识;
所述发送模块501,还用于通过所述第一通信通道向所述第一测试设备发送测试框架检测请求,所述第一测试设备的类型与用于测试所述第一应用程序的设备的类型相同,所述测试框架检测请求包括所述测试框架的版本标识,所述测试框架检测请求用于指示所述第一测试设备根据所述测试框架的版本标识,确定所述第一测试设备上运行的所述测试框架的版本为最新版本;
在通过第一通信通道向第一测试设备发送测试请求时,若通过所述第一通信通道接收所述第一测试设备发送的测试框架检测响应,则所述发送模块501,用于通过第一通信通道向第一测试设备发送测试请求,所述测试框架检测响应包括所述第一测试设备上运行的所述测试框架的版本为最新版本的信息。
可以看出,上述技术方案中,通过通信通道接收测试任务,避免了数据泄露的情况,实现了数据的安全性传输。同时,向测试设备发送测试框架检测请求,从而实现了在检测到测试设备上运行的测试框架的版本为最新版本时向测试设备发送测试请求,避免了测试框架的版本为旧版本时可能导致的测试失败的问题。
在一种可能的实施方式中,在所述第一容器通过所述第一通信通道向所述第一测试设备发送测试框架检测请求之前,所述测试装置还包括获取模块504,
所述获取模块504,用于每间隔预设时间段获取所述第一测试设备对应的状态信息,其中,所述第一测试设备对应的状态信息包括以下至少一种:所述第一测试设备的CPU使用率、所述第一测试设备的CPU温度、所述第一测试设备的剩余存储空间大小和所述第一测试设备的服务进程的状态;
在通过所述第一通信通道向所述第一测试设备发送测试框架检测请求时,若所述第一测试设备对应的状态信息满足预设条件,则所述发送模块501,用于通过所述第一通信通道向所述第一测试设备发送测试框架检测请求。
可以看出,上述技术方案中,通过每间隔预设时间段获取测试设备对应的状态信息,并测试设备对应的状态信息满足预设条件时向测试设备发送测试框架检测请求,避免了由于测试设备对应的状态信息不满足预设条件时导致的无法正常检测出测试框架的版本的情况。
在一种可能的实施方式中,所述预设条件包括以下至少一种:所述第一测试设备的CPU使用率低于第一阈值、所述第一测试设备的CPU温度低于第二阈值、所述第一测试设备的剩余存储空间大小高于第三阈值,所述第一测试设备的服务进程的状态处于空闲状态或等待状态,所述第一测试设备的服务进程包括以下至少一种:所述第一测试设备中用于运行应用程序的服务进程和所述第一测试设备中用于调用测试框架的服务进程。
在一种可能的实施方式中,在根据所述图像中每个像素对应的纹理特征值,确定所述第一应用程序在所述第一测试设备上运行时存在兼容性问题时,所述测试模块还包括处理模块505和对比模块506,
所述处理模块505,用于将所述图像进行灰度化处理,得到灰度图像;
所述确定模块503,用于根据所述灰度图像中每个像素的灰度值与其相邻像素中第一像素的灰度值组成的灰度值对确定所述灰度图像中每个像素对应的纹理特征值,所述灰度图像中每个像素的灰度值与其相邻像素中所述第一像素的灰度值之差最大;
所述获取模块504,用于获取模板图像,所述模板图像为所述第一应用程序在运行时无兼容性问题所对应的图像;
所述对比模块506,用于将所述灰度图像中每个像素对应的纹理特征值与模板图像中每个像素对应的纹理特征值进行对比;
若所述灰度图像中每个像素对应的纹理特征值与模板图像中每个像素对应的纹理特征值对比失败,则所述确定模块503,用于确定所述第一应用程序在所述第一测试设备上运行时存在兼容性问题。
可以看出,上述技术方案中,通过根据图像中每个像素对应的纹理特征值,实现了精准确定出应用程序在测试设备上运行时存在兼容性问题。
参见图6,图6为本申请的实施例涉及的硬件运行环境的测试装置结构示意图。
本申请实施例提供了一种测试装置,包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,以执行包括任一项测试方法中的步骤的指令。其中,如图6所示,本申请的实施例涉及的硬件运行环境的测试装置可以包括:
处理器601,例如CPU。
存储器602,可选的,存储器可以为高速RAM存储器,也可以是稳定的存储器,例如磁盘存储器。
通信接口603,用于实现处理器601和存储器602之间的连接通信。
本领域技术人员可以理解,图6中示出的测试装置的结构并不构成对其的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图6所示,存储器602中可以包括操作系统、网络通信模块以及一个或多个程序。操作系统是管理和控制服务器硬件和软件资源的程序,支持一个或多个程序的运行。网络通信模块用于实现存储器602内部各组件之间的通信,以及与测试装置内部其他硬件和软件之间通信。
其中,图6所示的测试装置为N个容器中的任意一个容器,所述N个容器与N个应用程序一一对应,所述N个容器部署在电子设备上,所述测试装置用于处理所述N个应用程序中第一应用程序在至少一个测试设备进行测试后的所有的测试结果,所述测试装置与所述第一应用程序对应,所述N为大于1的整数,在图6所示的测试装置中,处理器601用于执行存储器602中一个或多个程序,实现以下步骤:
通过第一通信通道向第一测试设备发送测试请求,所述测试请求包括所述第一应用程序,所述测试请求用于指示所述第一测试设备安装所述第一应用程序后调用测试框架对所述第一应用程序进行测试,得到测试结果,所述第一测试设备为所述至少一个测试设备中的任意一个测试设备;
通过所述第一通信通道接收所述第一测试设备发送的测试响应,所述测试响应包括所述测试结果,所述测试结果包括所述第一应用程序在所述第一测试设备上测试时的图像;
根据所述图像中每个像素对应的纹理特征值,确定所述第一应用程序在所述第一测试设备上运行时存在兼容性问题。
本申请涉及的测试装置的具体实施可参见上述测试方法的各实施例,在此不做赘述。
本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述存储计算机程序被所述处理器执行,以实现以下步骤:
通过第一通信通道向第一测试设备发送测试请求,所述测试请求包括所述第一应用程序,所述测试请求用于指示所述第一测试设备安装所述第一应用程序后调用测试框架对所述第一应用程序进行测试,得到测试结果,所述第一测试设备为所述至少一个测试设备中的任意一个测试设备;
通过所述第一通信通道接收所述第一测试设备发送的测试响应,所述测试响应包括所述测试结果,所述测试结果包括所述第一应用程序在所述第一测试设备上测试时的图像;
根据所述图像中每个像素对应的纹理特征值,确定所述第一应用程序在所述第一测试设备上运行时存在兼容性问题。
本申请涉及的计算机可读存储介质的具体实施可参见上述测试方法的各实施例,在此不做赘述。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应所述知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应所述知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种测试方法,其特征在于,所述方法应用于电子设备,所述电子设备部署有N个容器,所述N个容器与N个应用程序一一对应,第一容器为所述N个容器中的任意一个容器,所述第一容器用于处理所述N个应用程序中第一应用程序在至少一个测试设备进行测试后的所有的测试结果,所述第一容器与所述第一应用程序对应,所述N为大于1的整数,所述方法包括:
所述第一容器通过第一通信通道向第一测试设备发送测试请求,所述测试请求包括所述第一应用程序,所述测试请求用于指示所述第一测试设备安装所述第一应用程序后调用测试框架对所述第一应用程序进行测试,得到测试结果,所述第一测试设备为所述至少一个测试设备中的任意一个测试设备;
所述第一容器通过所述第一通信通道接收所述第一测试设备发送的测试响应,所述测试响应包括所述测试结果,所述测试结果包括所述第一应用程序在所述第一测试设备上测试时的图像;
所述第一容器根据所述图像中每个像素对应的纹理特征值,确定所述第一应用程序在所述第一测试设备上运行时存在兼容性问题。
2.根据权利要求1所述的方法,其特征在于,在所述第一容器通过第一通信通道向第一测试设备发送测试请求之前,所述方法还包括:
所述第一容器向所述第一测试设备发送所述第一通信通道的建立请求,所述第一通信通道的建立请求包括所述电子设备的标识,所述第一通信通道的建立请求用于指示所述第一测试设备根据所述电子设备的标识确定所述第一容器有与所述第一测试设备建立所述第一通信通道的权限;
所述第一容器接收所述第一测试设备发送所述第一通信通道的建立响应;
其中,所述第一通信通道为所述第一容器的应用层和所述第一测试设备的应用层之间的通信通道。
3.根据权利要求2所述的方法,其特征在于,在所述第一容器接收所述第一测试设备发送所述第一通信通道的建立响应之后,在所述第一容器通过第一通信通道向第一测试设备发送测试请求之前,所述方法还包括:
所述第一容器通过第二通信通道接收测试服务器发送的测试任务,所述测试任务包括用于测试所述第一应用程序的设备的类型和所述测试框架的版本标识;
所述第一容器通过所述第一通信通道向所述第一测试设备发送测试框架检测请求,所述第一测试设备的类型与用于测试所述第一应用程序的设备的类型相同,所述测试框架检测请求包括所述测试框架的版本标识,所述测试框架检测请求用于指示所述第一测试设备根据所述测试框架的版本标识,确定所述第一测试设备上运行的所述测试框架的版本为最新版本;
所述第一容器通过第一通信通道向第一测试设备发送测试请求,包括:
若通过所述第一通信通道接收所述第一测试设备发送的测试框架检测响应,则所述第一容器通过第一通信通道向第一测试设备发送测试请求,所述测试框架检测响应包括所述第一测试设备上运行的所述测试框架的版本为最新版本的信息。
4.根据权利要求3所述的方法,其特征在于,在所述第一容器通过所述第一通信通道向所述第一测试设备发送测试框架检测请求之前,所述方法还包括:
所述第一容器每间隔预设时间段获取所述第一测试设备对应的状态信息,其中,所述第一测试设备对应的状态信息包括以下至少一种:所述第一测试设备的CPU使用率、所述第一测试设备的CPU温度、所述第一测试设备的剩余存储空间大小和所述第一测试设备的服务进程的状态;
所述第一容器通过所述第一通信通道向所述第一测试设备发送测试框架检测请求,包括:
若所述第一测试设备对应的状态信息满足预设条件,则所述第一容器通过所述第一通信通道向所述第一测试设备发送测试框架检测请求。
5.根据权利要求4所述的方法,其特征在于,所述预设条件包括以下至少一种:所述第一测试设备的CPU使用率低于第一阈值、所述第一测试设备的CPU温度低于第二阈值、所述第一测试设备的剩余存储空间大小高于第三阈值,所述第一测试设备的服务进程的状态处于空闲状态或等待状态,所述第一测试设备的服务进程包括以下至少一种:所述第一测试设备中用于运行应用程序的服务进程和所述第一测试设备中用于调用测试框架的服务进程。
6.根据权利要求1所述的方法,其特征在于,所述第一容器根据所述图像中每个像素对应的纹理特征值,确定所述第一应用程序在所述第一测试设备上运行时存在兼容性问题,包括:
所述第一容器将所述图像进行灰度化处理,得到灰度图像;
所述第一容器根据所述灰度图像中每个像素的灰度值与其相邻像素中第一像素的灰度值组成的灰度值对确定所述灰度图像中每个像素对应的纹理特征值,所述灰度图像中每个像素的灰度值与其相邻像素中所述第一像素的灰度值之差最大;
所述第一容器获取模板图像,所述模板图像为所述第一应用程序在运行时无兼容性问题所对应的图像;
所述第一容器将所述灰度图像中每个像素对应的纹理特征值与模板图像中每个像素对应的纹理特征值进行对比;
若所述灰度图像中每个像素对应的纹理特征值与模板图像中每个像素对应的纹理特征值对比失败,则所述第一容器确定所述第一应用程序在所述第一测试设备上运行时存在兼容性问题。
7.一种测试装置,其特征在于,所述测试装置为N个容器中的任意一个容器,所述N个容器与N个应用程序一一对应,所述N个容器部署在电子设备上,所述测试装置用于处理所述N个应用程序中第一应用程序在至少一个测试设备进行测试后的所有的测试结果,所述测试装置与所述第一应用程序对应,所述N为大于1的整数,所述测试装置包括发送模块、接收模块和确定模块,
所述发送模块,用于通过第一通信通道向第一测试设备发送测试请求,所述测试请求包括所述第一应用程序,所述测试请求用于指示所述第一测试设备安装所述第一应用程序后调用测试框架对所述第一应用程序进行测试,得到测试结果,所述第一测试设备为所述至少一个测试设备中的任意一个测试设备;
所述接收模块,用于通过所述第一通信通道接收所述第一测试设备发送的测试响应,所述测试响应包括所述测试结果,所述测试结果包括所述第一应用程序在所述第一测试设备上测试时的图像;
所述确定模块,用于根据所述图像中每个像素对应的纹理特征值,确定所述第一应用程序在所述第一测试设备上运行时存在兼容性问题。
8.根据权利要求7所述的装置,其特征在于,在所述第一容器通过第一通信通道向第一测试设备发送测试请求时,
所述发送模块,还用于向所述第一测试设备发送所述第一通信通道的建立请求,所述第一通信通道的建立请求包括所述电子设备的标识,所述第一通信通道的建立请求用于指示所述第一测试设备根据所述电子设备的标识确定所述第一容器有与所述第一测试设备建立所述第一通信通道的权限;
所述接收模块,还用于所述第一测试设备发送所述第一通信通道的建立响应;
其中,所述第一通信通道为所述第一容器的应用层和所述第一测试设备的应用层之间的通信通道。
9.一种测试装置,其特征在于,包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被生成由所述处理器执行,以执行权利要求1-6任一项方法中的步骤的指令。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述存储计算机程序被所述处理器执行,以实现权利要求1-6任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011396681.XA CN112506768A (zh) | 2020-12-03 | 2020-12-03 | 一种测试方法、装置、电子设备和存储介质 |
PCT/CN2021/083241 WO2022116427A1 (zh) | 2020-12-03 | 2021-03-26 | 一种测试方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011396681.XA CN112506768A (zh) | 2020-12-03 | 2020-12-03 | 一种测试方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112506768A true CN112506768A (zh) | 2021-03-16 |
Family
ID=74968566
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011396681.XA Pending CN112506768A (zh) | 2020-12-03 | 2020-12-03 | 一种测试方法、装置、电子设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112506768A (zh) |
WO (1) | WO2022116427A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022116427A1 (zh) * | 2020-12-03 | 2022-06-09 | 平安科技(深圳)有限公司 | 一种测试方法、装置、电子设备和存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104424093A (zh) * | 2013-08-26 | 2015-03-18 | 阿里巴巴集团控股有限公司 | 一种兼容性测试方法及系统 |
CN104008055B (zh) * | 2014-05-30 | 2017-06-06 | 广州华多网络科技有限公司 | 软件测试的方法、设备及系统 |
CN105573902B (zh) * | 2014-10-10 | 2018-07-03 | 阿里巴巴集团控股有限公司 | 一种应用程序的测试方法及系统 |
US10055339B2 (en) * | 2016-09-28 | 2018-08-21 | Wipro Limited | Methods and systems for testing mobile applications |
CN111104321A (zh) * | 2019-12-16 | 2020-05-05 | 烽火通信科技股份有限公司 | 一种基于docker的云平台稳定性测试方法及系统 |
CN112506768A (zh) * | 2020-12-03 | 2021-03-16 | 平安科技(深圳)有限公司 | 一种测试方法、装置、电子设备和存储介质 |
-
2020
- 2020-12-03 CN CN202011396681.XA patent/CN112506768A/zh active Pending
-
2021
- 2021-03-26 WO PCT/CN2021/083241 patent/WO2022116427A1/zh active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022116427A1 (zh) * | 2020-12-03 | 2022-06-09 | 平安科技(深圳)有限公司 | 一种测试方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2022116427A1 (zh) | 2022-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107688530B (zh) | 软件测试方法及装置 | |
CN109495306B (zh) | 一种业务网络的扩容方法及设备 | |
EP3420681A1 (en) | Cloud verification and test automation | |
CN108307021B (zh) | 移动终端的并行跟随测试设备、云真机及方法 | |
CN107608901B (zh) | 基于Jmeter的测试方法及装置、存储介质、电子设备 | |
CN106406975A (zh) | 桌面云系统的测试方法及装置 | |
CN111475417A (zh) | 自动化测试方法、装置、设备及存储介质 | |
CN106649126B (zh) | 一种对应用程序进行测试的方法和装置 | |
CN111078539A (zh) | 一种测试方法、装置、系统、计算机可读存储介质 | |
CN111611054A (zh) | 一种应用部署方法及装置 | |
CN112994972B (zh) | 一种分布式探针监测平台 | |
CN110740069A (zh) | 一种跨云平台托管装置和方法 | |
CN107360036B (zh) | 一种网络故障定位方法、终端和服务器 | |
EP3185475A1 (en) | Rack diagram display method and apparatus | |
CN106792784B (zh) | 一种在服务器侧进行数据校验的方法、服务器和系统 | |
CN112506768A (zh) | 一种测试方法、装置、电子设备和存储介质 | |
CN102841843B (zh) | 兼容判断方法及装置 | |
CN110399723B (zh) | 漏洞检测方法和装置、存储介质及电子装置 | |
CN105354128A (zh) | 一种计算机资源监控方法、装置及系统 | |
CN116800638A (zh) | 网络检测方法、装置、电子设备及存储介质 | |
CN116755994A (zh) | 云平台性能测试方法和系统、电子设备及存储介质 | |
CN115495195A (zh) | 一种数据处理方法、装置及相关设备 | |
CN107766232B (zh) | 一种插件管理方法及装置 | |
CN112671814B (zh) | 一种跨平台的设备开发方法、装置及系统 | |
CN109782925B (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 |