一种cts测试方法、装置及测试设备
技术领域
1.本技术涉及计算机技术领域,尤其涉及一种cts测试方法、装置及测试设备。
背景技术:
2.随着科学技术的快速发展,电子设备越来越普及。为了保证用户的使用体验,需要对电子设备执行兼容性测试套件(compatibility test suite,cts)测试,只有通过cts测试的电子设备才能获得商标和相应的服务权限。然而,由于cts测试是一个基于安卓系统的测试程序,仅支持谷歌开源框架uiautomator脚本,cts测试无法直接对其他操作系统的电子设备执行cts测试,因此,如何改善cts测试的兼容性是一个亟需解决的问题。
技术实现要素:
3.本技术实施例提供了一种cts测试方法、装置及测试设备。该方法可以支持python脚本、shell脚本和bat脚本的cts测试,可以提升cts测试的兼容性。
4.第一方面,本技术实施例提供了一种cts测试方法,该cts测试方法包括:
5.获取待测设备的目标运行脚本;该目标运行脚本包括python脚本、shell脚本和bat脚本中的一种或多种;
6.获取目标运行脚本对应的脚本运行指示信息;
7.基于脚本运行指示信息运行目标运行脚本,生成待测设备的cts测试结果。
8.在本技术实施例中,测试设备可以获取待测设备的目标运行脚本;该目标运行脚本包括python脚本、shell脚本和bat脚本中的一种或多种;以及获取目标运行脚本对应的脚本运行指示信息;并基于脚本运行指示信息运行目标运行脚本,生成待测设备的cts测试结果。由于测试设备可以基于脚本运行指示信息运行目标运行脚本,生成待测设备的cts测试结果,测试设备不仅可以对待测设备执行uiautomator脚本的cts测试,还可以执行python脚本、shell脚本和bat脚本的cts测试,可以提升cts测试的兼容性。
9.结合第一方面,在一些可行的实施方式中,该cts测试方法还包括:
10.当待测设备的操作系统为安卓系统时,获取待测设备的uiautomator脚本;
11.将uiautomator脚本发送至待测设备。
12.结合第一方面,在一些可行的实施方式中,该目标运行脚本包括至少一个cts测试用例,基于脚本运行指示信息运行目标运行脚本,生成待测设备的cts测试结果,包括:
13.获取目标cts测试用例;该目标cts测试用例为至少一个cts测试用例中的任意一个cts测试用例;
14.运行目标cts测试用例生成目标cts测试用例对应的cts测试结果。
15.结合第一方面,在一些可行的实施方式中,该cts测试方法还包括:
16.对待测设备的cts测试结果进行分析,汇总生成cts测试结果对应的测试用例执行报告;
17.将测试用例执行报告以表格的形式进行显示。
18.结合第一方面,在一些可行的实施方式中,该cts测试方法还包括:
19.根据cts测试结果确定cts测试用例中的异常测试用例;
20.对异常测试用例进行跟踪对比,确定异常测试用例的概率。
21.结合第一方面,在一些可行的实施方式中,该cts测试方法还包括:
22.对测试用例执行报告进行校验,若校验通过,则通过区块链网络中的共识节点对测试用例执行报告进行共识验证;
23.若共识验证通过,则将测试用例执行报告封装成区块,将区块写入区块链。
24.结合第一方面,在一些可行的实施方式中,该cts测试方法还包括:
25.获取待测设备的系统信息;
26.基于待测设备的系统信息确定待测设备的操作系统;
27.控制待测设备安装操作系统。
28.第二方面,本技术实施例提供了一种cts测试装置,该cts测试装置包括:
29.获取单元,用于获取待测设备的目标运行脚本;该目标运行脚本包括python脚本、shell脚本和bat脚本中的一种或多种;
30.该获取单元还用于获取目标运行脚本对应的脚本运行指示信息;
31.运行单元,用于基于脚本运行指示信息运行目标运行脚本,生成待测设备的cts测试结果。
32.结合第二方面,在一些可行的实施方式中,该获取单元还用于:
33.当待测设备的操作系统为安卓系统时,获取待测设备的uiautomator脚本;
34.将uiautomator脚本发送至待测设备。
35.结合第二方面,在一些可行的实施方式中,该目标运行脚本包括至少一个cts测试用例,
36.运行单元基于脚本运行指示信息运行目标运行脚本,生成待测设备的cts测试结果,包括:
37.获取目标cts测试用例;该目标cts测试用例为至少一个cts测试用例中的任意一个cts测试用例;
38.运行目标cts测试用例生成目标cts测试用例对应的cts测试结果。
39.结合第二方面,在一些可行的实施方式中,该运行单元还用于:
40.对待测设备的cts测试结果进行分析,汇总生成cts测试结果对应的测试用例执行报告;
41.将测试用例执行报告以表格的形式进行显示。
42.结合第二方面,在一些可行的实施方式中,该运行单元还用于:
43.根据cts测试结果确定cts测试用例中的异常测试用例;
44.对异常测试用例进行跟踪对比,确定异常测试用例的概率。
45.结合第二方面,在一些可行的实施方式中,该运行单元还用于:
46.对测试用例执行报告进行校验,若校验通过,则通过区块链网络中的共识节点对测试用例执行报告进行共识验证;
47.若共识验证通过,则将测试用例执行报告封装成区块,将区块写入区块链。
48.结合第二方面,在一些可行的实施方式中,该获取单元还用于:
49.获取待测设备的系统信息;
50.基于待测设备的系统信息确定待测设备的操作系统;
51.控制待测设备安装操作系统。
52.第三方面,本技术实施例提供了一种测试设备,该测试设备包括处理器和存储器,处理器和存储器相连,其中,存储器用于存储程序代码,处理器用于调用程序代码以执行第一方面的cts测试方法。
53.第四方面,本技术实施例提供了一种芯片,该芯片用于
54.获取待测设备的目标运行脚本;该目标运行脚本包括python脚本、shell脚本和bat脚本中的一种或多种;
55.获取目标运行脚本对应的脚本运行指示信息;
56.基于脚本运行指示信息运行目标运行脚本,生成待测设备的cts测试结果。
57.第五方面,本技术实施例提供了一种模组设备,该模组设备包括处理器和通信接口,处理器与通信接口相连,通信接口用于收发信号,处理器用于:
58.获取待测设备的目标运行脚本;该目标运行脚本包括python脚本、shell脚本和bat脚本中的一种或多种;
59.获取目标运行脚本对应的脚本运行指示信息;
60.基于脚本运行指示信息运行目标运行脚本,生成待测设备的cts测试结果。第六方面,本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时以实现第一方面的cts测试方法。
附图说明
61.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
62.图1是本技术实施例提供的一种cts测试系统的结构示意图;
63.图2是本技术实施例提供的一种cts测试方法的流程示意图;
64.图3是本技术实施例提供的一种测试系统的界面示意图;
65.图4是本技术实施例提供的另一种cts测试方法的结构示意图;
66.图5是本技术实施例提供的一种区块链的结构示意图;
67.图6是本技术实施例提供的一种cts测试装置的结构示意图;
68.图7是本技术实施例提供的一种测试设备的结构示意图。
具体实施方式
69.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
70.请参见图1,图1是本技术实施例提供的一种cts测试系统的结构示意图图,本技术
实施例的技术方案可以在图1举例所示的cts测试系统或类似的系统中具体实施。如图1所示,该cts测试系统可以包括测试设备100和待测设备集群,如图1所示,该待测设备集群具体可以包括待测设备200a、待测设备200b和待测设备200c。其中,测试设备100可以获取待测设备(如待测设备200a、待测设备200b或者待测设备200c)的目标运行脚本;该目标运行脚本包括python脚本、shell脚本和bat脚本中的一种或多种,以及获取目标运行脚本对应的脚本运行指示信息;基于脚本运行指示信息运行目标运行脚本,生成待测设备的cts测试结果。
71.如上所述,其中,待测设备200a、待测设备200b和待测设备200c可以为具备上述功能的智能手机、智能可穿戴设备、平板电脑、膝上计算机、功能机、iot设备以及台式电脑等。测试设备100可以是具备上述功能的终端设备,例如为智能手机、智能可穿戴设备、平板电脑、膝上计算机以及台式电脑等。测试设备100也可以是具有交互界面的服务器,该服务器可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。测试设备100可以通过无线网络和有线网络与待测设备200a、待测设备200b和待测设备200c建立通信连接。
72.如上所述,其中,待测设备200a、待测设备200b和待测设备200c可以为任意功能的操作系统,例如安卓系统、苹果系统、微软系统(windows phone)、诺基亚系统(symbian)、黑莓系统(blackberry os)、鸿蒙系统(harmony)、mac操作系统(macos)、linux操作系统和物联网系统等等。
73.在一些实施例中,该无线网络可以包括但不限于以下一种或多种:全球移动通讯系统(global system for mobile communications,gsm)、通用分组无线服务(general packet radio service,gprs)、码分多址接入(code division multiple access,cdma)、宽带码分多址(wideband code division multiple access,wcdma)、时分码分多址(time
‑
division code division multiple access,td
‑
scdma)、长期演进(long term evolution,lte)、第五代移动通信技术(5th generation mobile networks,5g)、无线局域网(wireless local area networks,wlan)和无线保真(wireless fidelity,wi
‑
fi)网络。
74.接下来,将详细阐述本技术实施例的cts测试方法。请参见图2,图2示出了一种cts测试方法的流程示意图。该cts测试方法可以应用于如图1所示的测试设备中。如图2所示,该cts测试方法具体可以包括s201
‑
s203:
75.s201:获取待测设备的目标运行脚本;该目标运行脚本包括python脚本、shell脚本和bat脚本中的一种或多种。
76.其中,待测设备可以是如图1中所示的待测设备集群中的任意一个待测设备。
77.其中,测试设备可以响应于对待测设备进行cts测试的触发操作,获取待测设备的cts测试任务,并获取cts测试任务中所包含的目标运行脚本。其中,对待测设备进行cts测试的触发操作可以包括多种形式。可选的,可以通过预设的定时触发指令触发待测设备的cts测试任务,当测试设备检测到包含待测设备的设备标识信息的定时触发指令时,可以确定检测到对待测设备进行cts测试的触发操作。其中,该定时触发指令可以包括设备标识信息,测试设备可以基于设备标识信息确定待测设备集群中的待测设备,并触发待测设备的cts测试任务。例如,可以通过蓝盾、soda等工具部署定时任务,触发cts测试任务。其中,该设备标识信息可以包括但不限于待测设备的名称和待测设备的型号。
78.可选的,对待测设备进行cts测试的触发操作可以是测试设备在测试系统的用户界面检测到存在对待测设备进行cts测试的触发操作。具体实现中,用户登录到测试系统后,测试设备显示测试系统的用户界面,可如图3中用户界面31所示;用户界面31中可包括多个待测设备的设备标识信息,比如图3中所示的待测设备1的名称“xx”和待测设备2的名称“yy”;每个待测设备的设备标识信息可以对应一个控件,可以表示为“测试”。例如,在图3中待测设备1的设备标识信息“xx”301对应的控件为302。假设待测设备为待测设备1,如果用户在控件为302中输入了触发操作,则确定在测试系统的用户界面中存在对待测设备1进行cts测试的触发操作。
79.在一个实施例中,测试设备可以直接获取待测设备的目标运行脚本;该目标运行脚本包括python脚本、shell脚本和bat脚本中的一种或多种。
80.其中,python脚本、shell脚本和bat脚本可以适用于任意操作系统的待测设备。例如,该操作系统可以包括但不限于安卓系统、苹果系统、微软系统、诺基亚系统、黑莓系统、鸿蒙系统、mac操作系统、linux操作系统和物联网系统等等。
81.其中,目标运行脚本可以包括代码文件形式的运行脚本,该目标运行脚本可以支持cts框架。
82.在一个实施例中,由于cts测试是一个针对安卓系统的测试,所以若待测设备的操作系统为安卓系统,则测试设备还可以直接利用安卓系统对应的uiautomator脚本执行cts测试。具体的,测试设备可以获取待测设备的系统信息,基于待测设备的系统信息确定待测设备的操作系统,控制待测设备安装操作系统。当待测设备的操作系统为安卓系统时,测试设备可以获取待测设备的uiautomator脚本,并将uiautomator脚本发送至待测设备,以使得待测设备安装uiautomator脚本,并执行uiautomator脚本中的cts测试用例生成cts测试结果,并将cts测试结果返回给测试设备。
83.其中,uiautomator脚本可以为apk或者应用程序。
84.其中,系统信息可以包括但不限于以下一种或多种:名称信息、型号信息和操作系统信息。在一个实施例中,测试设备内可以获取信息列表,该信息列表中包括各个待测设备的系统信息。如表1的信息列表所示,信息列表中可以包括名称列表项、型号列表项和操作系统列表项。其中,名称列表项可以用于存储待测设备的名称信息,名称列表项可以表示为“名称”,型号列表项可以用于存储待测设备的型号信息,型号列表项可以表示为“型号”,操作系统列表项可以用于存储待测设备的操作系统信息,操作系统列表项可以表示为“操作系统”。可以将待测设备的名称信息存储在名称列表项的第一位置处,那么就将待测设备的型号信息存储在型号列表项中与第一位置相对应的位置处,并将待测设备的操作系统信息存储在操作系统列表项中与第一位置相对应的位置处。例如,假设待测设备1的名称信息为“xx”,待测设备1的型号信息为“xx”,待测设备1的操心系统信息为“安卓系统(android)”,假设待测设备2的名称信息为“yy”,待测设备1的型号信息为“yy”,待测设备1的操作系统信息为“苹果系统(ios)”,如表1所示,可以将待测设备1的名称信息“xx”存储于名称列表项的第一栏,将待测设备1的型号信息“xx”存储于型号列表项的第一栏,待测设备1的操作系统信息“安卓系统”也存储于操作系统列表项的第一栏;可以将待测设备2的名称信息“yy”存储于名称列表项的第二栏,将待测设备2的型号信息“yy”存储于型号列表项的第二栏,待测设备2的操作系统信息“ios系统”也存储于操作系统列表项的第二栏。
[0085] 名称型号操作系统待测设备1xxxxandroid待测设备2yyyyios
[0086]
表1
[0087]
在一个实施例中,测试设备可以在测试系统的操作页面配置生成本技术实施例所提及的各种运行脚本。例如,python脚本、shell脚本和bat脚本或者uiautomator脚本。可选的,测试设备可以接收用户在操作页面的用户操作,并响应该用户操作生成至少一个cts测试用例,得到运行脚本。可选的,测试设备还可以调用操作模拟模型模拟用户操作,在操作页面进行配置,生成至少一个cts测试用例,得到运行脚本。其中,操作模拟模型可以是基于模拟用户操作技术生成的模型,例如,uiautomator技术。具体的,可以通过利用uiautomator技术在待测设备上模拟用户点击屏幕操作配置相关选项,例如,安装jar包以配置相关的选项形成cts测试用例。
[0088]
s202:获取目标运行脚本对应的脚本运行指示信息。
[0089]
由于原生的cts框架仅支持谷歌开源框架uiautomator脚本的自动化测试,原生的cts框架中可能不包括python脚本、shell脚本和bat脚本的脚本运行指示信息。所以为了能正常运行目标运行脚本,测试设备还需要获取目标运行脚本对应的脚本运行指示信息。其中,该脚本运行指示信息可以包括运行目标运行脚本的命令和/或运行目标运行脚本的参数。
[0090]
s203:基于脚本运行指示信息运行目标运行脚本,生成待测设备的cts测试结果。
[0091]
在一个实施例中,当待测设备可以接收到uiautomator脚本时,待测设备可以运行uiautomator脚本中的cts测试用例得到cts测试结果,并将cts测试结果返回给测试设备。
[0092]
在另一个实施例中,针对目标运行脚本,测试设备可以基于脚本运行指示信息运行目标运行脚本中的至少一个cts测试用例,得到待测设备的cts测试结果。具体的,测试设备可以获取目标运行脚本中的目标cts测试用例,该目标cts测试用例为目标运行脚本中的至少一个cts测试用例中的任意一个cts测试用例,基于脚本运行指示信息运行目标cts测试用例得到目标cts测试用例对应的cts测试结果。
[0093]
在本技术实施例中,测试设备可以获取待测设备的目标运行脚本;该目标运行脚本包括python脚本、shell脚本和bat脚本中的一种或多种;以及获取目标运行脚本对应的脚本运行指示信息;并基于脚本运行指示信息运行目标运行脚本,生成待测设备的cts测试结果。由于测试设备可以基于脚本运行指示信息运行目标运行脚本,生成待测设备的cts测试结果,测试设备不仅可以对待测设备执行uiautomator脚本的cts测试,还可以执行python脚本、shell脚本和bat脚本的cts测试,可以提升cts测试的兼容性。
[0094]
参见上述图2所示的方法实施例的相关描述可知,测试设备可以利用图2所示的cts测试方法可以支持python脚本、shell脚本和bat脚本的cts测试。测试设备可以对待测设备多次执行图2所示的cts测试方法。但是随着cts测试结果的增加,cts测试结果会占据大量的存储资源。因此,测试设备还可以对cts测试结果进行汇总分析,汇总生成测试用例执行报告。请参见图4所示,图4示出了另一种cts测试方法的流程示意图。如图4所示,该cts测试方法包括s401
‑
s403:
[0095]
s401:对待测设备的cts测试结果进行分析,汇总生成cts测试结果对应的测试用
例执行报告。
[0096]
具体的,测试设备可以对待测设备的多个cts测试结果进行简单的概括,可以汇总非异常测试用例以及异常测试用例。其中,异常测试用例可以包括执行识别的测试用例、未执行的测试用例和/或超时未执行的测试用例等等。
[0097]
由于异常测试用例会较大程度的影响测试结果,可选的,测试设备还可以对异常测试用例进行跟踪对比,确定异常测试用例的概率。具体的,测试设备可以记录异常测试用例的类名和测试用例名。当cts测试结果中异常测试用例具有相同类名和测试用例名时,对所有异常测试用例进行跟踪对比,确定异常测试用例失败的概率。如果一个异常测试用例在多份cts测试结果中均出现,且该异常测试用例在该多份cts测试结果中的跟踪均相同,则确定异常测试用例为必现;如果异常测试用例不是在所有的cts测试结果中都出现时,则确定异常测试用例为偶现。
[0098]
s402:将测试用例执行报告以表格的形式进行显示。
[0099]
其中,该测试用例执行报告可以包括非异常测试用例的数量、异常测试用例的数量、异常测试用例的类名、异常测试用例的用例名以及异常测试用例失败的概率中的一项或多项。
[0100]
在一个实施例中,相应的,本技术实施例中的表格可以包括非异常测试用例的数量列表项、异常测试用例的数量列表项、异常测试用例的类名列表项、异常测试用例的用例名列表项以及异常测试用例失败的概率列表项。其中,非异常测试用例的数量列表项用于显示非异常测试用例的数量,异常测试用例的数量列表项用于显示异常测试用例的数量,异常测试用例的类名列表项用于显示异常测试用例的类名,异常测试用例的用例名列表项用于显示异常测试用例的用例名以及异常测试用例失败的概率列表项用于显示异常测试用例失败的概率。
[0101]
需要说明的是,这里是对一个待测设备的多份cts测试结果进行汇总分析得到测试用例执行报告。类似的,测试设备还可以对多个测试设备对应的cts测试结果进行汇总分析,具体的实现过程可以参考一个待测设备的多份cts测试结果的汇总分析过程,这里不做赘述。
[0102]
s403:对测试用例执行报告进行校验,若校验通过,则通过区块链网络中的共识节点对测试用例执行报告进行共识验证;若共识验证通过,则将测试用例执行报告封装成区块,将区块写入区块链。
[0103]
其中,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证数据不可篡改和不可伪造的分布式账本。多个独立的分布式节点保存相同的记录。区块链技术实现了去中心化,成为了可信的数字资产存储、转移和交易的基石。
[0104]
以图5所示的区块链的结构示意图为例,在将测试用例执行报告写入区块链时,可以将测试用例执行报告封装为区块,并添加在已有区块链的末端,通过共识算法保证每个节点新添加的区块是完全相同的。每个区块内记录了若干个测试用例执行报告,同时包含了前一个区块的哈希(hash)值,所有区块就是通过这种方式保存前一个区块中的hash值,按顺序相连,组成了区块链。区块链中下一个区块的区块头中会存储前一个区块的哈希值,当前一个区块中的测试用例执行报告发生变化时,本区块的哈希值也会随之改变,因此上
传至区块链中的测试用例执行报告难以被篡改,提高了数据的可靠性。
[0105]
在本技术实施例中,测试设备可以cts测试结果进行分析,汇总生成cts测试结果对应的测试用例执行报告,并将测试用例执行报告以表格的形式进行显示。由于测试用例执行报告中对多个cts测试结果进行了汇总,测试设备可以直接存储基于多个cts测试结果得到的测试用例执行报告,无需存储大量的cts测试结果,节省了存储资源。并且,测试用例执行报告中包括了异常测试用例的分析结果,用户可以直接通过测试用例执行报告获取有效信息,无需人工分析,提升了工作效率。
[0106]
请参见图6,图6是本技术实施例的一种cts测试装置的结构示意图。该装置可以是测试设备,也可以是测试设备中的装置,或者是能够和测试设备匹配使用的装置。图6所示的cts测试装置可以包括获取单元601和运行单元602。其中:
[0107]
获取单元601,用于获取待测设备的目标运行脚本;该目标运行脚本包括python脚本、shell脚本和bat脚本中的一种或多种;
[0108]
该获取单元601还用于获取目标运行脚本对应的脚本运行指示信息;
[0109]
运行单元602,用于基于脚本运行指示信息运行目标运行脚本,生成待测设备的cts测试结果。
[0110]
在一些可行的实施方式中,该获取单元601还用于:
[0111]
当待测设备的操作系统为安卓系统时,获取待测设备的uiautomator脚本;
[0112]
将uiautomator脚本发送至待测设备。
[0113]
在一些可行的实施方式中,该目标运行脚本包括至少一个cts测试用例,
[0114]
运行单元602基于脚本运行指示信息运行目标运行脚本,生成待测设备的cts测试结果,包括:
[0115]
获取目标cts测试用例;该目标cts测试用例为至少一个cts测试用例中的任意一个cts测试用例;
[0116]
运行目标cts测试用例生成目标cts测试用例对应的cts测试结果。
[0117]
在一些可行的实施方式中,该运行单元602还用于:
[0118]
对待测设备的cts测试结果进行分析,汇总生成cts测试结果对应的测试用例执行报告;
[0119]
将测试用例执行报告以表格的形式进行显示。
[0120]
在一些可行的实施方式中,该运行单元602还用于:
[0121]
根据cts测试结果确定cts测试用例中的异常测试用例;
[0122]
对异常测试用例进行跟踪对比,确定异常测试用例的概率。
[0123]
在一些可行的实施方式中,该运行单元602还用于:
[0124]
对测试用例执行报告进行校验,若校验通过,则通过区块链网络中的共识节点对测试用例执行报告进行共识验证;
[0125]
若共识验证通过,则将测试用例执行报告封装成区块,将区块写入区块链。
[0126]
在一些可行的实施方式中,该获取单元601还用于:
[0127]
获取待测设备的系统信息;
[0128]
基于待测设备的系统信息确定待测设备的操作系统;
[0129]
控制待测设备安装操作系统。
[0130]
上述cts测试装置例如可以是:芯片、或者模组设备。关于上述实施例中描述的各个装置、产品包含的各个单元,其可以是软件单元,也可以是硬件单元,或者也可以部分是软件单元,部分是硬件单元。例如,对于应用于或集成于芯片的各个装置、产品,其包含的各个单元可以都采用电路等硬件的方式实现,或者,至少部分单元可以采用软件程序的方式实现,该软件程序运行于芯片内部集成的处理器,剩余的(如果有)部分单元可以采用电路等硬件方式实现;对于应用于或集成于模组设备的各个装置、产品,其包含的各个单元可以都采用电路等硬件的方式实现,不同的单元可以位于模组设备的同一组件(例如芯片、电路单元等)或者不同组件中,或者,至少部分单元可以采用软件程序的方式实现,该软件程序运行于模组设备内部集成的处理器,剩余的(如果有)部分单元可以采用电路等硬件方式实现;对于应用于或集成于测试设备的各个装置、产品,其包含的各个单元可以都采用电路等硬件的方式实现,不同的单元可以位于测试设备内同一组件(例如,芯片、电路单元等)或者不同组件中,或者,至少部分单元可以采用软件程序的方式实现,该软件程序运行于测试设备内部集成的处理器,剩余的(如果有)部分单元可以采用电路等硬件方式实现。
[0131]
其中,该实施方式的相关内容可参见上述方法实施例的相关内容。此处不再详述。本技术实施例和上述方法实施例基于同一构思,其带来的技术效果也相同,具体原理请参照上述方法实施例的描述,在此不赘述。
[0132]
请参见图7,图7为本技术实施例提供的一种测试设备的结构示意图。该测试设备包括:处理器701、存储器702,处理器701和存储器702通过一条或多条通信总线703连接。
[0133]
上述处理器701可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field
‑
programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。处理器701被配置为支持测试设备执行前述cts测试方法中测试设备相应的功能。
[0134]
上述存储器702可以包括只读存储器和随机存取存储器,并向处理器701提供计算机程序和数据。存储器702的一部分还可以包括非易失性随机存取存储器。其中,该处理器701调用所述计算机程序时用于执行:
[0135]
获取待测设备的目标运行脚本;该目标运行脚本包括python脚本、shell脚本和bat脚本中的一种或多种;
[0136]
获取目标运行脚本对应的脚本运行指示信息;
[0137]
基于脚本运行指示信息运行目标运行脚本,生成待测设备的cts测试结果。
[0138]
在一些可行的实施方式中,该处理器701还用于:
[0139]
当待测设备的操作系统为安卓系统时,获取待测设备的uiautomator脚本;
[0140]
将uiautomator脚本发送至待测设备。
[0141]
在一些可行的实施方式中,该目标运行脚本包括至少一个cts测试用例,
[0142]
该处理器701基于脚本运行指示信息运行目标运行脚本,生成待测设备的cts测试结果,包括:
[0143]
获取目标cts测试用例;该目标cts测试用例为至少一个cts测试用例中的任意一个cts测试用例;
[0144]
运行目标cts测试用例生成目标cts测试用例对应的cts测试结果。
[0145]
在一些可行的实施方式中,该处理器701还用于:
[0146]
对待测设备的cts测试结果进行分析,汇总生成cts测试结果对应的测试用例执行报告;
[0147]
将测试用例执行报告以表格的形式进行显示。
[0148]
在一些可行的实施方式中,该处理器701还用于:
[0149]
根据cts测试结果确定cts测试用例中的异常测试用例;
[0150]
对异常测试用例进行跟踪对比,确定异常测试用例的概率。
[0151]
在一些可行的实施方式中,该处理器701还用于:
[0152]
对测试用例执行报告进行校验,若校验通过,则通过区块链网络中的共识节点对测试用例执行报告进行共识验证;
[0153]
若共识验证通过,则将测试用例执行报告封装成区块,将区块写入区块链。
[0154]
在一些可行的实施方式中,该处理器701还用于:
[0155]
获取待测设备的系统信息;
[0156]
基于待测设备的系统信息确定待测设备的操作系统;
[0157]
控制待测设备安装操作系统。
[0158]
其中,该实施方式的相关内容可参见上述方法实施例的相关内容。此处不再详述。本技术实施例和上述方法实施例基于同一构思,其带来的技术效果也相同,具体原理请参照上述方法实施例的描述,在此不赘述。
[0159]
本技术实施例提供一种芯片,该芯片可以执行前述方法实施例中测试设备的相关步骤。该芯片用于:
[0160]
获取待测设备的目标运行脚本;该目标运行脚本包括python脚本、shell脚本和bat脚本中的一种或多种;
[0161]
获取目标运行脚本对应的脚本运行指示信息;
[0162]
基于脚本运行指示信息运行目标运行脚本,生成待测设备的cts测试结果。
[0163]
在一些可行的实施方式中,该芯片还用于:
[0164]
当待测设备的操作系统为安卓系统时,获取待测设备的uiautomator脚本;
[0165]
将uiautomator脚本发送至待测设备。
[0166]
在一些可行的实施方式中,该目标运行脚本包括至少一个cts测试用例,
[0167]
该芯片基于脚本运行指示信息运行目标运行脚本,生成待测设备的cts测试结果,包括:
[0168]
获取目标cts测试用例;该目标cts测试用例为至少一个cts测试用例中的任意一个cts测试用例;
[0169]
运行目标cts测试用例生成目标cts测试用例对应的cts测试结果。
[0170]
在一些可行的实施方式中,该芯片还用于:
[0171]
对待测设备的cts测试结果进行分析,汇总生成cts测试结果对应的测试用例执行报告;
[0172]
将测试用例执行报告以表格的形式进行显示。
[0173]
在一些可行的实施方式中,该芯片还用于:
[0174]
根据cts测试结果确定cts测试用例中的异常测试用例;
[0175]
对异常测试用例进行跟踪对比,确定异常测试用例的概率。
[0176]
在一些可行的实施方式中,该芯片还用于:
[0177]
对测试用例执行报告进行校验,若校验通过,则通过区块链网络中的共识节点对测试用例执行报告进行共识验证;
[0178]
若共识验证通过,则将测试用例执行报告封装成区块,将区块写入区块链。
[0179]
在一些可行的实施方式中,该芯片还用于:
[0180]
获取待测设备的系统信息;
[0181]
基于待测设备的系统信息确定待测设备的操作系统;
[0182]
控制待测设备安装操作系统。
[0183]
其中,该实施方式的相关内容可参见上述方法实施例的相关内容。此处不再详述。本技术实施例和上述方法实施例基于同一构思,其带来的技术效果也相同,具体原理请参照上述方法实施例的描述,在此不赘述。
[0184]
本技术实施例还提供一种模组设备,模组设备包括处理器和通信接口,处理器与通信接口相连,通信接口用于收发信号,处理器用于:
[0185]
获取待测设备的目标运行脚本;该目标运行脚本包括python脚本、shell脚本和bat脚本中的一种或多种;
[0186]
获取目标运行脚本对应的脚本运行指示信息;
[0187]
基于脚本运行指示信息运行目标运行脚本,生成待测设备的cts测试结果。
[0188]
在一些可行的实施方式中,该处理器还用于:
[0189]
当待测设备的操作系统为安卓系统时,获取待测设备的uiautomator脚本;
[0190]
将uiautomator脚本发送至待测设备。
[0191]
在一些可行的实施方式中,该目标运行脚本包括至少一个cts测试用例,
[0192]
该处理器基于脚本运行指示信息运行目标运行脚本,生成待测设备的cts测试结果,包括:
[0193]
获取目标cts测试用例;该目标cts测试用例为至少一个cts测试用例中的任意一个cts测试用例;
[0194]
运行目标cts测试用例生成目标cts测试用例对应的cts测试结果。
[0195]
在一些可行的实施方式中,该处理器还用于:
[0196]
对待测设备的cts测试结果进行分析,汇总生成cts测试结果对应的测试用例执行报告;
[0197]
将测试用例执行报告以表格的形式进行显示。
[0198]
在一些可行的实施方式中,该处理器还用于:
[0199]
根据cts测试结果确定cts测试用例中的异常测试用例;
[0200]
对异常测试用例进行跟踪对比,确定异常测试用例的概率。
[0201]
在一些可行的实施方式中,该处理器还用于:
[0202]
对测试用例执行报告进行校验,若校验通过,则通过区块链网络中的共识节点对测试用例执行报告进行共识验证;
[0203]
若共识验证通过,则将测试用例执行报告封装成区块,将区块写入区块链。
[0204]
在一些可行的实施方式中,该处理器还用于:
[0205]
获取待测设备的系统信息;
[0206]
基于待测设备的系统信息确定待测设备的操作系统;
[0207]
控制待测设备安装操作系统。
[0208]
其中,该实施方式的相关内容可参见上述方法实施例的相关内容。此处不再详述。本技术实施例和上述方法实施例基于同一构思,其带来的技术效果也相同,具体原理请参照上述方法实施例的描述,在此不赘述。
[0209]
本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时,可以用于实现本技术实施例描述的cts测试方法,在此不再赘述。
[0210]
计算机可读存储介质可以是前述任一实施例的测试设备的内部存储单元,例如测试设备的硬盘或内存。计算机可读存储介质也可以是测试设备的外部存储设备,例如测试设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,计算机可读存储介质还可以既包括测试设备的内部存储单元也包括外部存储设备。计算机可读存储介质用于存储计算机程序以及测试设备所需的其他程序和数据。计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
[0211]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于可读取存储介质中,所述程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read
‑
only memory,rom)或随机存储记忆体(random access memory,ram)等。
[0212]
以上所揭露的仅为本技术较佳实施例而已,当然不能以此来限定本技术之权利范围,因此依本技术权利要求所作的等同变化,仍属本技术所涵盖的范围。
再多了解一些
本文用于企业家、创业者技术爱好者查询,结果仅供参考。