CN106250253B - 一种移动终端测试装置及测试方法 - Google Patents
一种移动终端测试装置及测试方法 Download PDFInfo
- Publication number
- CN106250253B CN106250253B CN201610569172.XA CN201610569172A CN106250253B CN 106250253 B CN106250253 B CN 106250253B CN 201610569172 A CN201610569172 A CN 201610569172A CN 106250253 B CN106250253 B CN 106250253B
- Authority
- CN
- China
- Prior art keywords
- test
- module
- mobile terminal
- functional
- emma
- 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
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 376
- 238000010998 test method Methods 0.000 title abstract description 4
- 241000282693 Cercopithecidae Species 0.000 claims abstract description 122
- 238000000034 method Methods 0.000 claims abstract description 38
- 238000011990 functional testing Methods 0.000 claims abstract description 36
- 238000012216 screening Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 abstract description 84
- 238000005516 engineering process Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013100 final test Methods 0.000 description 1
- 238000013101 initial test Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000003068 static effect Effects 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/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephone Function (AREA)
Abstract
本发明公开了一种移动终端测试装置,包括Monkey模块和功能测试覆盖率EMMA模块,所述Monkey模块,用于对所述移动终端进行测试;所述EMMA模块,用于在所述Monkey模块对所述移动终端进行测试达到第一时间长度后,对所述移动终端执行功能覆盖率测试,获得功能测试覆盖率,并将所述功能测试覆盖率传输给所述Monkey模块;所述Monkey模块,还用于接收所述EMMA模块传输的功能测试覆盖率测试报告,对功能测试覆盖率小于第一阈值的功能模块执行测试。本发明还公开了相应的测试方法。本发明提供的移动终端测试装置及其方法,可以兼顾移动终端的自动化测试结果、功能模块覆盖率和测试效率,以确保移动终端的自动化测试能测试到所有的模块功能,提高测试结果的可靠性。
Description
技术领域
本发明涉及移动终端测试领域,尤其涉及一种移动终端测试装置及测试方法。
背景技术
目前Android移动终端上的模块都会进行自动化测试,通过自动化测试可以发现很多人工测试不容易发现的问题,比如异常崩溃、无响应等问题,通过自动化测试,可以从一定程度上保证模块的质量,提升模块的稳定性。但是,目前的自动化测试存在一个问题,即目前的自动化测试都是随机的,在自动化测试期间,并不能保证自动化测试能测试到所有的模块功能。因此,现有的自动化测试技术存在一定的片面性,许多功能可能会测试不到,导致一些问题不会被发现。
发明内容
本发明的主要目的在于提出一种移动终端测试装置及测试方法,旨在解决现有移动终端自动化测试过程中不能确保所有模块功能都测试到的问题。
为实现上述目的,本发明提供的一种移动终端测试装置,所述装置包括:Monkey模块和功能测试覆盖率EMMA模块,
所述Monkey模块,用于对所述移动终端进行测试;
所述EMMA模块,用于在所述Monkey模块对所述移动终端进行测试达到第一时间长度后,对所述移动终端执行功能覆盖率测试,获得功能测试覆盖率,并将所述功能测试覆盖率传输给所述Monkey模块;
所述Monkey模块,还用于接收所述EMMA模块传输的功能测试覆盖率测试报告,对功能测试覆盖率小于第一阈值的功能模块执行测试。
可选地,所述装置还包括存储模块,所述存储模块用于存储测试列表,所述测试列表用于统计所述Monkey模块对所述移动终端的各个功能模块的测试次数,当功能模块的测试次数超过第二阈值时,所述Monkey模块停止对相应的功能模块执行测试。
可选地,所述Monkey模块设置有应用接口,所述应用接口用于:
接收来自所述EMMA的功能测试覆盖率小于第一阈值的EMMA测试报告、获取相应的功能模块信息;或者,
从来自所述EMMA的测试报告中筛选功能测试覆盖率小于所述第一阈值的功能模块信息。
可选地,所述装置还包括第一定时器,所述第一定时器的定时时间设置成所述第一时间长度,所述第一定时器每当所述Monkey模块开始对所述移动终端进行测试时启动;
所述Monkey模块当所述第一定时器的定时时间到达时,停止对所述移动终端进行测试;
所述EMMA模块当所述第一定时器的定时时间到达时,开始对所述移动终端进行功能覆盖率测试。
可选地,所述装置还包括第二定时器,所述第二定时器的定时时间设置成第二时间长度,所述第二定时器当所述EMMA开始对所述移动终端进行功能覆盖率测试时启动;所述EMMA模块当所述功能测试覆盖率均大于或等于所述第一阈值,或者所述第二定时器的定时时间到达时,停止对所述移动终端的功能覆盖率测试。
此外,为实现上述目的,本发明还提出一种移动终端测试方法,所述方法包括:
启动Monkey模块,对所述移动终端进行测试达到第一时间长度后,启动功能测试覆盖率EMMA模块对所述移动终端执行功能覆盖率测试,获得功能测试覆盖率测试报告,并将所述功能测试覆盖率测试报告传输给所述Monkey模块;
所述Monkey模块接收所述EMMA传输的功能测试覆盖率测试报告,对功能测试覆盖率小于第一阈值的功能模块执行测试。
可选地,所述方法还包括设置测试列表,统计所述Monkey模块对所述移对终端的各个功能模块的测试次数,当功能模块的测试次数超过第二阈值时,停止所述Monkey模块对相应的功能模块的测试。
可选地,所述方法还包括在Monkey模块设置应用接口,通过所述应用接口接收来自所述EMMA的功能测试覆盖率小于第一阈值的EMMA测试报告、获取相应的功能模块信息或者从来自所述EMMA的测试报告中筛选功能测试覆盖率小于所述第一阈值的功能模块信息。
可选地,所述方法还包括利用第一定时器设置第一时间长度,每当所述Monkey模块开始对所述移动终端进行测试时,启动所述第一定时器;所述第一定时器的定时时间到达时,所述Monkey模块停止对所述移动终端的测试,所述EMMA模块开始对所述移动终端的功能覆盖率测试。
可选地,所述方法还包括利用第二定时器设置第二时间长度,当所述EMMA开始对所述移动终端进行功能覆盖率测试时,启动所述第二定时器;当所述功能测试覆盖率均大于或等于所述第一阈值,或者所述第二定时器的定时时间到达时,所述EMMA模块停止对所述移动终端的功能覆盖率测试。
本发明提出的移动终端测试装置及测试方法,将EMMA测试技术应用到Monkey自动化测试技术中,两种测试技术有机结合,兼顾移动终端的自动化测试结果、功能测试覆盖率和测试效率,以确保移动终端的自动化测试能测试到所有的模块功能,提高测试结果的可靠性。
附图说明
图1为实现本发明各个实施例的移动终端的硬件结构示意图;
图2为本发明实施例的模块结构示意图;
图3为本发明实施例的方法流程示意图;
图4为本发明的一种示范性实施例的方法流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
下面将结合附图及实施例对本发明的技术方案进行更详细的说明。
需要说明的是,如果不冲突,本发明实施例以及实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
现在将参考附图描述实现本发明各个实施例的移动终端。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,"模块"与"部件"可以混合地使用。
本发明中描述的移动终端可以包括诸如移动电话、智能电话、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、导航装置等等的移动终端。然而,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。
图1为实现本发明各个实施例的移动终端的硬件结构示意。
移动终端100可以包括无线通信单元110、A/V(音频/视频)输入单元120、用户输入单元130、感测单元140、输出单元150、存储器160、接口单元170、控制器180和电源单元190等等。
其中,无线通信单元110通常包括一个或多个组件,其允许移动终端100与无线通信系统或网络之间的无线电通信。例如,无线通信单元可以包括广播接收模块111、移动通信模块112、无线互联网模块113、短程通信模块114和位置信息模块115中的至少一个。
A/V输入单元120用于接收音频或视频信号。A/V输入单元120可以包括相机121和麦克风122。
用户输入单元130可以根据用户输入的命令生成键输入数据以控制移动终端的各种操作,允许用户输入各种类型的信息。
感测单元140检测移动终端100的当前状态。
接口单元170用作至少一个外部装置与移动终端100连接可以通过的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。
显示单元151可以显示在移动终端100中处理的信息,包括显示用户界面或图形用户界面,图像和/或视频等等。
音频输出模块152可以在移动终端处于呼叫信号接收模式、通话模式、记录模式、语音识别模式、广播接收模式等等模式下时,将无线通信单元110接收的或者在存储器160中存储的音频数据转换音频信号并且输出为声音。
警报单元153可以提供输出以将事件的发生通知给移动终端100,例如呼叫接收、消息接收、键信号输入、触摸输入等等。
存储器160可以存储由控制器180执行的处理和控制操作的软件程序等等,或者可以暂时地存储己经输出或将要输出的数据。
存储器160可以包括至少一种类型的存储介质,所述存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等等。而且,移动终端100可以与通过网络连接执行存储器160的存储功能的网络存储装置协作。
控制器180通常控制移动终端的总体操作。
电源单元190在控制器180的控制下接收外部电力或内部电力并且提供操作各元件和组件所需的适当的电力。
这里描述的各种实施方式可以以使用例如计算机软件、硬件或其任何组合的计算机可读介质来实施。对于硬件实施,这里描述的实施方式可以通过使用特定用途集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理装置(DSPD)、可编程逻辑装置(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器、被设计为执行这里描述的功能的电子单元中的至少一种来实施,在一些情况下,这样的实施方式可以在控制器180中实施。对于软件实施,诸如过程或功能的实施方式可以与允许执行至少一种功能或操作的单独的软件模块来实施。软件代码可以由以任何适当的编程语言编写的软件应用程序(或程序)来实施,软件代码可以存储在存储器160中并且由控制器180执行。
通常,当移动终端基于Android系统开发上述相应功能的应用程序模块时,需要对各个功能模块进行自动化测试。现有技术中常采用Monkey自动化测试,Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。
Monkey的特征:
1)测试的对象仅为应用程序包,有一定的局限性。
2)Monkey测试使用的事件流数据流是随机的,不能进行自定义。
3)可对Monkey测试的对象,事件数量,类型,频率等进行设置。
从上可见,Monkey测试存在一个明显的缺陷,即Monkey测试的事件流是随机的,而且不能进行自定义,这就导致某个或某些功能的应用程序模块的测试覆盖率是不可控的,有可能测试覆盖率很低,那么仅依靠Monkey测试并不能发现所有的问题。
现有技术中,针对Java程序测试,常采用功能测试覆盖率EMMA测试技术,测试覆盖率是评价测试完整性的重要的度量标准之一。EMMA是一个测试覆盖率收集工具。EMMA是一个开源、面向Java程序测试覆盖率收集和报告工具。它通过对编译后的Java字节码文件进行插装,在测试执行过程中收集覆盖率信息,并通过支持多种报表格式对覆盖率结果进行展示。EMMA所使用的字节码插装不仅保证EMMA不会给源代码带来“脏代码”,还确保EMMA摆脱了源代码的束缚,这一特点使EMMA应用于功能测试成为可能。
EMMA的优点:
大多数功能测试中,测试人员一般不能直接得到被测源代码,源代码也不是测试人员关心的重点。在具体的测试过程中,功能测试人员一般以一个有意义的功能模块作为测试关心的重点,而能够反映一定功能含义的类和方法的覆盖率在功能测试中更有价值。因此,在功能测试中,类覆盖率和方法覆盖率是测试人员关心的重点,行和块覆盖率则作为测试的参考。
测试覆盖率报告中包含了两个方面的内容,测试覆盖的部分和未被测试覆盖的部分。测试覆盖的部分以及覆盖比率可以增加测试者对测试工作的信心,指导测试执行测试的方向。测试覆盖率报告中未覆盖的部分则表明测试可能不完整,有些功能、代码没有被测试覆盖到。
目前EMMA的使用方式仅仅是辅助测试人员进行测试,还没有将EMMA使用到自动化测试中,导致EMMA的作用没有得到充分发挥。
本发明的发明人在对移动终端的测试过程,发现可以将Monkey测试方法和EMMA测试方法有机结合,使自动化测试能够测试到所有的功能模块,以实现自动化测试的覆盖率能够接近于100%。
为此,基于上述移动终端、Monkey测试技术和EMMA测试技术,本发明实施例提供了一种移动终端测试装置,所述装置适合于基于Android系统的移动终端的应用程序模块测试,如图2所示,所述装置包括:
Monkey模块10,用于对所述移动终端进行测试;
EMMA模块12,用于在所述Monkey模块对所述移动终端进行测试达到第一时间长度后,对所述移动终端执行功能覆盖率测试,获得功能测试覆盖率,并将所述功能测试覆盖率传输给所述Monkey模块;
所述Monkey模块10,还用于接收所述EMMA模块传输的功能测试覆盖率测试报告,对功能测试覆盖率小于第一阈值的功能模块执行测试。
从上述分析可以发现,Monkey的测试对象,一般是应用程序包,一个应用程序包可以包含很多接口和类,这些接口和类可以概括为功能模块;因此,Monkey的测试对象可以设置为特定的功能模块(即针对某个或某些功能的应用程序模块),可以结合EMMA测试结果报告,指示Monkey针对性地测试那些经EMMA测试发现覆盖率比较低的功能模块,以确保Monkey测试的可靠性和功能覆盖率。
本实施例中,Monkey模块可以先对移动终端执行应用程序功能模块的随机测试,经过一段时间后,例如,5分钟后,暂停Monkey测试,对移动终端进行EMMA功能覆盖率测试,获得功能测试覆盖率,并将所述功能测试覆盖率传输给所述Monkey模块;所述Monkey模块接收所述EMMA模块传输的功能测试覆盖率测试报告,对于功能测试覆盖率小于第一阈值的应用程序功能模块继续执行测试。由于百分之百的测试覆盖率也不能代表被测对象完全没有问题,但是测试覆盖的部分以及覆盖比率可以增加测试者对测试工作的信心,指导测试执行测试的方向。因此,本发明实施例中,结合测试效率和测试结果的有效性,设置第一阈值,对于功能测试覆盖率小于该第一阈值的应用程序功能模块继续执行测试,而对于功能测试覆盖率大于等于该第一阈值的应用程序功能模块,则可以视为被测对象基本上没有问题;例如,可以设置第一阈值为90%,对于EMMA测试报告中功能覆盖率超过90%的功能对象,Monkey测试基本上已覆盖功能对象的绝大部分应用程序模块,仅对那些功能覆盖率小于90%的功能对象需要进一步进行Monkey测试。第一阈值可以根据具体需要进行设定,例如,在移动终端进行Monkey初测时,可以设定功能覆盖率为90%,已加快测试进度;结合EMMA测试,以尽快实现功能全覆盖测试;在初测基础上,对移动终端的应用程序功能模块进行修改完善,在进行第二次及后续测试时,可以修改阈值,例如可以设定为95%或其它数值,以确保功能测试覆盖率和测试效率。
本发明实施例提供的移动终端测试装置,将EMMA测试技术应用到Monkey自动化测试技术中,两种测试技术有机结合,兼顾移动终端的自动化测试结果、功能测试覆盖率和测试效率,以确保移动终端的自动化测试能测试到所有的模块功能,提高测试结果的可靠性。
可选地,所述装置还包括存储模块14,所述存储模块用于存储测试列表,所述测试列表用于统计所述Monkey模块对所述移动终端的各个功能模块的测试次数,当某一功能模块的测次数超过第二阈值时,所述Monkey模块停止对相应的功能模块执行测试。
本实施例中,在进行Monkey测试过程中,如果某些前提条件不满足,比如网络没有打开,那么某个模块的测试覆盖率会一直很低,就有可能导致Monkey测试一直对这个模块进行测试,最终测试结果同样会很片面。针对这种情况,可选地,可以额外建立一个列表,此列表保存被测试过的应用程序模块名称以及被测试过的次数,如下表一所示:
模块名 | 测试次数 |
下载模块 | 3 |
删除模块 | 5 |
在进行有目的的测试时,可以参考这个列表进行下一步的测试,以使测试结果更加全面,例如,当发现某个应用程序功能模块的测试次数过多,例如3次以上时,可以暂停对该模块的测试,输出测试报告。
可选地,所述装置的Monkey模块设置应用接口,所述应用接口用于接收来自所述EMMA的功能测试覆盖率小于第一阈值的EMMA测试报告、获取相应的功能模块信息或者从来自所述EMMA的测试报告中筛选功能测试覆盖率小于所述第一阈值的功能模块的信息。
本实施例中,可选地,可以对Monkey模块开发相应的应用接口,该接口仅接受EMMA测试结果报告中功能测试覆盖率小于第一阈值的EMMA测试结果,根据该测试结果得到需要进一步测试的功能模块的信息,调整后续Monkey测试的功能对象,从而使测试更有针对性和全面性。对于那些功能测试覆盖率大于等于第一阈值的功能对象可以认为不需要继续测试,从而可以提高测试效率。
由于EMMA可以支持多种报表格式对覆盖率结果进行展示,因此可以将每次EMMA的测试结果通知Monkey模块,由Monkey对那些功能测试覆盖率比较低的应用程序功能模块进行针对性测试;可以将EMMA的测试报告结果直接反馈给Monkey模块,由Monkey模块根据设定的阈值进行筛选。可选地,可以仅将那些功能测试覆盖率低于某一阈值的功能模块信息通知Monkey模块,以便Monkey模块进行针对性测试;可选地,例如,所述阈值可以设为90%,或者其它经验值。
相关技术中,EMMA的测试结果报告可以有多种输出形式,例如保存到SD卡等等,因此可以在Monkey上扩展SD卡阅读器,读取SD卡上保存的EMMA测试报告,由扩展的SD卡阅读器解析该报告,并根据预先设定的阈值,提取覆盖率低于该阈值的接口、类,以及行和块对应的功能项,传输给Monkey模块并保存到Monkey的测试对象信息设置的数据缓存区,作为下次测试的对象信息;
可选地,也可以在Monkey上扩展输入接口总线,直接连接到EMMA的测试报告输出总线,将EMMA的测试报告直接传输到Monkey的数据缓存区,由Monkey进行解析,参照设定的阈值提取相应的待测对象(功能程序模块)并保存到测试对象设置的数据缓存区,作为下次测试的对象信息;
可选地,也可以在EMMA上扩展测试报告筛选接口,根据设定的阈值,筛选提取覆盖率低于该阈值的接口、类,以及行和块对应的功能项,然后传输到Monkey的相应数据缓存区,供Monkey进行针对性测试。
本发明对此不作特别限定。
可选地,所述的装置,还包括第一定时器,所述第一定时器的定时时间设置成所述第一时间长度,所述第一定时器每当所述Monkey模块开始对所述移动终端进行应用程序功能模块测试时,启动所述第一定时器;所述Monkey模块当所述第一定时器的定时时间到达时,停止对所述移动终端进行测试,所述EMMA模块当所述第一定时器的定时时间到达时,开始对所述移动终端进行功能覆盖率测试。
本实施例中,可选地,可以设置第一定时器,利用该定时器实现Monkey测试和EMMA测试的交替进行,以EMMA测试的结果报告指导Monkey进行更有针对性的测试。例如,可以根据实际测试需要,设置定时器的定时时间为5分钟,在开始对移动终端进行Monkey测试时,同时启动该第一定时器;在定时时间(例如5分钟)到达时,暂停Monkey测试,输出相应的测试结果报告,同时启动EMMA对移动终端进行功能覆盖率测试,获得功能测试覆盖率;利用EMMA测试输出的结果报告,指导Monkey对移动终端进行下一步的针对性应用程序功能模块测试。
可选地,所述的装置还包括第二定时器,所述第二定时器的定时时间设置成第二时间长度,所述第二定时器当所述EMMA开始对所述移动终端进行功能覆盖率测试时启动;所述EMMA模块当所述功能测试覆盖率均大于或等于所述第一阈值,或者所述第二定时器的定时时间到时,停止对所述移动终端的功能覆盖率测试。
通常,所述第二时间长度大于所述第一时间长度
本实施例中,结合功能测试覆盖率和测试效率,可以将功能测试覆盖率高于90%的功能测试对象(例如,类和方法等等),视为基本覆盖了完整性要求,在本轮测试中可以暂不需要继续进行Monkey测试,以提高测试效率。经过EMMA和Monkey的交替测试,通常能够使所有功能模块的测试覆盖率达到90%以上而停止测试,但是,在实际测试中,也可能由于某种意外原因导致某个功能的测试覆盖率始终达不到上述要求,为了避免测试进入死循环,本发明实施例还设置了第二定时器,在EMMA开始测试时,同时启动所述第二定时器,设置第二定时时间,例如可以设置为30分钟或1小时等等,具体时间可以根据待测移动终端的功能项目而定。如果第二定时器时间溢出时,EMMA的测试结果不能保证所有功能覆盖率均大于等于90%以上时,本次自动化测试过程也将终止,输出相应的测试结果报告。
作为一种特殊情况,如果某些功能模块存在设计缺陷,可能导致EMMA测试的覆盖率始终无法达到阈值,则在设定的时间阈值到达时,需要中止测试,打印输出或显示相应的EMMA测试报告,以便相关技术人员发现相关功能模块的设计缺陷,修改程序设计,然后再进行测试。
本发明实施例提供的移动终端测试装置,将EMMA测试技术和Monkey自动化测试技术相结合,通过设置Monkey测试的时间和将EMMA测试结果报告中的功能覆盖率传输给Monkey测试模块,使Monkey测试模块可以对某些应用程序功能模块进行更有针对性的测试,兼顾移动终端的自动化测试结果、功能测试覆盖率和测试效率,以确保移动终端的自动化测试能测试到所有的模块功能,提高测试结果的可靠性。
相应地,本发明实施例还提供了一种移动终端测试方法,所述方法包括:
步骤22:启动Monkey模块,对所述移动终端进行测试达到第一时间长度后,启动功能测试覆盖率EMMA模块对所述移动终端执行功能覆盖率测试,获得功能测试覆盖率测试报告,并将所述功能测试覆盖率测试报告传输给所述Monkey模块;
步骤24:所述Monkey模块接收所述EMMA传输的功能测试覆盖率测试报告,对功能测试覆盖率小于第一阈值的功能模块执行测试。
可选地,在步骤24之前,包括:
步骤20:设置测试列表,统计所述Monkey模块对所述移对终端的各个功能模块的测试次数,当某一功能模块的测试次数超过第二阈值时,停止所述Monkey模块对相应的功能模块的测试。
可选地,步骤24可以具体包括在Monkey模块设置应用接口,通过所述应用接口接收功能测试覆盖率小于第一阈值的EMMA测试报告、获得相应的功能模块信息或者从来自所述EMMA的测试报告中筛选功能测试覆盖率小于所述第一阈值的功能模块信息。
可选地,在步骤22中,还包括:
利用第一定时器设定第一时间长度,每当所述Monkey模块开始对所述移动终端进行应用程序功能模块测试时,启动所述第一定时器;
当所述第一定时器的定时时间到达时,所述Monkey模块停止对所述移动终端的测试,所述EMMA模块开始对所述移动终端的功能覆盖率测试。
可选地,在步骤22中,还包括:
利用第二定时器设定第二时间长度,当所述EMMA开始对所述移动终端进行功能覆盖率测试时,启动所述第二定时器;当所述第二定时器的定时时间到达时,所述EMMA模块停止对所述移动终端的功能覆盖率测试,输出测试结果报告。
通常,所述第二时间长度大于所述第一时间长度。测试结果报告包括Monkey测试报告和EMMA测试报告。
可选地,在步骤22中,还包括:
判断EMMA测试结果的功能覆盖率是否均大于或等于第一阈值,当所述EMMA测试结果的所有功能测试覆盖率均大于或等于所述第一阈值时,所述EMMA停止对所述移动终端的测试,输出测试结果报告。
测试结果报告包括Monkey测试报告和EMMA测试报告。
本发明实施例提供的移动终端测试方法,将EMMA测试技术和Monkey自动化测试技术相结合,通过设置Monkey测试的时间和将EMMA测试结果报告中的功能覆盖率传输给Monkey测试模块,使Monkey测试模块可以对某些功能模块的应用程序功能模块进行更有针对性的测试,兼顾移动终端的自动化测试结果、功能测试覆盖率和测试效率,以确保移动终端的自动化测试能测试到所有的模块功能,提高测试结果的可靠性。
下面通过一个示范性实施例对本发明的测试流程进行进一步说明。如图4所示,包括:
步骤30:启动Monkey测试;同时启动第一定时器;
可以设定第一定时时间为5分钟。在首次启动Monkey测试时,完全是随机测试过程。之后,每次Monkey测试启动时,可以根据来自EMMA的测试报告,进行具有目的性的功能模块测试。
步骤31:第一定时器溢出,统计Monkey对各个功能模块的测试次数。
步骤32:判断是否有功能模块的测试次数超过第二阈值,如有,则停止对相应模块的测试,输出测试报告,供测试人员参考;如果没有,则接步骤33;
步骤33:启动EMMA检测代码覆盖率测试,同时启动第二定时器;可以设定第二定时时间为1小时或其它时间。
步骤34:检测EMMA输出测试报告,功能覆盖率均大于或等于90%时,停止本次自动化测试,输出测试结果报告;如果存在代码覆盖率小于90%的功能模块,接步骤35;
步骤35:检查第二定时器是否溢出,如果溢出,终止本次自动化测试,输出EMMA测试报告;如果没有溢出,接步骤36。
步骤36:EMMA将功能覆盖率小于90%的功能模块内容反馈给Monkey输入接口;由Monkey进行针对功能覆盖率小于90%的功能模块继续进行测试;重复上述步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种移动终端测试装置,其特征在于,所述装置包括:存储模块、Monkey模块和功能测试覆盖率EMMA模块,
所述存储模块,用于存储测试列表,所述测试列表用于统计所述Monkey模块对所述移动终端的各个功能模块的测试次数,当功能模块的测试次数超过第二阈值时,所述Monkey模块停止对相应的功能模块执行测试;
所述Monkey模块,用于对所述移动终端进行测试;
所述EMMA模块,用于在所述Monkey模块对所述移动终端进行测试达到第一时间长度后,对所述移动终端执行功能覆盖率测试,获得功能测试覆盖率,并将所述功能测试覆盖率传输给所述Monkey模块;
所述Monkey模块,还用于接收所述EMMA模块传输的功能测试覆盖率测试报告,对功能测试覆盖率小于第一阈值的功能模块执行测试。
2.如权利要求1所述的装置,其特征在于,所述Monkey模块设置有应用接口,所述应用接口用于:
接收来自所述EMMA的功能测试覆盖率小于第一阈值的EMMA测试报告,获取相应的功能模块信息;或者,
从来自所述EMMA的测试报告中筛选功能测试覆盖率小于所述第一阈值的功能模块信息。
3.如权利要求1所述的装置,其特征在于,还包括第一定时器,所述第一定时器的定时时间设置成所述第一时间长度,所述第一定时器每当所述Monkey模块开始对所述移动终端进行测试时启动;
所述Monkey模块当所述第一定时器的定时时间到达时,停止对所述移动终端进行测试;
所述EMMA模块当所述第一定时器的定时时间到达时,开始对所述移动终端进行功能覆盖率测试。
4.如权利要求1所述的装置,其特征在于,其中,还包括第二定时器,所述第二定时器的定时时间设置成第二时间长度,所述第二定时器当所述EMMA开始对所述移动终端进行功能覆盖率测试时启动;所述EMMA模块当所述功能测试覆盖率均大于或等于所述第一阈值,或者所述第二定时器的定时时间到达时,停止对所述移动终端的功能覆盖率测试。
5.一种移动终端测试方法,其特征在于,所述方法包括:
启动Monkey模块,对所述移动终端进行测试达到第一时间长度后,启动功能测试覆盖率EMMA模块对所述移动终端执行功能覆盖率测试,获得功能测试覆盖率测试报告,并将所述功能测试覆盖率测试报告传输给所述Monkey模块;
所述Monkey模块接收所述EMMA传输的功能测试覆盖率测试报告,对功能测试覆盖率小于第一阈值的功能模块执行测试;
设置测试列表,统计所述Monkey模块对所述移动终端的各个功能模块的测试次数,当功能模块的测试次数超过第二阈值时,停止所述Monkey模块对相应的功能模块的测试。
6.如权利要求5所述的方法,其特征在于,所述方法还包括在Monkey模块设置应用接口,通过所述应用接口接收来自所述EMMA的功能测试覆盖率小于第一阈值的EMMA测试报告、获取相应的功能模块信息或者从来自所述EMMA的测试报告中筛选功能测试覆盖率小于所述第一阈值的功能模块信息。
7.如权利要求5所述的方法,其特征在于,所述方法还包括利用第一定时器设置第一时间长度,每当所述Monkey模块开始对所述移动终端进行测试时,启动所述第一定时器;当所述第一定时器的定时时间到达时,所述Monkey模块停止对所述移动终端的测试,所述EMMA模块开始对所述移动终端的功能覆盖率测试。
8.如权利要求5所述的方法,其特征在于,所述方法还包括利用第二定时器设置第二时间长度,当所述EMMA开始对所述移动终端进行功能覆盖率测试时,启动所述第二定时器;当所述功能测试覆盖率均大于或等于所述第一阈值,或者所述第二定时器的定时时间到达时,所述EMMA模块停止对所述移动终端的功能覆盖率测试。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610569172.XA CN106250253B (zh) | 2016-07-19 | 2016-07-19 | 一种移动终端测试装置及测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610569172.XA CN106250253B (zh) | 2016-07-19 | 2016-07-19 | 一种移动终端测试装置及测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106250253A CN106250253A (zh) | 2016-12-21 |
CN106250253B true CN106250253B (zh) | 2019-10-15 |
Family
ID=57613378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610569172.XA Active CN106250253B (zh) | 2016-07-19 | 2016-07-19 | 一种移动终端测试装置及测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106250253B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107145446B (zh) * | 2017-05-08 | 2021-02-02 | 网易有道信息技术(北京)有限公司 | 一种应用程序app的测试方法、装置和介质 |
CN109959860A (zh) * | 2017-12-26 | 2019-07-02 | 新智数字科技有限公司 | 一种ic卡检测的方法、装置 |
CN109144881B (zh) * | 2018-09-07 | 2022-06-03 | 东软集团股份有限公司 | Monkey测试方法、装置、终端设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8255861B2 (en) * | 2005-10-17 | 2012-08-28 | Freescale Semiconductor, Inc. | Efficient replaying of autograded coverage regressions and performance verification with directed testcases |
CN102736979A (zh) * | 2012-06-29 | 2012-10-17 | 南京大学 | 一种基于符号执行的带反馈测试用例生成方法 |
CN103729293A (zh) * | 2013-12-30 | 2014-04-16 | 华东师范大学 | 一种基于uml活动图的gui测试方法 |
CN102508780B (zh) * | 2011-11-21 | 2014-08-20 | 电子科技大学 | 一种用于软件测试的交叉式动态法和装置 |
CN104346279A (zh) * | 2014-10-27 | 2015-02-11 | 百度在线网络技术(北京)有限公司 | 一种软件测试方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7331007B2 (en) * | 2005-07-07 | 2008-02-12 | International Business Machines Corporation | Harnessing machine learning to improve the success rate of stimuli generation |
-
2016
- 2016-07-19 CN CN201610569172.XA patent/CN106250253B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8255861B2 (en) * | 2005-10-17 | 2012-08-28 | Freescale Semiconductor, Inc. | Efficient replaying of autograded coverage regressions and performance verification with directed testcases |
CN102508780B (zh) * | 2011-11-21 | 2014-08-20 | 电子科技大学 | 一种用于软件测试的交叉式动态法和装置 |
CN102736979A (zh) * | 2012-06-29 | 2012-10-17 | 南京大学 | 一种基于符号执行的带反馈测试用例生成方法 |
CN103729293A (zh) * | 2013-12-30 | 2014-04-16 | 华东师范大学 | 一种基于uml活动图的gui测试方法 |
CN104346279A (zh) * | 2014-10-27 | 2015-02-11 | 百度在线网络技术(北京)有限公司 | 一种软件测试方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106250253A (zh) | 2016-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20130117855A1 (en) | Apparatus for automatically inspecting security of applications and method thereof | |
CN105487966B (zh) | 程序测试方法、装置及系统 | |
CN106250253B (zh) | 一种移动终端测试装置及测试方法 | |
CN103024169A (zh) | 一种通讯终端应用程序的语音启动方法和装置 | |
CN107908551A (zh) | 终端软件测试方法、装置、终端和计算机存储介质 | |
CN109471768B (zh) | 业务问题的监控方法、装置以及电子设备 | |
CN105260273B (zh) | 一种智能电子设备的测试方法和装置 | |
CN105847325B (zh) | 应用客户端的调试方法及装置 | |
US20110035179A1 (en) | System and method for testing electronic device | |
CN112286825A (zh) | 智能座舱的屏幕测试方法、装置及电子设备 | |
CN111179907A (zh) | 语音识别测试方法、装置、设备及计算机可读存储介质 | |
US20130221999A1 (en) | Testing system and method | |
CN106028367B (zh) | 一种基于CMWrun测试平台的自动测试方法及系统 | |
CN114510305B (zh) | 模型训练方法、装置、存储介质及电子设备 | |
CN116069612A (zh) | 一种异常定位方法、装置和电子设备 | |
CN110716859A (zh) | 自动为修改的代码推送测试用例的方法及相关装置 | |
CN106055392B (zh) | 应用进入后台后的处理方法、测试方法及终端 | |
CN112069503B (zh) | 任务管理方法、设备及存储介质 | |
CN111352023B (zh) | 晶振检测方法、装置及计算机可读存储介质 | |
AU2013206622B2 (en) | Download management method and device based on Android browser | |
CN114448848B (zh) | 一种交换机的测试方法、装置、电子设备及存储介质 | |
CN112819030A (zh) | 图像识别模型训练方法、装置、存储介质及终端 | |
CN113626301A (zh) | 生成测试脚本的方法和装置 | |
CN113836025B (zh) | 页面测试方法及装置、存储介质及电子设备 | |
CN107943676B (zh) | 应用操作非易失性存储器的性能测试数据处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200927 Address after: 226500 Rugao Port Economic Development Zone, Nantong, Jiangsu, Rugao Patentee after: TECK GUAN (CHINA) Ltd. Address before: 518000 Guangdong Province, Shenzhen high tech Zone of Nanshan District City, No. 9018 North Central Avenue's innovation building A, 6-8 layer, 10-11 layer, B layer, C District 6-10 District 6 floor Patentee before: NUBIA TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right |