CN111367812A - 测试方法、电子设备及可读存储介质 - Google Patents
测试方法、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN111367812A CN111367812A CN202010170789.0A CN202010170789A CN111367812A CN 111367812 A CN111367812 A CN 111367812A CN 202010170789 A CN202010170789 A CN 202010170789A CN 111367812 A CN111367812 A CN 111367812A
- Authority
- CN
- China
- Prior art keywords
- instruction
- application program
- test
- target application
- electronic device
- 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
- 238000010998 test method Methods 0.000 title claims abstract description 10
- 238000012360 testing method Methods 0.000 claims abstract description 255
- 238000000034 method Methods 0.000 claims abstract description 35
- 238000013515 script Methods 0.000 claims description 29
- 238000004891 communication Methods 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 7
- 238000001514 detection method Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 19
- 230000007547 defect Effects 0.000 abstract description 6
- 239000002699 waste material Substances 0.000 abstract description 5
- 238000011161 development Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 244000299461 Theobroma cacao Species 0.000 description 2
- 235000009470 Theobroma cacao Nutrition 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 241000208306 Apium Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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/3684—Test management for test design, e.g. generating new test cases
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
技术领域
本发明涉及互联网技术领域,特别是涉及一种测试方法、电子设备及可读存储介质。
背景技术
众所周知,在应用程序(Application,APP)的开发中,开发者通常具有对自身或竞争对手的APP进行测试,以获取APP性能参数的需求。现有技术中,通常采用在电子设备上手动操作APP的方式进行测试,整个测试过程费时费力。
发明内容
本发明实施例的目的在于提供一种测试方法、电子设备及可读存储介质,以克服现有技术中通过手动操作应用程序进行测试带来的费时费力的缺陷。具体技术方案如下:
在本发明实施的第一方面,首先提供了一种测试方法,应用于第一电子设备,所述方法包括:
在接收到用户的第一输入的情况下,向第二电子设备发送第一指令与第二指令,其中,所述第一指令用于控制所述第二电子设备对被测设备进行检测,所述第二指令用于触发所述第二电子设备控制被测设备针对目标应用程序执行目标操作;
接收所述第二电子设备发送的测试结果,所述测试结果与目标性能指标测试数据相对应,所述目标性能指标测试数据为所述被测设备中所述目标应用程序执行所述目标操作时,所述第二电子设备检测到的所述目标应用程序的性能指标所关联的测试数据。
在本发明实施的第二方面,还提供了一种测试方法,应用于第二电子设备,所述方法包括:
接收第一电子设备发送的第一指令与第二指令;
响应于所述第二指令,控制被测设备针对目标应用程序执行目标操作;
响应于所述第一指令,检测被测设备中所述目标应用程序执行所述目标操作时,所述目标应用程序的性能指标所关联的测试数据;
将与所述测试数据对应的测试结果发送至所述第一电子设备。
在本发明实施的第三方面,还提供了第一电子设备,包括:
发送模块,用于在接收到用户的第一输入的情况下,向第二电子设备发送第一指令与第二指令,其中,所述第一指令用于控制所述第二电子设备对被测设备进行检测,所述第二指令用于触发所述第二电子设备控制被测设备针对目标应用程序执行目标操作;
接收模块,用于接收所述第二电子设备发送的测试结果,所述测试结果与目标性能指标测试数据相对应,所述目标性能指标测试数据为所述被测设备中所述目标应用程序执行所述目标操作时,所述第二电子设备检测到的所述目标应用程序的性能指标所关联的测试数据。
在本发明实施的第四方面,还提供了第二电子设备,包括:
接收模块,用于接收第一电子设备发送的第一指令与第二指令;
控制模块,用于响应于所述第二指令,控制被测设备针对目标应用程序执行目标操作;
检测模块,用于响应于所述第一指令,检测被测设备中所述目标应用程序执行所述目标操作时,所述目标应用程序的性能指标所关联的测试数据;
发送模块,用于将与所述测试数据对应的测试结果发送至所述第一电子设备。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的测试方法。
在本发明实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的测试方法。
本发明实施例提供的测试方法中,第一电子设备可以通过发送第一指令与第二指令实现对第二电子设备的控制,其中,第二电子设备则能够根据第一指令,控制被测设备针对目标应用程序执行目标操作,根据第二指令检测目标应用程序的性能指标所关联的测试数据,并将与上述测试数据相对应测试结果发送第一电子设备;从而克服了现有技术中通过手动操作应用程序进行测试带来的费时费力的缺陷,提高了测试过程的自动化程度,节省人力和时间成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的应用于第一电子设备的测试方法的流程图;
图2为本发明实施例中第一电子设备发送指令的流程图;
图3为本发明实施例提供的应用于第二电子设备的测试方法的流程图;
图4为本发明实施例中对目标应用程序进行测试的流程图;
图5为本发明实施例中各个终端连接的拓扑图;
图6为本发明实施例中Appium测试用例执行原理图;
图7为本发明实施例提供的第一电子设备的结构示意图;
图8为本发明实施例提供的第二电子设备的结构示意图;
图9为本发明实施例提供的电子设备的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
本发明实施例提供的一种测试方法,应用于第一电子设备,如图1所示,所述方法包括:
步骤S101,在接收到用户的第一输入的情况下,向第二电子设备发送第一指令与第二指令,其中,所述第一指令用于控制所述第二电子设备对被测设备进行检测,所述第二指令用于触发所述第二电子设备控制被测设备针对目标应用程序执行目标操作;
步骤S102,接收所述第二电子设备发送的测试结果,所述测试结果与目标性能指标测试数据相对应,所述目标性能指标测试数据为所述被测设备中所述目标应用程序执行所述目标操作时,所述第二电子设备检测到的所述目标应用程序的性能指标所关联的测试数据。
可以理解的,本发明实施例提供的测试方法,主要是为了对目标应用程序进行测试,以获取目标应用程序的相关性能指标的参数,即测试结果,性能指标可以是响应时间、资源使用率等等。上述被测设备即安装有目标应用程序,并可以执行目标应用程序的设备。此处的目标应用程序,可以是安装于被测设备中全部应用程序或者全部应用程序中的一个或多个应用程序,可根据实际测试需要进行设定。
第二电子设备一方面可以控制被测设备针对目标应用程序执行目标操作,例如启动目标应用程序、滑动目标应用程序的运行界面、关闭目标应用程序等等,以代替在被测设备上手动操作目标应用程序,节省人力和时间成本;另一方面,可以对被测设备进行检测,以获取目标应用程序的性能指标所关联的测试数据,即上述的目标性能指标测试数据;通过对目标性能指标测试数据进行解析等进一步处理,即可得到对应的测试结果。
第一电子设备与一个第二电子设备连接,或者同时与多个第二电子设备连接,例如有线连接或者无线连接,具体的连接方式此次不做限定。第一电子设备可以向第二电子设备发送第一指令与第二指令,其中,第一指令用于控制第二电子对被测设备进行检测,第二指令用于触发第二电子设备控制被测设备针对目标应用程序执行目标操作。
具体到实际应用中,第一电子设备可以响应于用户的第一输入,向第二电子设备发送第一指令与第二指令;在一可行的实施方式中,上述第一输入可以对应为用户对第一电子设备上的某一测试选项的点击操作,该测试选项可以对应有第二电子设备的地址信息、目标应用程序的信息、目标操作的信息等信息,这些信息都可以携带在第一指令或第二指令中,这样,第二电子设备在接收到第一指令与第二指令时,即可控制被测设备针对目标应用程序执行目标操作。
本发明实施例中,第一电子设备可以通过发送第一指令与第二指令实现对第二电子设备的控制,其中,第二电子设备则能够根据第一指令,控制被测设备针对目标应用程序执行目标操作,根据第二指令检测目标应用程序的性能指标所关联的测试数据,并将与上述测试数据相对应测试结果发送第一电子设备;从而克服了现有技术中通过手动操作应用程序进行测试带来的费时费力的缺陷,提高了测试过程的自动化程度,节省人力和时间成本。此外,当第一电子设备与多个第二电子设备连接时,可以同时向多个第二电子设备发送第一指令与第二指令,远程控制多个第二电子设备能够以并行的方式执行测试任务,有效提高测试效率。
以下结合一具体应用实施例对上述测试方式进行说明:
上述被测设备搭载有苹果系统(下称IOS系统),第二电子设备搭载有苹果电脑系统(下称MacOS系统)。MacOS系统属于类尤尼克斯系统(下称Unix系统),MacOS系统上通常具有Xcode开发平台,用于提供集成开发工具。Instrument是Xcode开发平台提供的一种检测工具,可以用于动态跟踪以及分析MacOS系统代码和iOS系统代码。Instrument可以从不同维度分析应用程序的性能指标,例如:内存泄露(Leaks)、僵尸进程(Zombies)、页面渲染帧率(Core Animation)、程序耗时(Time Profiler)、布局(Cocoa Layout)、耗电量(EnergyDiagnostics)、网络(Network)等。
Instrument的指令结构可以是如下所示:
instruments–t‘Core Animation’–w‘iPhone SE(11.0.1)’MyApp.app–D./User/Desktop/output.trace
其中,“–t”参数对应填写需要测试的性能指标,除了指令结构中所示的CoreAnimation,还可以是上述的Leaks、Zombiess、Time Profiler、Cocoa Layout、EnergyDiagnostics、Network等;“–w”参数对应填写需要测试的设备型号,例如“iPhone SE(11.0.1)”;在设备型号后方还可以填写需要测试的应用程序,例如“MyApp.app”,实际应用中,此处不填写应用程序并不影响正常的结果输出;“–D”参数对应填写测试数据保存的路径及保存的文件的名称,例如“./User/Desktop/output.trace”,通常情况下,测试数据保存的文件的名称以“.trace”为后缀。
Instrument提供了界面化的自动化测试能力,但是通过仅能够针对开发包(或称为Debug包,开发专用应用程序,和例如苹果应用程序商店AppStore中的正式应用程序存在差异)。为克服以上缺陷,本具体应用实施例中,在第二电子设备中应用了Xcode开发平台的命令行工具包(通常称作Xcode command line,直译为Xcode命令行)中的Instruments命令行工具。
具体地,在本具体应用实施例中,通过Instruments命令行工具来调用Instrument进行检测,可以不用在界面化的Instrument中指定对某一个应用程序进行测试,启动Instruments命令行工具即启动测试,可以不局限于应用程序的属性,既可以测试开发包,也可以测试测试包(或称为Release包)、正式应用程序等,扩大了测试方法的适用范围。
以下结合一示例对Instruments命令行工具与Instrument之间的工作原理进行说明:在被测设备与第二电子设备连接,且能够进行信息传输(例如通过USB连接)的情况下,启动Instruments命令行工具,并依据已输入的指令参数(例如上述的“–t”参数、“–w”参数、“–D”参数等)执行Instrument,此时在用户指定的测试数据保存路径下自动生成一个后缀为“.trace”的文件,该文件可用于记录测试中检测到的测试数据;在被测设备中针对需要测试的应用程序(即目标应用程序)进行操作,例如打开目标应用程序,令当前运行界面保持预设时间等;通过Instruments命令行工具控制结束Instruments的测试进程。以上步骤完成后,上述后缀为“.trace”的文件实际上记录了从Instruments执行到结束过程中在被测设备中针对目标应用程序进行操作时,目标应用程序的性能指标所关联的测试数据。
可以理解的是,上述第一电子设备发送的第一指令可以是值用于控制在第二电子设备中启动Instruments命令行工具的指令;而对于Instrument的指令参数,可以是预先在第二电子设备上输入的,也可以是携带于第一指令,由第一电子设备发送至第二电子设备的。
以下继续针对第一电子设备向第二电子设备发送第二指令,并通过第二第二指令触发所述第二电子设备控制被测设备针对目标应用程序执行目标操作的一个具体应用实施例进行说明。
对于第二电子设备,还可以安装有Appium,Appium是一种具备高度复用性与定制化的自动化框架,支持对IOS系统与安卓(Android)系统中的原生应用程序,网络应用程序以及混合应用程序进行测试。Appium对应的框架采用了客户端/服务端(Client/Server,C/S)架构,其核心是一个网络服务器。Appium提供了一套表述性状态传递(RepresentationalState Transfer,REST)的端口,并监听端口命令(Command)。当Appium接收到由Client发送来的Command;可以翻译这些Command,并把这些Command转成被测设备可以识别的形式并发送给被测设备;被测设备执行完这些Command后把执行结果返回给Server;Server再把执行结果返回给Client。
Appium包括了界面化客户端以及命令行工具(为进行区别,以下称为Appium命令行工具)。以下对Appium的具体组成与功能进行说明:
Client:即客户端,主要负责将使用不同语言编写的执行步骤代码(即对应了上文中的Command)转换为目标指令;
Server:服务端,主要负责将Client发送来的目标指令翻译为网络请求发送给移动端驱动代理;
AppDriver:移动端驱动代理,主要负责接受Server发送的网络请求并在指定的应用程序上执行这些网络请求中所对应的操作步骤(例如点击应用程序的运行界面的某个区域,将应用程序退入后台,强制关闭应用程序等)。
如图6所述,在一个示例中,Server与AppDriver建立连接,当Appium服务(位于第二电子设备一端,例如苹果电脑Mac端)启动后,Client可以将例如Java、Python、JavaScript等格式的执行步骤代码翻译为操作指令发送给Server,Server通过USB连接的方式将操作指令包装为单个HTTP网络请求发送给移动端(对应被测设备)的AppDriver,AppDriver将响应码返回给Client,同时,AppDriver接受到网络请求后进行翻译,并控制被测设备针对目标应用程序执行相应的操作。
在另一个示例中,可以充分利用Appium的C/S架构,利用HTTP网络请求的方式携带传递执行步骤代码,能够不依赖USB将第二电子设备与被测设备连接,实现无线远程建立虚拟链接并执行上述执行步骤代码。
对于Appium界面化客户端,Client与Server都是在Appium内部,也就是需要在第二电子设备上运行,AppDriver则安装于被测设备(例如手机等)中。Appium界面化客户端适合针对单个复杂测试用例进行设计和执行,用户可以根据操作需求(例如启动目标应用程序→等待2s→在目标应用程序的运行界面中滑动1/2屏幕距离,每次滑动时间0.5s,持续8次→强制关闭目标应用程序),在Client侧编写完整的执行步骤代码。
也就是说,通常情况下,Client往往只是对应第二电子设备上的一段代码,例如java代码、ruby代码、python代码或者js代码等,只要能够实现webdriver标准协议即可。
本具体应用实施例中,通过Appium命令行工具来调用Appium服务,Server与AppDriver连接成功后,AppDriver可以根据接收到的网络请求,控制被测设备针对目标应用程序执行上述测试用例所对应的目标操作。
上述第二指令,可以认为是第一电子设备发出的,用于控制在第二电子设备中启动Appium命令行工具的指令;对于上述执行步骤代码,可以是直接在第二电子设备上进行编写的,也可以是携带于第二指令,由第一电子设备发送至第二电子设备的。
以上Appium的C/S框架结合Instruments的测试的自动化执行方案,解决了当今大多数自动化测试框架的高侵入性的缺陷。
为使得第一电子设备能够依据第一输入,向第二电子设备发送第一指令与第二指令,本具体应用实施例中,在第一电子设备中安装有Jenkins。Jenkins是一种能够提供持续集成的系统,在Jenkins中能够实现项目的自动编译、分发、部署和测试等,还能够定时触发执行,搜集结果上传分析等等。
Jenkins可以通过IP寻址远程控制第二电子设备在指定本地目录下的程序的执行,显而易见,Jenkins可以做到通过指令远程触发第二电子设备执行指定的命令行工具(或者应用程序、测试用例等),该过程称为任务构建。当Jenkins触发其管理的一台第二电子设备执行一个命令行工具时,对于Jenkins而言这是一个任务构建的过程。由于在单台第二电子设备上的命令行工具的执行是串行的,若将多台第二电子设备接入到Jenkins进行管理,则能够实现同时触发多个任务执行,并发构建多个串行任务队列,进而提高测试效率。
与此同时,Jenkins还能够执行定时触发、远程监控、拉起录屏,定制化构建细节,邮件自动发送等附带功能。
Jenkins的通常是作为应用程序自动构建,一般情况下是用来自动打包(生产可以执行的程序包),但是本实施例利用了Jenkins可以访问远程的主机目录的特点,将命令行工具看作一个可以远程控制的程序执行,将测试结果作为要生产的数据,一方面促使Instruments的测试框架自动化能力提高,另一方面是充分利用Jenkins的特点让整个测试流程更简单高效。
可选地,为使得第一指令与第二指令能够按照特定的要求进行发送,如图2所示,本实施例中,上述步骤S102,在接收到用户的第一输入的情况下,向第二电子设备发送第一指令与第二指令,包括:
步骤S201,在接收到用户的第一输入的情况下,获取测试脚本,其中,所述测试脚本记录有第二电子设备与目标应用程序的对应关系;
步骤S202,执行所述测试脚本,生成第一指令与第二指令;
步骤S203,将所述第一指令与所述第二指令发送至所述第二电子设备。
以下基于上文中具体应用实施例中的Jenkins+Appium+Instruments的技术方案,对本实施例中利用测试脚本生成第一指令与第二指令的实现方式进行说明。
测试脚本可以是Shell脚本,Shell脚本是一种以命令行为运行环境的轻量级脚本语言,一个Shell脚本能够链接多个独立的操作步骤形成一个完整操作集。因此,可以利用Shell脚本将Instruments命令行工具的执行步骤与Appium命令行工具的执行步骤进行整合。在一个示例中,Instruments的指令参数与Client的执行步骤代码均可以是Shell脚本的组成部分。
由于Jenkins能够实现测试脚本定时触发,用户能够通过Jenkins简单的用户界面随时Shell脚本的执行、暂停、终止。由于Jenkins是控制远程主机(集成了Jenkins系统的测试专用主机),用户仅需关注Jenkins任务执行实况即可;此外,Jenkins还能够监控测试过程日志、自动安装卸载测试包以及日志上传、以及实现同时触发多个任务执行,并发构建多个串行任务队列等,极大提高了测试过程的便捷性与测试效率,降低了人力和时间成本。
如图4所示,在一个示例中,通过基于Jenkins、Appium、Instruments以及Shell脚本的应用,可以实现如下工作过程:
1)Jenkins系统自动触发Shell脚本;
2)开始执行用于测试的Shell脚本;
3)第一电子设备发送第二指令,控制第二电子设备启动Appium命令行工具,启动Appium服务器与移动设备(对应被测设备)建立链接;
4)第一电子设备发送第一指令,控制第二电子设备启动Instruments命令行工具,执行Instruments;
5)并生成.trace文件,等待测试用例执行;
6)启动Appium Client的执行程序(即启动执行测试用例),此时,根据测试用例,可在移动设备中启动APP,点击显示界面中的区域A,持续滑动显示界面的区域B等等;
7)结束Instruments命令行工具的进程,保存.trace文件;
8)结束Appium服务,断开Appium Server与移动设备的链接;
9)第二电子设备反馈信息告知Jenkins系统测试测试任务执行完毕。
如图5所示,在一个可行的实施方式中,第一电子设备形成了Jenkins控制平台,Jenkins控制平台与多个测试主机(对应第二电子设备)网络链接,并可以同时访问每一台测试主机中的指定本地目录下的命令行工具(或者是应用程序、测试脚本等),实现对测试主机进行远程控制,每同测试主机均连接有移动设备(对应被测设备),不同测试主机可以链接不同型号的移动设备以实现对多个机型的覆盖。测试人员面向Jenkins控制平台,每一台测试主机都是Jenkins中的一个可以被构建的测试任务。对于单个测试任务(即测试主机)可以定制测试执行队列,同时可以并发控制所有的测试任务(即测试主机)。
本发明实施例还提供一种应用于第二电子设备的测试方法,如图3所示,所述方法包括:
步骤S301,接收第一电子设备发送的第一指令与第二指令;
步骤S302,响应于所述第二指令,控制被测设备针对目标应用程序执行目标操作;
步骤S303,响应于所述第一指令,检测被测设备中所述目标应用程序执行所述目标操作时,所述目标应用程序的性能指标所关联的测试数据;
步骤S304,将与所述测试数据对应的测试结果发送至所述第一电子设备。
容易理解的是,本发明实施例提供的测试方法,主要是为了对目标应用程序进行测试,以获取目标应用程序的相关性能指标的参数,即测试结果,性能指标可以是响应时间、资源使用率等等。上述被测设备即安装有目标应用程序,并可以执行目标应用程序的设备。此处的目标应用程序,可以是安装于被测设备中全部应用程序或者全部应用程序中的一个或多个应用程序,可根据实际测试需要进行设定。
第二电子设备为与被测设备进行连接的电子设备,本实施例中,第二电子设备并非主动对被测设备进行测试,而是在接收到第一电子设备发送的第二指令后,控制被测设备针对目标应用程序执行目标操作,在接收到第一电子设备发送的第一指令后,检测被测设备中所述目标应用程序执行所述目标操作时,所述目标应用程序的性能指标所关联的测试数据。也就是说,第一电子设备可以通过远程控制的方式,来控制第二电子设备对被测设备进行测试。
上述目标操作可以是启动目标应用程序、滑动目标应用程序的运行界面、关闭目标应用程序等等,通过第二电子设备来控制被测设备中目标应用程序执行目标操作,可以代替在被测设备上手动操作目标应用程序,节省人力和时间成本;与此同时,第一电子设备还可以直接检测并获取目标应用程序的性能指标所关联的测试数据,无需再单独从被测设备中导出测试数据。
对于测试数据,可能只是用户行为日志、资源使用情况等比较基础的数据,基于测试数据,可以得到目标应用程序的相关性能指标的参数,也就是上述测试数据对应的测试结果。上述测试结果可以发送至第一电子设备中。
本发明实施例提供的测试方法中,第二电子设备能够接收并响应第一电子设备发送的第一指令与第二指令,控制被测设备针对目标应用程序执行目标操作,并检测被测设备中所述目标应用程序执行所述目标操作时,目标应用程序的性能指标所关联的测试数据,克服了现有技术中通过手动操作应用程序进行测试带来的费时费力的缺陷,提高了测试过程的自动化程度,节省人力和时间成本;同时第二电子设备还将测试数据对应的测试结果发送至第一电子设备,可以进一步满足远程控制测试过程的需求。
可选地,所述步骤S302,响应于所述第二指令,控制被测设备针对目标应用程序执行目标操作,包括:
基于所述第二指令生成网络请求;
将所述网络请求发送至被测设备;
其中,所述网络请求用于控制被测设备执行针对目标应用程序的目标操作。
在一些应用场合中,第二指令中可能携带有与目标操作相关的信息,以便于通过第一电子设备确定待测设备中目标应用程序具体执行的操作。本实施例中,基于第二指令生成网络请求,并将网络请求发送至被测设备,一方面,可以通过第二设备实现对第二指令中的目标操作相关的信息进行翻译或转换,以便于被测设备能够按照上述信息,针对目标应用程序执行相应的目标操作;另一方面,网络请求的形式可以满足更多场合下,第二电子设备与被测设备之间的数据传输需求,例如,本实施例中,第二电子设备与被测设备之间可以是通过USB等接口连接的,也可以是无线连接的。
可选地,所述步骤S303,响应于所述第一指令,检测被测设备中所述目标应用程序执行所述目标操作时,所述目标应用程序的性能指标所关联的测试数据,包括:
响应于所述第一指令,对被测设备进行检测,并生成初始记录文件;
将所述被测设备中所述目标应用程序执行所述目标操作时,检测到的所述目标应用程序的性能指标所关联的测试数据记录于所述初始记录文件中,获得测试结果文件;
对所述测试结果文件进行解析,获得与所述测试数据对应的测试结果。
本实施例中,通过建立初始记录文件,来记录目标应用程序执行所述目标操作时,检测到的所述目标应用程序的性能指标所关联的测试数据,在测试结束时,可以获得测试结果文件。如上文所述,测试结果文件中可能只具有用户行为日志等基础数据,通过对测试结果文件进行解析,可以获得目标应用程序的相关性能指标的参数,即测试数据对应的测试结果,以便于用户能够更直观地获取目标应用程序的性能指标的信息。
如图7所示,本发明实施例还提供了一种第一电子设备700,包括:
发送模块701,用于在接收到用户的第一输入的情况下,向第二电子设备发送第一指令与第二指令,其中,所述第一指令用于控制所述第二电子设备对被测设备进行检测,所述第二指令用于触发所述第二电子设备控制被测设备针对目标应用程序执行目标操作;
接收模块702,用于接收所述第二电子设备发送的测试结果,所述测试结果与目标性能指标测试数据相对应,所述目标性能指标测试数据为所述被测设备中所述目标应用程序执行所述目标操作时,所述第二电子设备检测到的所述目标应用程序的性能指标所关联的测试数据。
可选地,所述发送模块701,包括:
获取单元,用于在接收到用户的第一输入的情况下,获取测试脚本,其中,所述测试脚本记录有第二电子设备与目标应用程序的对应关系;
生成单元,用于执行所述测试脚本,生成第一指令与第二指令;
发送单元,用于将所述第一指令与所述第二指令发送至所述第二电子设备。
需要说明的是,该第一电子设备是与上述应用于第一电子设备的测试方法对应的电子设备,上述方法实施例中所有实现方式均适用于该第一电子设备的实施例中,也能达到相同的技术效果。
如图8所示,本发明实施例还提供了一种第二电子设备800,包括:
接收模块801,用于接收第一电子设备发送的第一指令与第二指令;
控制模块802,用于响应于所述第二指令,控制被测设备针对目标应用程序执行目标操作;
检测模块803,用于响应于所述第一指令,检测被测设备中所述目标应用程序执行所述目标操作时,所述目标应用程序的性能指标所关联的测试数据;
发送模块804,用于将与所述测试数据对应的测试结果发送至所述第一电子设备。
可选地,所述控制模块802,包括:
基于所述第二指令生成网络请求;
将所述网络请求发送至被测设备;
其中,所述网络请求用于控制被测设备执行针对目标应用程序的目标操作。
可选地,所述检测模块803,包括:
响应于所述第一指令,对被测设备进行检测,并生成初始记录文件;
将所述被测设备中所述目标应用程序执行所述目标操作时,检测到的所述目标应用程序的性能指标所关联的测试数据记录于所述初始记录文件中,获得测试结果文件;
对所述测试结果文件进行解析,获得与所述测试数据对应的测试结果。
需要说明的是,该第二电子设备是与上述应用于第二电子设备的测试方法对应的电子设备,上述方法实施例中所有实现方式均适用于该第二电子设备的实施例中,也能达到相同的技术效果。
本发明实施例还提供了一种电子设备,如图9所示,包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信,
存储器903,用于存放计算机程序;
处理器901,用于执行存储器903上所存放的程序时,实现如下步骤:
在接收到用户的第一输入的情况下,向第二电子设备发送第一指令与第二指令,其中,所述第一指令用于控制所述第二电子设备对被测设备进行检测,所述第二指令用于触发所述第二电子设备控制被测设备针对目标应用程序执行目标操作;
接收所述第二电子设备发送的测试结果,所述测试结果与目标性能指标测试数据相对应,所述目标性能指标测试数据为所述被测设备中所述目标应用程序执行所述目标操作时,所述第二电子设备检测到的所述目标应用程序的性能指标所关联的测试数据。
可选地,所述在接收到用户的第一输入的情况下,向第二电子设备发送第一指令与第二指令,包括:
在接收到用户的第一输入的情况下,获取测试脚本,其中,所述测试脚本记录有第二电子设备与目标应用程序的对应关系;
执行所述测试脚本,生成第一指令与第二指令;
将所述第一指令与所述第二指令发送至所述第二电子设备。
或者,处理器901,用于执行存储器903上所存放的程序时,实现如下步骤:
接收第一电子设备发送的第一指令与第二指令;
响应于所述第二指令,控制被测设备针对目标应用程序执行目标操作;
响应于所述第一指令,检测被测设备中所述目标应用程序执行所述目标操作时,所述目标应用程序的性能指标所关联的测试数据;
将与所述测试数据对应的测试结果发送至所述第一电子设备。
可选地,所述响应于所述第二指令,控制被测设备针对目标应用程序执行目标操作,包括:
基于所述第二指令生成网络请求;
将所述网络请求发送至被测设备;
其中,所述网络请求用于控制被测设备执行针对目标应用程序的目标操作。
可选地,所述响应于所述第一指令,检测被测设备中所述目标应用程序执行所述目标操作时,所述目标应用程序的性能指标所关联的测试数据,包括:
响应于所述第一指令,对被测设备进行检测,并生成初始记录文件;
将所述被测设备中所述目标应用程序执行所述目标操作时,检测到的所述目标应用程序的性能指标所关联的测试数据记录于所述初始记录文件中,获得测试结果文件;
对所述测试结果文件进行解析,获得与所述测试数据对应的测试结果。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的测试方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的测试方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种测试方法,其特征在于,应用于第一电子设备,所述方法包括:
在接收到用户的第一输入的情况下,向第二电子设备发送第一指令与第二指令,其中,所述第一指令用于控制所述第二电子设备对被测设备进行检测,所述第二指令用于触发所述第二电子设备控制被测设备针对目标应用程序执行目标操作;
接收所述第二电子设备发送的测试结果,所述测试结果与目标性能指标测试数据相对应,所述目标性能指标测试数据为所述被测设备中所述目标应用程序执行所述目标操作时,所述第二电子设备检测到的所述目标应用程序的性能指标所关联的测试数据。
2.根据权利要求1所述的方法,其特征在于,所述在接收到用户的第一输入的情况下,向第二电子设备发送第一指令与第二指令,包括:
在接收到用户的第一输入的情况下,获取测试脚本,其中,所述测试脚本记录有第二电子设备与目标应用程序的对应关系;
执行所述测试脚本,生成第一指令与第二指令;
将所述第一指令与所述第二指令发送至所述第二电子设备。
3.一种测试方法,其特征在于,应用于第二电子设备,所述方法包括:
接收第一电子设备发送的第一指令与第二指令;
响应于所述第二指令,控制被测设备针对目标应用程序执行目标操作;
响应于所述第一指令,检测被测设备中所述目标应用程序执行所述目标操作时,所述目标应用程序的性能指标所关联的测试数据;
将与所述测试数据对应的测试结果发送至所述第一电子设备。
4.根据权利要求3所述的方法,其特征在于,所述响应于所述第二指令,控制被测设备针对目标应用程序执行目标操作,包括:
基于所述第二指令生成网络请求;
将所述网络请求发送至被测设备;
其中,所述网络请求用于控制被测设备执行针对目标应用程序的目标操作。
5.根据权利要求3所述的方法,其特征在于,所述响应于所述第一指令,检测被测设备中所述目标应用程序执行所述目标操作时,所述目标应用程序的性能指标所关联的测试数据,包括:
响应于所述第一指令,对被测设备进行检测,并生成初始记录文件;
将所述被测设备中所述目标应用程序执行所述目标操作时,检测到的所述目标应用程序的性能指标所关联的测试数据记录于所述初始记录文件中,获得测试结果文件;
对所述测试结果文件进行解析,获得与所述测试数据对应的测试结果。
6.一种第一电子设备,其特征在于,包括:
发送模块,用于在接收到用户的第一输入的情况下,向第二电子设备发送第一指令与第二指令,其中,所述第一指令用于控制所述第二电子设备对被测设备进行检测,所述第二指令用于触发所述第二电子设备控制被测设备针对目标应用程序执行目标操作;
接收模块,用于接收所述第二电子设备发送的测试结果,所述测试结果与目标性能指标测试数据相对应,所述目标性能指标测试数据为所述被测设备中所述目标应用程序执行所述目标操作时,所述第二电子设备检测到的所述目标应用程序的性能指标所关联的测试数据。
7.根据权利要求6所述的第一电子设备,其特征在于,所述发送模块,包括:
获取单元,用于在接收到用户的第一输入的情况下,获取测试脚本,其中,所述测试脚本记录有第二电子设备与目标应用程序的对应关系;
生成单元,用于执行所述测试脚本,生成第一指令与第二指令;
发送单元,用于将所述第一指令与所述第二指令发送至所述第二电子设备。
8.一种第二电子设备,其特征在于,包括:
接收模块,用于接收第一电子设备发送的第一指令与第二指令;
控制模块,用于响应于所述第二指令,控制被测设备针对目标应用程序执行目标操作;
检测模块,用于响应于所述第一指令,检测被测设备中所述目标应用程序执行所述目标操作时,所述目标应用程序的性能指标所关联的测试数据;
发送模块,用于将与所述测试数据对应的测试结果发送至所述第一电子设备。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1或2所述的测试方法的步骤,或者实现3-5中任一所述的测试方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1或2所述的测试方法的步骤,或者实现3-5中任一所述的测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010170789.0A CN111367812A (zh) | 2020-03-12 | 2020-03-12 | 测试方法、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010170789.0A CN111367812A (zh) | 2020-03-12 | 2020-03-12 | 测试方法、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111367812A true CN111367812A (zh) | 2020-07-03 |
Family
ID=71206813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010170789.0A Pending CN111367812A (zh) | 2020-03-12 | 2020-03-12 | 测试方法、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111367812A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112084076A (zh) * | 2020-08-26 | 2020-12-15 | 上海创功通讯技术有限公司 | 测试方法、电子设备及存储介质 |
CN112468564A (zh) * | 2020-11-20 | 2021-03-09 | 浙江百应科技有限公司 | 一种基于Appium实现终端APP UI自动化多机并行方法 |
CN115113613A (zh) * | 2022-08-22 | 2022-09-27 | 江苏邑文微电子科技有限公司 | 设备控制系统测试方法、装置、电子设备和存储介质 |
WO2023184867A1 (zh) * | 2022-03-31 | 2023-10-05 | 上海禾赛科技有限公司 | 探测器控制方法及装置、存储介质、激光雷达 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107122293A (zh) * | 2016-12-05 | 2017-09-01 | 北京小度信息科技有限公司 | 软件性能测试方法、装置、服务器及系统 |
CN108733568A (zh) * | 2018-05-25 | 2018-11-02 | 平安科技(深圳)有限公司 | 应用测试方法、装置、设备及可读存储介质 |
CN109726100A (zh) * | 2018-04-19 | 2019-05-07 | 平安普惠企业管理有限公司 | 应用性能测试方法、装置、设备及计算机可读存储介质 |
CN109766258A (zh) * | 2018-11-30 | 2019-05-17 | 北京奇艺世纪科技有限公司 | 一种性能测试方法、装置及计算机可读存储介质 |
CN110032507A (zh) * | 2018-12-25 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 应用程序测试方法、装置、系统、电子设备及存储介质 |
WO2019218458A1 (zh) * | 2018-05-16 | 2019-11-21 | 平安科技(深圳)有限公司 | 一种应用程序测试方法、装置、移动终端及介质 |
-
2020
- 2020-03-12 CN CN202010170789.0A patent/CN111367812A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107122293A (zh) * | 2016-12-05 | 2017-09-01 | 北京小度信息科技有限公司 | 软件性能测试方法、装置、服务器及系统 |
CN109726100A (zh) * | 2018-04-19 | 2019-05-07 | 平安普惠企业管理有限公司 | 应用性能测试方法、装置、设备及计算机可读存储介质 |
WO2019218458A1 (zh) * | 2018-05-16 | 2019-11-21 | 平安科技(深圳)有限公司 | 一种应用程序测试方法、装置、移动终端及介质 |
CN108733568A (zh) * | 2018-05-25 | 2018-11-02 | 平安科技(深圳)有限公司 | 应用测试方法、装置、设备及可读存储介质 |
CN109766258A (zh) * | 2018-11-30 | 2019-05-17 | 北京奇艺世纪科技有限公司 | 一种性能测试方法、装置及计算机可读存储介质 |
CN110032507A (zh) * | 2018-12-25 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 应用程序测试方法、装置、系统、电子设备及存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112084076A (zh) * | 2020-08-26 | 2020-12-15 | 上海创功通讯技术有限公司 | 测试方法、电子设备及存储介质 |
CN112468564A (zh) * | 2020-11-20 | 2021-03-09 | 浙江百应科技有限公司 | 一种基于Appium实现终端APP UI自动化多机并行方法 |
WO2023184867A1 (zh) * | 2022-03-31 | 2023-10-05 | 上海禾赛科技有限公司 | 探测器控制方法及装置、存储介质、激光雷达 |
CN115113613A (zh) * | 2022-08-22 | 2022-09-27 | 江苏邑文微电子科技有限公司 | 设备控制系统测试方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111083225B (zh) | 在物联网平台中的数据处理方法、装置及物联网平台 | |
CN111367812A (zh) | 测试方法、电子设备及可读存储介质 | |
CN108804302B (zh) | 一种远程测试方法、系统及相关设备 | |
CN111026645B (zh) | 用户界面自动化测试方法、装置、存储介质及电子设备 | |
CN111651366B (zh) | Sdk测试方法、装置、设备及存储介质 | |
CN108345543B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
KR101008977B1 (ko) | OSGi 서비스 플랫폼 테스트 방법 및 이를 이용한테스트 툴 | |
US7610529B2 (en) | Testing mobile wireless devices during device production | |
WO2021120544A1 (zh) | 用于调试设备的方法及装置 | |
CN111475417A (zh) | 自动化测试方法、装置、设备及存储介质 | |
CN110825595B (zh) | 录制回放方法及系统、存储介质 | |
CN112732576B (zh) | 基于用户界面的自动化测试方法、装置及设备 | |
CN111045911A (zh) | 性能测试方法、性能测试装置、存储介质与电子设备 | |
WO2021248788A1 (zh) | 一机多控方法、装置、系统及电子设备 | |
CN106713011B (zh) | 一种获取测试数据的方法与系统 | |
CN114554618A (zh) | 一种无线接入点装置、设备接入方法、设备及存储介质 | |
CN117909160B (zh) | 基于物联网的固件崩溃分析方法及装置 | |
CN107977318A (zh) | 一种Android应用程序的能耗和性能测试方法 | |
CN113709243B (zh) | 设备远程控制方法及装置、电子设备和存储介质 | |
CN114297062A (zh) | 业务测试方法、装置、电子设备及存储介质 | |
KR20220060429A (ko) | 원격지의 네트워크 스위치에 대한 로그 수집 시스템 및 이의 빅데이터 구축 방법 | |
CN116627850A (zh) | 函数调试方法、装置、存储介质以及电子设备 | |
CN112770108A (zh) | 性能的测试方法、装置、系统及计算机可读存储介质 | |
CN116545891A (zh) | 一种基于智能设备的自动化配网测试方法 | |
KR101779809B1 (ko) | 원격 상담 서비스 시스템 및 방법 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200703 |
|
RJ01 | Rejection of invention patent application after publication |