CN108628714B - 移动终端的测试方法及系统 - Google Patents
移动终端的测试方法及系统 Download PDFInfo
- Publication number
- CN108628714B CN108628714B CN201810390999.3A CN201810390999A CN108628714B CN 108628714 B CN108628714 B CN 108628714B CN 201810390999 A CN201810390999 A CN 201810390999A CN 108628714 B CN108628714 B CN 108628714B
- Authority
- CN
- China
- Prior art keywords
- mobile terminal
- hardware
- state information
- interrupt
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/261—Functional testing by simulating additional hardware, e.g. fault simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephone Function (AREA)
Abstract
本发明公开了一种移动终端的测试方法及系统。所述移动终端包括多个可插拔硬件。所述测试方法包括以下步骤:S1、预存所述移动终端在每个可插拔硬件处于插入拔出状态下的标准状态信息;S2、接收测试指令;所述测试指令包括目标可插拔硬件;S3、获取与所述目标可插拔硬件对应的标准状态信息并发送给中断处理程序。本发明通过软中断模拟硬件中断,实现了从系统底层模拟可插拔硬件的插拔事件,在一定程度上增强了自动化测试的全面性、客观性和有效性。
Description
技术领域
本发明涉及电子产品测试领域,特别涉及一种Android(一种操作系统)终端的测试方法及系统。
背景技术
在移动终端设备整个开发流程中,厂商通常会利用各种自动化测试工具,如Monkey,MonkeyRunner等,对设备进行大量的自动化压力测试。这类测试主要原理,是利用软件构造出用户触摸或滑动屏幕、打开Activity(Android组件之一)、按下按键等事件,并将这些事件组成一个伪随机事件流,并发送到不同的Android事件处理模块进行处理,从而达到模拟实际用户使用场景的目的,实现对手机的压力测试,在频繁的测试中找出手机系统中存在的潜在问题,进而提高系统的稳定性。
目前,这些自动化测试工具存在一个普遍问题,即对移动终端的某些可插拔硬件的插入拔出事件无法模拟,导致测试存在一定的局限性,可插拔硬件例如SIM(用户身份识别卡)卡、SD(存储卡)卡、耳机等。以Monkey测试为例,此工具可以将封装好的触摸事件、按键事件发送到Android 输入模块处理,也可以直接调用Android API(应用程序编程接口)来打开一个Activity,但是对于插拔SIM卡、插拔SD卡、插拔耳机等事件没有提供API来从系统底层进行事件的模拟,导致Android Framework层对此类事件模拟缺乏处理流程自下而上的完整性。这类事件模拟的缺失导致压力测试无法覆盖到这些事件的软件处理流程,一定程度上影响了测试的全面性、客观性和有效性。
发明内容
本发明要解决的技术问题是为了克服现有技术中自动化测试工具不能实现可插拔硬件的插入拔出事件模拟,无法进行该类事件测试的缺陷,提供一种移动终端的测试方法及系统。
本发明是通过下述技术方案来解决上述技术问题:
一种移动终端的测试方法,所述移动终端包括多个可插拔硬件,所述测试方法包括以下步骤:
S1、预存所述移动终端在每个可插拔硬件处于插入拔出状态下的标准状态信息;
S2、接收测试指令;所述测试指令包括目标可插拔硬件;
S3、获取与所述目标可插拔硬件对应的标准状态信息并发送给中断处理程序。
较佳地,步骤S1,具体包括:
在生成硬件中断时,中断处理程序IRQ采集所述移动终端的标准状态信息并存储。
较佳地,所述标准状态信息包括以下参数:
寄存器状态数据和缓冲区数据。
较佳地,步骤S3之前,所述测试方法还包括:
检测所述目标可插拔硬件的插槽的电平值;
根据所述电平值判断是否产生硬件中断;
在判断为否时,执行步骤S3。
本发明还提供一种移动终端的测试系统,所述移动终端包括中断处理程序和多个可插拔硬件,所述测试系统包括:
存储模块,用于预存所述移动终端在每个可插拔硬件处于插入拔出状态下的标准状态信息;
指令接收模块,用于接收测试指令;所述测试指令包括目标可插拔硬件;
控制模块,用于获取与所述目标可插拔硬件对应的标准状态信息并发送给中断处理程序。
较佳地,所述存储模块具体包括:调用单元和存储单元;
在生成硬件中断时,所述调用单元用于调用中断处理程序IRQ以采集所述移动终端的标准状态信息;
所述存储单元用于存储所述标准状态信息。
较佳地,所述标准状态信息包括以下参数:
寄存器状态数据和缓冲区数据。
较佳地,所述测试系统还包括:
检测模块,用于检测所述目标可插拔硬件的插槽的电平值;
判断模块,用于根据所述电平值判断是否产生硬件中断,并在判断为否时,调用所述控制模块。
本发明的积极进步效果在于:本发明通过软中断模拟硬件中断,实现了从系统底层模拟可插拔硬件的插拔事件,在一定程度上增强了自动化测试的全面性、客观性和有效性。
附图说明
图1为本发明实施例1的移动终端的测试方法的流程图。
图2为本发明实施例2的移动终端的测试系统的模块示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
本实施例提供了一种移动终端的测试方法,其中移动终端包括中断处理程序、多个可插拔硬件和和用于插接可插拔硬件的插槽,可插拔硬件例如耳机、SD卡和SIM卡等。如图1所示,测试方法包括以下步骤:
步骤101、预存移动终端在每个可插拔硬件处于插入拔出状态下的标准状态信息。
其中,标准状态信息包括以下参数:寄存器状态数据和缓冲区数据。寄存器状态数据包括可插拔硬件的插槽的电平值和可插拔硬件类型值。
本实施例中,步骤101,具体包括:
在生成硬件中断时,中断处理程序IRQ采集移动终端的标准状态信息并存储于本地变量。
其中,硬件中断的生成可通过人工手动插拔可插拔硬件实现。以耳机为例,在开始测试之前,手动插入耳机,会产生相应的硬件中断,并且相关寄存器值会被置位,(寄存器会存储耳机口电平,代表此事件是插入还是拔出,也会存储插入或拔出的耳机类型)。IRQ会首先记录产生这次耳机插入中断时设备的寄存器状态和缓冲区数据,并分别保存到本地变量中,供真正开始测试时模拟中断使用。之后再执行正常的中断处理程序。
本实施例中,还可通过Linux NetLink机制将每个可插拔硬件处于插入拔出状态下的标准状态信息封装在自动化测试工具的API中,进而使自动化测试工具具备模拟此类硬件插拔事件的功能。
步骤102、接收测试指令。
其中,测试指令包括目标可插拔硬件。
本实施例中,通过新建内核线程循环接收上层发出的模拟硬件中断的测试指令。还是以耳机为例(此时目标可插拔硬件为耳机),自动化测试工具向新建的内核线程发送模拟耳机插入事件的测试指令。此功能可由Linux NetLink机制实现。自动化测试工具需要首先配置一个可与kernel(实时操作系统)通信的AF_NETLINK类型的socket(编程接口),然后调用sendmsg函数来向kernel发送模拟耳机插入事件的测试指令。
步骤103、检测目标可插拔硬件的插槽的电平值。
步骤104、根据电平值判断是否产生硬件中断。
若判断为否时,说明是软件模拟中断,则执行步骤105。若判断为是时,说明是耳机插入触发的终端,则正常读取移动终端当前真实的寄存器数据再执行中断处理程序。
步骤105、获取与目标可插拔硬件对应的标准状态信息并发送给中断处理程序。中断处理程序执行中断处理。
具体的,步骤105通过新建一个内核线程并在新线程中通过执行软中断汇编指令(SWI)来触发相应耳机中断,在此状态下,中断处理程序IRQ读取保存在本地变量的移动终端的标准状态信息(寄存器状态、缓冲区数据等)代替当前状态信息(真实的数据)来处理中断。中断处理程序IRQ执行完毕后正常返回,上层接到kernel反馈后,应用软件流程将进行一次正常的硬件插拔事件处理,从而完成这个模拟事件的处理,进而可对移动终端进行相关的测试。
实施例2
如图2所示,本实施例的移动终端的测试系统,测试系统包括:存储模块1、指令接收模块2、检测模块3、判断模块4和控制模块5。存储模块1具体包括:调用单元和存储单元。
存储模块1用于预存移动终端在每个可插拔硬件处于插入拔出状态下的标准状态信息。具体的,在生成硬件中断时,存储模块1的调用单元调用中断处理程序IRQ以采集移动终端的标准状态信息。存储单元则将标准状态信息存储于本地变量中。
其中,标准状态信息包括以下参数:寄存器状态数据和缓冲区数据。寄存器状态数据包括可插拔硬件的插槽的电平值和可插拔硬件类型值。
指令接收模块2用于接收测试指令。其中,测试指令包括目标可插拔硬件。
检测模块3用于检测目标可插拔硬件的插槽的电平值。以目标可插拔硬件为耳机为例,也即检测耳机座的电平值。
判断模块4用于根据电平值判断是否产生硬件中断,并在判断为否时,调用控制模块5。
控制模块5用于从本地变量中获取与目标可插拔硬件对应的标准状态信息,并交给中断处理程序来处理。中断处理程序IRQ执行完毕后正常返回,上层接到kernel反馈后,应用软件流程将进行一次正常的硬件插拔事件处理,从而完成这个模拟事件的处理,进而可对移动终端进行相关的测试,其在一定程度上增强了自动化测试的全面性、客观性和有效性。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
Claims (6)
1.一种移动终端的测试方法,所述移动终端包括中断处理程序和多个可插拔硬件,其特征在于,所述测试方法包括以下步骤:
S1、预存所述移动终端在每个可插拔硬件处于插入拔出状态下的标准状态信息;
S2、通过新建内核线程循环接收测试指令;所述测试指令包括目标可插拔硬件;
S3、判断是否产生硬件中断,若是,则正常读取所述移动终端当前真实的状态信息再执行所述中断处理程序;若否,则执行步骤S4;
S4、通过新建一个内核线程并在新线程中通过执行软中断汇编指令来触发相应中断状态,在此状态下获取与所述目标可插拔硬件对应的标准状态信息并发送给中断处理程序;
所述标准状态信息包括以下参数:
寄存器状态数据和缓冲区数据。
2.如权利要求1所述的移动终端的测试方法,其特征在于,步骤S1,具体包括:
在生成硬件中断时,中断处理程序采集所述移动终端的标准状态信息并存储。
3.如权利要求1所述的移动终端的测试方法,其特征在于,步骤S3之前,所述测试方法还包括:
检测所述目标可插拔硬件的插槽的电平值;
根据所述电平值判断是否产生硬件中断;
在判断为否时,执行步骤S3。
4.一种移动终端的测试系统,所述移动终端包括中断处理程序和多个可插拔硬件,其特征在于,所述测试系统包括:
存储模块,用于预存所述移动终端在每个可插拔硬件处于插入拔出状态下的标准状态信息;
指令接收模块,用于通过新建内核线程循环接收测试指令;所述测试指令包括目标可插拔硬件;
判断模块,用于判断是否产生硬件中断,若是,则正常读取所述移动终端当前真实的状态信息再执行所述中断处理程序;若否,则调用控制模块;
控制模块,用于通过新建一个内核线程并在新线程中通过执行软中断汇编指令来触发相应中断状态,在此状态下获取与所述目标可插拔硬件对应的标准状态信息并发送给中断处理程序;
所述标准状态信息包括以下参数:
寄存器状态数据和缓冲区数据。
5.如权利要求4所述的移动终端的测试系统,其特征在于,所述存储模块具体包括:调用单元和存储单元;
在生成硬件中断时,所述调用单元用于调用中断处理程序以采集所述移动终端的标准状态信息;
所述存储单元用于存储所述标准状态信息。
6.如权利要求4所述的移动终端的测试系统,其特征在于,所述测试系统还包括:
检测模块,用于检测所述目标可插拔硬件的插槽的电平值;
所述判断模块还用于根据所述电平值判断是否产生硬件中断,并在判断为否时,调用所述控制模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810390999.3A CN108628714B (zh) | 2018-04-27 | 2018-04-27 | 移动终端的测试方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810390999.3A CN108628714B (zh) | 2018-04-27 | 2018-04-27 | 移动终端的测试方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108628714A CN108628714A (zh) | 2018-10-09 |
CN108628714B true CN108628714B (zh) | 2022-02-01 |
Family
ID=63694760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810390999.3A Active CN108628714B (zh) | 2018-04-27 | 2018-04-27 | 移动终端的测试方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108628714B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7131114B2 (en) * | 2001-07-16 | 2006-10-31 | Texas Instruments Incorporated | Debugger breakpoint management in a multicore DSP device having shared program memory |
CN101008911A (zh) * | 2007-02-06 | 2007-08-01 | 杭州华为三康技术有限公司 | 实现虚拟热插拔的方法及实现虚拟热插拔的主机设备 |
CN102339236A (zh) * | 2010-07-21 | 2012-02-01 | 英业达股份有限公司 | 侦测可插拔储存装置的方法及电子装置 |
CN103257912A (zh) * | 2012-02-16 | 2013-08-21 | 鸿富锦精密工业(深圳)有限公司 | 测试装置及其测试pcie插槽的方法 |
CN105430678A (zh) * | 2016-01-06 | 2016-03-23 | 烽火通信科技股份有限公司 | Ptn设备接口测试的方法及装置 |
CN105656711A (zh) * | 2014-12-02 | 2016-06-08 | 中兴通讯股份有限公司 | 信号检测方法及装置 |
CN107203448A (zh) * | 2017-05-24 | 2017-09-26 | 郑州云海信息技术有限公司 | 一种测试PCIe switch芯片暴力热插拔功能的方法及系统 |
CN107479900A (zh) * | 2017-08-28 | 2017-12-15 | 北京翼辉信息技术有限公司 | 一种适用于实时操作系统的热插拔软件方案 |
-
2018
- 2018-04-27 CN CN201810390999.3A patent/CN108628714B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7131114B2 (en) * | 2001-07-16 | 2006-10-31 | Texas Instruments Incorporated | Debugger breakpoint management in a multicore DSP device having shared program memory |
CN101008911A (zh) * | 2007-02-06 | 2007-08-01 | 杭州华为三康技术有限公司 | 实现虚拟热插拔的方法及实现虚拟热插拔的主机设备 |
CN102339236A (zh) * | 2010-07-21 | 2012-02-01 | 英业达股份有限公司 | 侦测可插拔储存装置的方法及电子装置 |
CN103257912A (zh) * | 2012-02-16 | 2013-08-21 | 鸿富锦精密工业(深圳)有限公司 | 测试装置及其测试pcie插槽的方法 |
CN105656711A (zh) * | 2014-12-02 | 2016-06-08 | 中兴通讯股份有限公司 | 信号检测方法及装置 |
CN105430678A (zh) * | 2016-01-06 | 2016-03-23 | 烽火通信科技股份有限公司 | Ptn设备接口测试的方法及装置 |
CN107203448A (zh) * | 2017-05-24 | 2017-09-26 | 郑州云海信息技术有限公司 | 一种测试PCIe switch芯片暴力热插拔功能的方法及系统 |
CN107479900A (zh) * | 2017-08-28 | 2017-12-15 | 北京翼辉信息技术有限公司 | 一种适用于实时操作系统的热插拔软件方案 |
Also Published As
Publication number | Publication date |
---|---|
CN108628714A (zh) | 2018-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI510913B (zh) | 測試裝置及其測試方法 | |
US8959394B2 (en) | Electronic device, system, and method for testing exception handling mechanism | |
CN107608609B (zh) | 一种事件对象发送方法与装置 | |
CN108304326B (zh) | 安卓智能终端自动化测试系统和方法 | |
CN107066377B (zh) | 基于Android系统的页面元素获取方法及终端设备 | |
CN106126424A (zh) | 一种脚本可视化的自动化测试方法、装置和移动终端 | |
JP2017084082A (ja) | シミュレーション装置、試験シナリオファイル作成方法、及び試験シナリオファイルを用いた試験方法 | |
CN111651232A (zh) | 一机多控方法、装置、系统及电子设备 | |
CN112231206A (zh) | 应用程序测试的脚本编辑方法、计算机可读存储介质及测试平台 | |
CN109766275B (zh) | 移动应用的自动化测试方法、系统、存储介质以及设备 | |
CN111026651B (zh) | 测试方法、装置、存储介质及电子设备 | |
CN111128139B (zh) | 无侵入式语音测试方法及装置 | |
CN112241373A (zh) | 自动化测试方法、测试装置、处理器和测试系统 | |
CN106021004B (zh) | 用户行为模拟单元、测试系统、以及测试方法 | |
CN108628714B (zh) | 移动终端的测试方法及系统 | |
CN111897582A (zh) | 一体机以太网刷新方法、装置、存储介质及一体机设备 | |
CN104239202A (zh) | 交互式智能设备的非Root测试方法和系统 | |
US20110239067A1 (en) | Verification of design information for controlling manufacture of a system on a chip | |
CN112667490A (zh) | 基于钩子函数的性能测试方法与装置 | |
CN111708704A (zh) | 一种云真机测试方法、装置、终端及存储介质 | |
CN105339974B (zh) | 模拟传感器 | |
CN108563578A (zh) | Sdk兼容性检测方法、装置、设备及可读存储介质 | |
CN110515834B (zh) | 接口测试方法、装置、移动终端及存储介质 | |
CN113468069A (zh) | 应用测试方法、装置、计算机设备及存储介质 | |
CN108415822B (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 |