CN113535580B - 一种cts测试方法、装置及测试设备 - Google Patents

一种cts测试方法、装置及测试设备 Download PDF

Info

Publication number
CN113535580B
CN113535580B CN202110858631.7A CN202110858631A CN113535580B CN 113535580 B CN113535580 B CN 113535580B CN 202110858631 A CN202110858631 A CN 202110858631A CN 113535580 B CN113535580 B CN 113535580B
Authority
CN
China
Prior art keywords
script
cts
tested
equipment
test
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.)
Active
Application number
CN202110858631.7A
Other languages
English (en)
Other versions
CN113535580A (zh
Inventor
黄茂碟
胡仁义
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Spreadtrum Semiconductor Chengdu Co Ltd
Original Assignee
Spreadtrum Semiconductor Chengdu Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Spreadtrum Semiconductor Chengdu Co Ltd filed Critical Spreadtrum Semiconductor Chengdu Co Ltd
Priority to CN202110858631.7A priority Critical patent/CN113535580B/zh
Publication of CN113535580A publication Critical patent/CN113535580A/zh
Application granted granted Critical
Publication of CN113535580B publication Critical patent/CN113535580B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请公开了一种CTS测试方法、装置及测试设备,该CTS测试方法包括:获取待测设备的目标运行脚本;该目标运行脚本包括Python脚本、Shell脚本和Bat脚本中的一种或多种;获取目标运行脚本对应的脚本运行指示信息,并基于脚本运行指示信息运行目标运行脚本生成待测设备的CTS测试结果。测试设备可以支持Python脚本、Shell脚本和Bat脚本的CTS测试,可以提升CTS测试的兼容性。

Description

一种CTS测试方法、装置及测试设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种CTS测试方法、装置及测试设备。
背景技术
随着科学技术的快速发展,电子设备越来越普及。为了保证用户的使用体验,需要对电子设备执行兼容性测试套件(Compatibility Test Suite,CTS)测试,只有通过CTS测试的电子设备才能获得商标和相应的服务权限。然而,由于CTS测试是一个基于安卓系统的测试程序,仅支持谷歌开源框架Uiautomator脚本,CTS测试无法直接对其他操作系统的电子设备执行CTS测试,因此,如何改善CTS测试的兼容性是一个亟需解决的问题。
发明内容
本申请实施例提供了一种CTS测试方法、装置及测试设备。该方法可以支持Python脚本、Shell脚本和Bat脚本的CTS测试,可以提升CTS测试的兼容性。
第一方面,本申请实施例提供了一种CTS测试方法,该CTS测试方法包括:
获取待测设备的目标运行脚本;该目标运行脚本包括Python脚本、Shell脚本和Bat脚本中的一种或多种;
获取目标运行脚本对应的脚本运行指示信息;
基于脚本运行指示信息运行目标运行脚本,生成待测设备的CTS测试结果。
在本申请实施例中,测试设备可以获取待测设备的目标运行脚本;该目标运行脚本包括Python脚本、Shell脚本和Bat脚本中的一种或多种;以及获取目标运行脚本对应的脚本运行指示信息;并基于脚本运行指示信息运行目标运行脚本,生成待测设备的CTS测试结果。由于测试设备可以基于脚本运行指示信息运行目标运行脚本,生成待测设备的CTS测试结果,测试设备不仅可以对待测设备执行Uiautomator脚本的CTS测试,还可以执行Python脚本、Shell脚本和Bat脚本的CTS测试,可以提升CTS测试的兼容性。
结合第一方面,在一些可行的实施方式中,该CTS测试方法还包括:
当待测设备的操作系统为安卓系统时,获取待测设备的Uiautomator脚本;
将Uiautomator脚本发送至待测设备。
结合第一方面,在一些可行的实施方式中,该目标运行脚本包括至少一个CTS测试用例,基于脚本运行指示信息运行目标运行脚本,生成待测设备的CTS测试结果,包括:
获取目标CTS测试用例;该目标CTS测试用例为至少一个CTS测试用例中的任意一个CTS测试用例;
运行目标CTS测试用例生成目标CTS测试用例对应的CTS测试结果。
结合第一方面,在一些可行的实施方式中,该CTS测试方法还包括:
对待测设备的CTS测试结果进行分析,汇总生成CTS测试结果对应的测试用例执行报告;
将测试用例执行报告以表格的形式进行显示。
结合第一方面,在一些可行的实施方式中,该CTS测试方法还包括:
根据CTS测试结果确定CTS测试用例中的异常测试用例;
对异常测试用例进行跟踪对比,确定异常测试用例的概率。
结合第一方面,在一些可行的实施方式中,该CTS测试方法还包括:
对测试用例执行报告进行校验,若校验通过,则通过区块链网络中的共识节点对测试用例执行报告进行共识验证;
若共识验证通过,则将测试用例执行报告封装成区块,将区块写入区块链。
结合第一方面,在一些可行的实施方式中,该CTS测试方法还包括:
获取待测设备的系统信息;
基于待测设备的系统信息确定待测设备的操作系统;
控制待测设备安装操作系统。
第二方面,本申请实施例提供了一种CTS测试装置,该CTS测试装置包括:
获取单元,用于获取待测设备的目标运行脚本;该目标运行脚本包括Python脚本、Shell脚本和Bat脚本中的一种或多种;
该获取单元还用于获取目标运行脚本对应的脚本运行指示信息;
运行单元,用于基于脚本运行指示信息运行目标运行脚本,生成待测设备的CTS测试结果。
结合第二方面,在一些可行的实施方式中,该获取单元还用于:
当待测设备的操作系统为安卓系统时,获取待测设备的Uiautomator脚本;
将Uiautomator脚本发送至待测设备。
结合第二方面,在一些可行的实施方式中,该目标运行脚本包括至少一个CTS测试用例,
运行单元基于脚本运行指示信息运行目标运行脚本,生成待测设备的CTS测试结果,包括:
获取目标CTS测试用例;该目标CTS测试用例为至少一个CTS测试用例中的任意一个CTS测试用例;
运行目标CTS测试用例生成目标CTS测试用例对应的CTS测试结果。
结合第二方面,在一些可行的实施方式中,该运行单元还用于:
对待测设备的CTS测试结果进行分析,汇总生成CTS测试结果对应的测试用例执行报告;
将测试用例执行报告以表格的形式进行显示。
结合第二方面,在一些可行的实施方式中,该运行单元还用于:
根据CTS测试结果确定CTS测试用例中的异常测试用例;
对异常测试用例进行跟踪对比,确定异常测试用例的概率。
结合第二方面,在一些可行的实施方式中,该运行单元还用于:
对测试用例执行报告进行校验,若校验通过,则通过区块链网络中的共识节点对测试用例执行报告进行共识验证;
若共识验证通过,则将测试用例执行报告封装成区块,将区块写入区块链。
结合第二方面,在一些可行的实施方式中,该获取单元还用于:
获取待测设备的系统信息;
基于待测设备的系统信息确定待测设备的操作系统;
控制待测设备安装操作系统。
第三方面,本申请实施例提供了一种测试设备,该测试设备包括处理器和存储器,处理器和存储器相连,其中,存储器用于存储程序代码,处理器用于调用程序代码以执行第一方面的CTS测试方法。
第四方面,本申请实施例提供了一种芯片,该芯片用于
获取待测设备的目标运行脚本;该目标运行脚本包括Python脚本、Shell脚本和Bat脚本中的一种或多种;
获取目标运行脚本对应的脚本运行指示信息;
基于脚本运行指示信息运行目标运行脚本,生成待测设备的CTS测试结果。
第五方面,本申请实施例提供了一种模组设备,该模组设备包括处理器和通信接口,处理器与通信接口相连,通信接口用于收发信号,处理器用于:
获取待测设备的目标运行脚本;该目标运行脚本包括Python脚本、Shell脚本和Bat脚本中的一种或多种;
获取目标运行脚本对应的脚本运行指示信息;
基于脚本运行指示信息运行目标运行脚本,生成待测设备的CTS测试结果。第六方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时以实现第一方面的CTS测试方法。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种CTS测试系统的结构示意图;
图2是本申请实施例提供的一种CTS测试方法的流程示意图;
图3是本申请实施例提供的一种测试系统的界面示意图;
图4是本申请实施例提供的另一种CTS测试方法的结构示意图;
图5是本申请实施例提供的一种区块链的结构示意图;
图6是本申请实施例提供的一种CTS测试装置的结构示意图;
图7是本申请实施例提供的一种测试设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1,图1是本申请实施例提供的一种CTS测试系统的结构示意图,本申请实施例的技术方案可以在图1举例所示的CTS测试系统或类似的系统中具体实施。如图1所示,该CTS测试系统可以包括测试设备100和待测设备集群,如图1所示,该待测设备集群具体可以包括待测设备200a、待测设备200b和待测设备200c。其中,测试设备100可以获取待测设备(如待测设备200a、待测设备200b或者待测设备200c)的目标运行脚本;该目标运行脚本包括Python脚本、Shell脚本和Bat脚本中的一种或多种,以及获取目标运行脚本对应的脚本运行指示信息;基于脚本运行指示信息运行目标运行脚本,生成待测设备的CTS测试结果。
如上所述,其中,待测设备200a、待测设备200b和待测设备200c可以为具备上述功能的智能手机、智能可穿戴设备、平板电脑、膝上计算机、功能机、IOT设备以及台式电脑等。测试设备100可以是具备上述功能的终端设备,例如为智能手机、智能可穿戴设备、平板电脑、膝上计算机以及台式电脑等。测试设备100也可以是具有交互界面的服务器,该服务器可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。测试设备100可以通过无线网络和有线网络与待测设备200a、待测设备200b和待测设备200c建立通信连接。
如上所述,其中,待测设备200a、待测设备200b和待测设备200c可以为任意功能的操作系统,例如安卓系统、苹果系统、微软系统(windows phone)、诺基亚系统(Symbian)、黑莓系统(BlackBerry OS)、鸿蒙系统(Harmony)、mac操作系统(macOS)、linux操作系统和物联网系统等等。
在一些实施例中,该无线网络可以包括但不限于以下一种或多种:全球移动通讯系统(global system for mobile communications,GSM)、通用分组无线服务(generalpacket radio service,GPRS)、码分多址接入(code division multiple access,CDMA)、宽带码分多址(wideband code division multiple access,WCDMA)、时分码分多址(time-division code division multiple access,TD-SCDMA)、长期演进(long termevolution,LTE)、第五代移动通信技术(5th generation mobile networks,5G)、无线局域网(wireless local area networks,WLAN)和无线保真(wireless fidelity,Wi-Fi)网络。
接下来,将详细阐述本申请实施例的CTS测试方法。请参见图2,图2示出了一种CTS测试方法的流程示意图。该CTS测试方法可以应用于如图1所示的测试设备中。如图2所示,该CTS测试方法具体可以包括S201-S203:
S201:获取待测设备的目标运行脚本;该目标运行脚本包括Python脚本、Shell脚本和Bat脚本中的一种或多种。
其中,待测设备可以是如图1中所示的待测设备集群中的任意一个待测设备。
其中,测试设备可以响应于对待测设备进行CTS测试的触发操作,获取待测设备的CTS测试任务,并获取CTS测试任务中所包含的目标运行脚本。其中,对待测设备进行CTS测试的触发操作可以包括多种形式。可选的,可以通过预设的定时触发指令触发待测设备的CTS测试任务,当测试设备检测到包含待测设备的设备标识信息的定时触发指令时,可以确定检测到对待测设备进行CTS测试的触发操作。其中,该定时触发指令可以包括设备标识信息,测试设备可以基于设备标识信息确定待测设备集群中的待测设备,并触发待测设备的CTS测试任务。例如,可以通过蓝盾、Soda等工具部署定时任务,触发CTS测试任务。其中,该设备标识信息可以包括但不限于待测设备的名称和待测设备的型号。
可选的,对待测设备进行CTS测试的触发操作可以是测试设备在测试系统的用户界面检测到存在对待测设备进行CTS测试的触发操作。具体实现中,用户登录到测试系统后,测试设备显示测试系统的用户界面,可如图3中用户界面31所示;用户界面31中可包括多个待测设备的设备标识信息,比如图3中所示的待测设备1的名称“XX”和待测设备2的名称“YY”;每个待测设备的设备标识信息可以对应一个控件,可以表示为“测试”。例如,在图3中待测设备1的设备标识信息“XX”301对应的控件为302。假设待测设备为待测设备1,如果用户在控件为302中输入了触发操作,则确定在测试系统的用户界面中存在对待测设备1进行CTS测试的触发操作。
在一个实施例中,测试设备可以直接获取待测设备的目标运行脚本;该目标运行脚本包括Python脚本、Shell脚本和Bat脚本中的一种或多种。
其中,Python脚本、Shell脚本和Bat脚本可以适用于任意操作系统的待测设备。例如,该操作系统可以包括但不限于安卓系统、苹果系统、微软系统、诺基亚系统、黑莓系统、鸿蒙系统、mac操作系统、linux操作系统和物联网系统等等。
其中,目标运行脚本可以包括代码文件形式的运行脚本,该目标运行脚本可以支持CTS框架。
在一个实施例中,由于CTS测试是一个针对安卓系统的测试,所以若待测设备的操作系统为安卓系统,则测试设备还可以直接利用安卓系统对应的Uiautomator脚本执行CTS测试。具体的,测试设备可以获取待测设备的系统信息,基于待测设备的系统信息确定待测设备的操作系统,控制待测设备安装操作系统。当待测设备的操作系统为安卓系统时,测试设备可以获取待测设备的Uiautomator脚本,并将Uiautomator脚本发送至待测设备,以使得待测设备安装Uiautomator脚本,并执行Uiautomator脚本中的CTS测试用例生成CTS测试结果,并将CTS测试结果返回给测试设备。
其中,Uiautomator脚本可以为APK或者应用程序。
其中,系统信息可以包括但不限于以下一种或多种:名称信息、型号信息和操作系统信息。在一个实施例中,测试设备内可以获取信息列表,该信息列表中包括各个待测设备的系统信息。如表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系统”也存储于操作系统列表项的第二栏。
名称 型号 操作系统
待测设备1 XX xx Android
待测设备2 YY yy iOS
表1
在一个实施例中,测试设备可以在测试系统的操作页面配置生成本申请实施例所提及的各种运行脚本。例如,Python脚本、Shell脚本和Bat脚本或者Uiautomator脚本。可选的,测试设备可以接收用户在操作页面的用户操作,并响应该用户操作生成至少一个CTS测试用例,得到运行脚本。可选的,测试设备还可以调用操作模拟模型模拟用户操作,在操作页面进行配置,生成至少一个CTS测试用例,得到运行脚本。其中,操作模拟模型可以是基于模拟用户操作技术生成的模型,例如,uiautomator技术。具体的,可以通过利用uiautomator技术在待测设备上模拟用户点击屏幕操作配置相关选项,例如,安装Jar包以配置相关的选项形成CTS测试用例。
S202:获取目标运行脚本对应的脚本运行指示信息。
由于原生的CTS框架仅支持谷歌开源框架Uiautomator脚本的自动化测试,原生的CTS框架中可能不包括Python脚本、Shell脚本和Bat脚本的脚本运行指示信息。所以为了能正常运行目标运行脚本,测试设备还需要获取目标运行脚本对应的脚本运行指示信息。其中,该脚本运行指示信息可以包括运行目标运行脚本的命令和/或运行目标运行脚本的参数。
S203:基于脚本运行指示信息运行目标运行脚本,生成待测设备的CTS测试结果。
在一个实施例中,当待测设备可以接收到Uiautomator脚本时,待测设备可以运行Uiautomator脚本中的CTS测试用例得到CTS测试结果,并将CTS测试结果返回给测试设备。
在另一个实施例中,针对目标运行脚本,测试设备可以基于脚本运行指示信息运行目标运行脚本中的至少一个CTS测试用例,得到待测设备的CTS测试结果。具体的,测试设备可以获取目标运行脚本中的目标CTS测试用例,该目标CTS测试用例为目标运行脚本中的至少一个CTS测试用例中的任意一个CTS测试用例,基于脚本运行指示信息运行目标CTS测试用例得到目标CTS测试用例对应的CTS测试结果。
在本申请实施例中,测试设备可以获取待测设备的目标运行脚本;该目标运行脚本包括Python脚本、Shell脚本和Bat脚本中的一种或多种;以及获取目标运行脚本对应的脚本运行指示信息;并基于脚本运行指示信息运行目标运行脚本,生成待测设备的CTS测试结果。由于测试设备可以基于脚本运行指示信息运行目标运行脚本,生成待测设备的CTS测试结果,测试设备不仅可以对待测设备执行Uiautomator脚本的CTS测试,还可以执行Python脚本、Shell脚本和Bat脚本的CTS测试,可以提升CTS测试的兼容性。
参见上述图2所示的方法实施例的相关描述可知,测试设备可以利用图2所示的CTS测试方法可以支持Python脚本、Shell脚本和Bat脚本的CTS测试。测试设备可以对待测设备多次执行图2所示的CTS测试方法。但是随着CTS测试结果的增加,CTS测试结果会占据大量的存储资源。因此,测试设备还可以对CTS测试结果进行汇总分析,汇总生成测试用例执行报告。请参见图4所示,图4示出了另一种CTS测试方法的流程示意图。如图4所示,该CTS测试方法包括S401-S403:
S401:对待测设备的CTS测试结果进行分析,汇总生成CTS测试结果对应的测试用例执行报告。
具体的,测试设备可以对待测设备的多个CTS测试结果进行简单的概括,可以汇总非异常测试用例以及异常测试用例。其中,异常测试用例可以包括执行识别的测试用例、未执行的测试用例和/或超时未执行的测试用例等等。
由于异常测试用例会较大程度的影响测试结果,可选的,测试设备还可以对异常测试用例进行跟踪对比,确定异常测试用例的概率。具体的,测试设备可以记录异常测试用例的类名和测试用例名。当CTS测试结果中异常测试用例具有相同类名和测试用例名时,对所有异常测试用例进行跟踪对比,确定异常测试用例失败的概率。如果一个异常测试用例在多份CTS测试结果中均出现,且该异常测试用例在该多份CTS测试结果中的跟踪均相同,则确定异常测试用例为必现;如果异常测试用例不是在所有的CTS测试结果中都出现时,则确定异常测试用例为偶现。
S402:将测试用例执行报告以表格的形式进行显示。
其中,该测试用例执行报告可以包括非异常测试用例的数量、异常测试用例的数量、异常测试用例的类名、异常测试用例的用例名以及异常测试用例失败的概率中的一项或多项。
在一个实施例中,相应的,本申请实施例中的表格可以包括非异常测试用例的数量列表项、异常测试用例的数量列表项、异常测试用例的类名列表项、异常测试用例的用例名列表项以及异常测试用例失败的概率列表项。其中,非异常测试用例的数量列表项用于显示非异常测试用例的数量,异常测试用例的数量列表项用于显示异常测试用例的数量,异常测试用例的类名列表项用于显示异常测试用例的类名,异常测试用例的用例名列表项用于显示异常测试用例的用例名以及异常测试用例失败的概率列表项用于显示异常测试用例失败的概率。
需要说明的是,这里是对一个待测设备的多份CTS测试结果进行汇总分析得到测试用例执行报告。类似的,测试设备还可以对多个测试设备对应的CTS测试结果进行汇总分析,具体的实现过程可以参考一个待测设备的多份CTS测试结果的汇总分析过程,这里不做赘述。
S403:对测试用例执行报告进行校验,若校验通过,则通过区块链网络中的共识节点对测试用例执行报告进行共识验证;若共识验证通过,则将测试用例执行报告封装成区块,将区块写入区块链。
其中,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证数据不可篡改和不可伪造的分布式账本。多个独立的分布式节点保存相同的记录。区块链技术实现了去中心化,成为了可信的数字资产存储、转移和交易的基石。
以图5所示的区块链的结构示意图为例,在将测试用例执行报告写入区块链时,可以将测试用例执行报告封装为区块,并添加在已有区块链的末端,通过共识算法保证每个节点新添加的区块是完全相同的。每个区块内记录了若干个测试用例执行报告,同时包含了前一个区块的哈希(hash)值,所有区块就是通过这种方式保存前一个区块中的hash值,按顺序相连,组成了区块链。区块链中下一个区块的区块头中会存储前一个区块的哈希值,当前一个区块中的测试用例执行报告发生变化时,本区块的哈希值也会随之改变,因此上传至区块链中的测试用例执行报告难以被篡改,提高了数据的可靠性。
在本申请实施例中,测试设备可以CTS测试结果进行分析,汇总生成CTS测试结果对应的测试用例执行报告,并将测试用例执行报告以表格的形式进行显示。由于测试用例执行报告中对多个CTS测试结果进行了汇总,测试设备可以直接存储基于多个CTS测试结果得到的测试用例执行报告,无需存储大量的CTS测试结果,节省了存储资源。并且,测试用例执行报告中包括了异常测试用例的分析结果,用户可以直接通过测试用例执行报告获取有效信息,无需人工分析,提升了工作效率。
请参见图6,图6是本申请实施例的一种CTS测试装置的结构示意图。该装置可以是测试设备,也可以是测试设备中的装置,或者是能够和测试设备匹配使用的装置。图6所示的CTS测试装置可以包括获取单元601和运行单元602。其中:
获取单元601,用于获取待测设备的目标运行脚本;该目标运行脚本包括Python脚本、Shell脚本和Bat脚本中的一种或多种;
该获取单元601还用于获取目标运行脚本对应的脚本运行指示信息;
运行单元602,用于基于脚本运行指示信息运行目标运行脚本,生成待测设备的CTS测试结果。
在一些可行的实施方式中,该获取单元601还用于:
当待测设备的操作系统为安卓系统时,获取待测设备的Uiautomator脚本;
将Uiautomator脚本发送至待测设备。
在一些可行的实施方式中,该目标运行脚本包括至少一个CTS测试用例,
运行单元602基于脚本运行指示信息运行目标运行脚本,生成待测设备的CTS测试结果,包括:
获取目标CTS测试用例;该目标CTS测试用例为至少一个CTS测试用例中的任意一个CTS测试用例;
运行目标CTS测试用例生成目标CTS测试用例对应的CTS测试结果。
在一些可行的实施方式中,该运行单元602还用于:
对待测设备的CTS测试结果进行分析,汇总生成CTS测试结果对应的测试用例执行报告;
将测试用例执行报告以表格的形式进行显示。
在一些可行的实施方式中,该运行单元602还用于:
根据CTS测试结果确定CTS测试用例中的异常测试用例;
对异常测试用例进行跟踪对比,确定异常测试用例的概率。
在一些可行的实施方式中,该运行单元602还用于:
对测试用例执行报告进行校验,若校验通过,则通过区块链网络中的共识节点对测试用例执行报告进行共识验证;
若共识验证通过,则将测试用例执行报告封装成区块,将区块写入区块链。
在一些可行的实施方式中,该获取单元601还用于:
获取待测设备的系统信息;
基于待测设备的系统信息确定待测设备的操作系统;
控制待测设备安装操作系统。
上述CTS测试装置例如可以是:芯片、或者模组设备。关于上述实施例中描述的各个装置、产品包含的各个单元,其可以是软件单元,也可以是硬件单元,或者也可以部分是软件单元,部分是硬件单元。例如,对于应用于或集成于芯片的各个装置、产品,其包含的各个单元可以都采用电路等硬件的方式实现,或者,至少部分单元可以采用软件程序的方式实现,该软件程序运行于芯片内部集成的处理器,剩余的(如果有)部分单元可以采用电路等硬件方式实现;对于应用于或集成于模组设备的各个装置、产品,其包含的各个单元可以都采用电路等硬件的方式实现,不同的单元可以位于模组设备的同一组件(例如芯片、电路单元等)或者不同组件中,或者,至少部分单元可以采用软件程序的方式实现,该软件程序运行于模组设备内部集成的处理器,剩余的(如果有)部分单元可以采用电路等硬件方式实现;对于应用于或集成于测试设备的各个装置、产品,其包含的各个单元可以都采用电路等硬件的方式实现,不同的单元可以位于测试设备内同一组件(例如,芯片、电路单元等)或者不同组件中,或者,至少部分单元可以采用软件程序的方式实现,该软件程序运行于测试设备内部集成的处理器,剩余的(如果有)部分单元可以采用电路等硬件方式实现。
其中,该实施方式的相关内容可参见上述方法实施例的相关内容。此处不再详述。本申请实施例和上述方法实施例基于同一构思,其带来的技术效果也相同,具体原理请参照上述方法实施例的描述,在此不赘述。
请参见图7,图7为本申请实施例提供的一种测试设备的结构示意图。该测试设备包括:处理器701、存储器702,处理器701和存储器702通过一条或多条通信总线703连接。
上述处理器701可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。处理器701被配置为支持测试设备执行前述CTS测试方法中测试设备相应的功能。
上述存储器702可以包括只读存储器和随机存取存储器,并向处理器701提供计算机程序和数据。存储器702的一部分还可以包括非易失性随机存取存储器。其中,该处理器701调用所述计算机程序时用于执行:
获取待测设备的目标运行脚本;该目标运行脚本包括Python脚本、Shell脚本和Bat脚本中的一种或多种;
获取目标运行脚本对应的脚本运行指示信息;
基于脚本运行指示信息运行目标运行脚本,生成待测设备的CTS测试结果。
在一些可行的实施方式中,该处理器701还用于:
当待测设备的操作系统为安卓系统时,获取待测设备的Uiautomator脚本;
将Uiautomator脚本发送至待测设备。
在一些可行的实施方式中,该目标运行脚本包括至少一个CTS测试用例,
该处理器701基于脚本运行指示信息运行目标运行脚本,生成待测设备的CTS测试结果,包括:
获取目标CTS测试用例;该目标CTS测试用例为至少一个CTS测试用例中的任意一个CTS测试用例;
运行目标CTS测试用例生成目标CTS测试用例对应的CTS测试结果。
在一些可行的实施方式中,该处理器701还用于:
对待测设备的CTS测试结果进行分析,汇总生成CTS测试结果对应的测试用例执行报告;
将测试用例执行报告以表格的形式进行显示。
在一些可行的实施方式中,该处理器701还用于:
根据CTS测试结果确定CTS测试用例中的异常测试用例;
对异常测试用例进行跟踪对比,确定异常测试用例的概率。
在一些可行的实施方式中,该处理器701还用于:
对测试用例执行报告进行校验,若校验通过,则通过区块链网络中的共识节点对测试用例执行报告进行共识验证;
若共识验证通过,则将测试用例执行报告封装成区块,将区块写入区块链。
在一些可行的实施方式中,该处理器701还用于:
获取待测设备的系统信息;
基于待测设备的系统信息确定待测设备的操作系统;
控制待测设备安装操作系统。
其中,该实施方式的相关内容可参见上述方法实施例的相关内容。此处不再详述。本申请实施例和上述方法实施例基于同一构思,其带来的技术效果也相同,具体原理请参照上述方法实施例的描述,在此不赘述。
本申请实施例提供一种芯片,该芯片可以执行前述方法实施例中测试设备的相关步骤。该芯片用于:
获取待测设备的目标运行脚本;该目标运行脚本包括Python脚本、Shell脚本和Bat脚本中的一种或多种;
获取目标运行脚本对应的脚本运行指示信息;
基于脚本运行指示信息运行目标运行脚本,生成待测设备的CTS测试结果。
在一些可行的实施方式中,该芯片还用于:
当待测设备的操作系统为安卓系统时,获取待测设备的Uiautomator脚本;
将Uiautomator脚本发送至待测设备。
在一些可行的实施方式中,该目标运行脚本包括至少一个CTS测试用例,
该芯片基于脚本运行指示信息运行目标运行脚本,生成待测设备的CTS测试结果,包括:
获取目标CTS测试用例;该目标CTS测试用例为至少一个CTS测试用例中的任意一个CTS测试用例;
运行目标CTS测试用例生成目标CTS测试用例对应的CTS测试结果。
在一些可行的实施方式中,该芯片还用于:
对待测设备的CTS测试结果进行分析,汇总生成CTS测试结果对应的测试用例执行报告;
将测试用例执行报告以表格的形式进行显示。
在一些可行的实施方式中,该芯片还用于:
根据CTS测试结果确定CTS测试用例中的异常测试用例;
对异常测试用例进行跟踪对比,确定异常测试用例的概率。
在一些可行的实施方式中,该芯片还用于:
对测试用例执行报告进行校验,若校验通过,则通过区块链网络中的共识节点对测试用例执行报告进行共识验证;
若共识验证通过,则将测试用例执行报告封装成区块,将区块写入区块链。
在一些可行的实施方式中,该芯片还用于:
获取待测设备的系统信息;
基于待测设备的系统信息确定待测设备的操作系统;
控制待测设备安装操作系统。
其中,该实施方式的相关内容可参见上述方法实施例的相关内容。此处不再详述。本申请实施例和上述方法实施例基于同一构思,其带来的技术效果也相同,具体原理请参照上述方法实施例的描述,在此不赘述。
本申请实施例还提供一种模组设备,模组设备包括处理器和通信接口,处理器与通信接口相连,通信接口用于收发信号,处理器用于:
获取待测设备的目标运行脚本;该目标运行脚本包括Python脚本、Shell脚本和Bat脚本中的一种或多种;
获取目标运行脚本对应的脚本运行指示信息;
基于脚本运行指示信息运行目标运行脚本,生成待测设备的CTS测试结果。
在一些可行的实施方式中,该处理器还用于:
当待测设备的操作系统为安卓系统时,获取待测设备的Uiautomator脚本;
将Uiautomator脚本发送至待测设备。
在一些可行的实施方式中,该目标运行脚本包括至少一个CTS测试用例,
该处理器基于脚本运行指示信息运行目标运行脚本,生成待测设备的CTS测试结果,包括:
获取目标CTS测试用例;该目标CTS测试用例为至少一个CTS测试用例中的任意一个CTS测试用例;
运行目标CTS测试用例生成目标CTS测试用例对应的CTS测试结果。
在一些可行的实施方式中,该处理器还用于:
对待测设备的CTS测试结果进行分析,汇总生成CTS测试结果对应的测试用例执行报告;
将测试用例执行报告以表格的形式进行显示。
在一些可行的实施方式中,该处理器还用于:
根据CTS测试结果确定CTS测试用例中的异常测试用例;
对异常测试用例进行跟踪对比,确定异常测试用例的概率。
在一些可行的实施方式中,该处理器还用于:
对测试用例执行报告进行校验,若校验通过,则通过区块链网络中的共识节点对测试用例执行报告进行共识验证;
若共识验证通过,则将测试用例执行报告封装成区块,将区块写入区块链。
在一些可行的实施方式中,该处理器还用于:
获取待测设备的系统信息;
基于待测设备的系统信息确定待测设备的操作系统;
控制待测设备安装操作系统。
其中,该实施方式的相关内容可参见上述方法实施例的相关内容。此处不再详述。本申请实施例和上述方法实施例基于同一构思,其带来的技术效果也相同,具体原理请参照上述方法实施例的描述,在此不赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时,可以用于实现本申请实施例描述的CTS测试方法,在此不再赘述。
计算机可读存储介质可以是前述任一实施例的测试设备的内部存储单元,例如测试设备的硬盘或内存。计算机可读存储介质也可以是测试设备的外部存储设备,例如测试设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,计算机可读存储介质还可以既包括测试设备的内部存储单元也包括外部存储设备。计算机可读存储介质用于存储计算机程序以及测试设备所需的其他程序和数据。计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于可读取存储介质中,所述程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (11)

1.一种CTS测试方法,其特征在于,所述方法包括:
基于待测设备的系统信息确定所述待测设备的操作系统;
当所述待测设备的操作系统不为安卓系统时,获取所述待测设备的目标运行脚本;所述目标运行脚本包括Python脚本、Shell脚本和Bat脚本中的一种或多种;所述Python脚本、Shell脚本和Bat脚本适用于任意操作系统的待测设备;
获取所述目标运行脚本对应的脚本运行指示信息;
基于所述脚本运行指示信息运行所述目标运行脚本,生成所述待测设备的CTS测试结果。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
当所述待测设备的操作系统为安卓系统时,基于Uiautomator脚本生成所述待测设备的CTS测试结果。
3.如权利要求1所述的方法,其特征在于,所述目标运行脚本包括至少一个CTS测试用例,所述基于所述脚本运行指示信息运行所述目标运行脚本生成所述待测设备的CTS测试结果,包括:
获取目标CTS测试用例;所述目标CTS测试用例为所述至少一个CTS测试用例中的任意一个CTS测试用例;
运行所述目标CTS测试用例生成所述目标CTS测试用例对应的CTS测试结果。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
对所述待测设备的CTS测试结果进行分析,汇总生成所述CTS测试结果对应的测试用例执行报告;
将所述测试用例执行报告以表格的形式进行显示。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
根据所述CTS测试结果确定所述CTS测试用例中的异常测试用例;
对所述异常测试用例进行跟踪对比,确定所述异常测试用例的概率。
6.如权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
对所述测试用例执行报告进行校验,若校验通过,则通过区块链网络中的共识节点对所述测试用例执行报告进行共识验证;
若共识验证通过,则将所述测试用例执行报告封装成区块,将所述区块写入区块链。
7.一种CTS测试装置,其特征在于,所述装置包括:
确定单元,用于基于待测设备的系统信息确定所述待测设备的操作系统;
获取单元,用于当所述待测设备的操作系统不为安卓系统时,获取所述待测设备的目标运行脚本;所述目标运行脚本包括Python脚本、Shell脚本和Bat脚本中的一种或多种;所述Python脚本、Shell脚本和Bat脚本适用于任意操作系统的待测设备;
所述获取单元还用于获取所述目标运行脚本对应的脚本运行指示信息;
运行单元,用于基于所述脚本运行指示信息运行所述目标运行脚本,生成所述待测设备的CTS测试结果。
8.一种测试设备,其特征在于,包括处理器和存储器,所述处理器和存储器相连,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行如权利要求1至6任意一项所述的CTS测试方法。
9.一种芯片,其特征在于,所述芯片包括处理器;
所述处理器用于基于待测设备的系统信息确定所述待测设备的操作系统;
当所述待测设备的操作系统不为安卓系统时,获取所述待测设备的目标运行脚本;所述目标运行脚本包括Python脚本、Shell脚本和Bat脚本中的一种或多种;所述Python脚本、Shell脚本和Bat脚本适用于任意操作系统的待测设备;
获取所述目标运行脚本对应的脚本运行指示信息;
基于所述脚本运行指示信息运行所述目标运行脚本,生成所述待测设备的CTS测试结果。
10.一种CTS测试相关的模组设备,其特征在于,所述模组设备包括处理器和通信接口,所述处理器与所述通信接口相连,所述通信接口用于收发信号,所述处理器用于:
基于待测设备的系统信息确定所述待测设备的操作系统;
当所述待测设备的操作系统不为安卓系统时,获取所述待测设备的目标运行脚本;所述目标运行脚本包括Python脚本、Shell脚本和Bat脚本中的一种或多种;所述Python脚本、Shell脚本和Bat脚本适用于任意操作系统的待测设备;
获取所述目标运行脚本对应的脚本运行指示信息;
基于所述脚本运行指示信息运行所述目标运行脚本,生成所述待测设备的CTS测试结果。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1至6任意一项所述的CTS测试方法。
CN202110858631.7A 2021-07-28 2021-07-28 一种cts测试方法、装置及测试设备 Active CN113535580B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110858631.7A CN113535580B (zh) 2021-07-28 2021-07-28 一种cts测试方法、装置及测试设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110858631.7A CN113535580B (zh) 2021-07-28 2021-07-28 一种cts测试方法、装置及测试设备

Publications (2)

Publication Number Publication Date
CN113535580A CN113535580A (zh) 2021-10-22
CN113535580B true CN113535580B (zh) 2023-04-14

Family

ID=78089526

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110858631.7A Active CN113535580B (zh) 2021-07-28 2021-07-28 一种cts测试方法、装置及测试设备

Country Status (1)

Country Link
CN (1) CN113535580B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116991641A (zh) * 2023-06-25 2023-11-03 珠海妙存科技有限公司 基于fio的兼容性测试方法、装置、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111124919A (zh) * 2019-12-24 2020-05-08 浙江诺诺网络科技有限公司 一种用户界面的测试方法、装置、设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8028276B1 (en) * 2007-06-29 2011-09-27 Oracle America, Inc. Method and system for generating a test file
CN105302722B (zh) * 2015-11-03 2021-09-07 腾讯科技(深圳)有限公司 Cts自动测试方法及装置
CN108170608A (zh) * 2018-01-10 2018-06-15 上海展扬通信技术有限公司 兼容性测试方法、测试终端及存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111124919A (zh) * 2019-12-24 2020-05-08 浙江诺诺网络科技有限公司 一种用户界面的测试方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN113535580A (zh) 2021-10-22

Similar Documents

Publication Publication Date Title
CN109302522B (zh) 测试方法、装置以及计算机系统和介质
CN107870860B (zh) 埋点验证系统及方法
CN111427803B (zh) 自动化随机测试方法、装置、计算机设备及介质
CN109683997B (zh) 通过沙箱访问应用程序接口的方法、沙箱及沙箱设备
CN108491321B (zh) 测试用例范围确定方法、装置及存储介质
CN106940695B (zh) 数据源信息的校验方法及装置
CN108255701B (zh) 场景测试方法及移动终端
WO2019071891A1 (zh) 代码覆盖率分析方法及应用服务器
CN113190464B (zh) mock测试方法、装置、电子设备及介质
CN105487966A (zh) 程序测试方法、装置及系统
CN107404418B (zh) 互联网产品测试方法、装置、设备及存储介质
CN104579830B (zh) 服务监控方法及装置
CN109558313B (zh) 构建异常测试场景的方法及装置
CN105404574B (zh) 一种智能卡与移动终端一致性测试方法及装置
CN113535580B (zh) 一种cts测试方法、装置及测试设备
CN111597069A (zh) 程序处理方法、装置、电子设备和存储介质
CN114816993A (zh) 一种全链路接口测试方法、系统、介质及电子设备
CN104809063A (zh) 分布式系统的测试方法及装置
CN113535578B (zh) 一种cts测试方法、装置及测试设备
CN112115060A (zh) 基于终端的音频测试方法与系统
CN104424098A (zh) 一种应用测试方法及装置
CN105354075A (zh) 一种软硬件协同仿真的同步方法
CN107247661B (zh) 支持对应用的安装包进行自动化验证的方法和系统
CN115934503A (zh) 程序测试方法、装置、设备及存储介质
CN114218011A (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
GR01 Patent grant
GR01 Patent grant