CN106155848A - 一种测试方法和设备 - Google Patents
一种测试方法和设备 Download PDFInfo
- Publication number
- CN106155848A CN106155848A CN201510132147.0A CN201510132147A CN106155848A CN 106155848 A CN106155848 A CN 106155848A CN 201510132147 A CN201510132147 A CN 201510132147A CN 106155848 A CN106155848 A CN 106155848A
- Authority
- CN
- China
- Prior art keywords
- test
- equipment
- tested
- test command
- information
- 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.)
- Granted
Links
Landscapes
- Telephone Function (AREA)
Abstract
本申请公开了一种测试方法和设备,该方法包括:获取所述测试终端的构造信息,通过解析构造信息确定需要进行测试的待测试设备和构造用于测试待测试设备的测试命令所需要的数据,并利用数据构造测试命令;最后将所述测试命令发送给待测试设备,以测试待测试设备;以此构造信息的方式来代替编程来实现构造测试命令,不需要复杂的操作,且能构造任意的测试命令,提高了测试的效率。
Description
技术领域
本申请实施例涉及通信技术领域,特别涉及一种测试方法和设备。
背景技术
Intent是Android(Google公司开发的操作系统)中进程间通信(IPC)的主要方式之一,也是Android动态模糊测试中使用的重要手段之一。通过向测试APP发送Intent,可以达到对该App中某一组件的启动,并执行一段需要测试的逻辑。
但现有技术中的向App发送Intent的方式无法构造出任意的Intent,且过程复杂。
发明内容
针对现有技术中的缺陷,本申请提出了一种测试方法和设备,实现了方便地自由定制测试命令,进而对待测试设备进行测试。
本申请提出了一种测试方法,该方法包括:
获取所述测试终端的构造信息,所述构造信息中包含有需要进行测试的待测试设备的信息,以及构造用于测试所述待测试设备的测试命令所需要的数据;
通过解析所述构造信息确定需要进行测试的待测试设备和构造用于测试所述待测试设备的测试命令所需要的数据,并利用所述数据构造测试命令;
将所述测试命令发送给所述待测试设备,以测试所述待测试设备。
优选的,获取所述测试终端的构造信息,具体为:
接收所述测试设备发送的携带构造信息的测试请求消息;
通过所述测试请求消息获取所述构造信息;
其中,所述构造信息是需要进行测试的待测试设备的信息,以及构造用于测试所述待测试设备的测试命令所需要的数据按照预设规则生成的字符串。
优选的,通过解析所述构造信息确定需要进行测试的待测试设备和构造用于测试所述待测试设备的测试命令所需要的数据,具体为:
通过利用与生成所述字符串相同的预设规则解析所述构造信息确定需要进行测试的待测试设备和构造用于测试所述待测试设备的测试命令所需要的数据。
优选的,将所述测试命令发送给所述待测试设备,以测试所述待测试设备,具体为:
确定生成的测试命令的类型;
基于所述类型选择对应所述类型的方式发送测试命令给所述待测试设备,以测试所述待测试设备。
优选的,所述测试命令具体为:Intent。
本申请还提出了一种代理设备,包括:
获取模块,用于获取所述测试终端的构造信息,所述构造信息中包含有需要进行测试的待测试设备的信息,以及构造用于测试所述待测试设备的测试命令所需要的数据;
解析模块,用于通过解析所述构造信息确定需要进行测试的待测试设备和构造用于测试所述待测试设备的测试命令所需要的数据;
构造模块,用于利用所述数据构造测试命令;
测试模块,用于将所述测试命令发送给所述待测试设备,以测试所述待测试设备。
优选的,所述获取模块,具体用于:
接收所述测试设备发送的携带构造信息的测试请求消息;
通过所述测试请求消息获取所述构造信息;
其中,所述构造信息是需要进行测试的待测试设备的信息,以及构造用于测试所述待测试设备的测试命令所需要的数据按照预设规则生成的字符串。
优选的,所述解析模块,具体用于:
通过利用与生成所述字符串相同的预设规则解析所述构造信息确定需要进行测试的待测试设备和构造用于测试所述待测试设备的测试命令所需要的数据。
优选的,测试模块,具体用于:
确定生成的测试命令的类型;
基于所述类型选择对应所述类型的方式发送测试命令给所述待测试设备,以测试所述待测试设备。
优选的,所述测试命令具体为:Intent。
与现有技术相比,在本申请中,代理设备获取所述测试终端的构造信息,代理设备通过解析构造信息确定需要进行测试的待测试设备和构造用于测试待测试设备的测试命令所需要的数据,并利用数据构造测试命令;最后将所述测试命令发送给待测试设备,以测试待测试设备;以此构造信息的方式来代替编程来实现构造测试命令,不需要复杂的操作,且能构造任意的测试命令,提高了测试的效率。
附图说明
图1为本申请实施例中提出的一种测试方法所在的系统的结构示意图;
图2为本申请实施例中提出的一种测试方法的流程示意图;
图3为本申请实施例中提出的一种通过预设规则创建构造信息的流程示意图;
图4为本申请实施例中提出的一种解析构造信息以及发送测试命令的流程示意图;
图5为本申请实施例中提出的一种测试设备的结构示意图。
具体实施方式
如背景技术所述,现有技术中的缺陷,本申请提出了一种测试方法,应用于包括一种测试方法,应用于如图1所示的包括一个或多个测试终端,代理设备,以及一个或多个待测试设备的系统中,该系统中,所有的测试终端都各自连接一个代理设备,该代理设备连接所有的待测试设备;如图2所示,该方法包括以下步骤:
步骤201,获取测试终端的构造信息,构造信息中包含有需要进行测试的待测试设备的信息,以及构造用于测试待测试设备的测试命令所需要的数据;
在具体的场景中,如图1所示,由于测试终端可以有多个,例如多台电脑,需要进行测试的待测试设备也可以有多个,待测试设备可以是安卓手机,平板等,而测试是针对具体的某个或者某些待测试设备的(例如仅需要测试的是手机1,其他的手机不需要),由此就需要明确标识出将需要测试的待测试设备,具体的,出于节约资源的考虑,可以在测试终端发送给代理设备的构造信息中携带需要进行测试的待测试设备的信息,例如用于标识待测试终端的标识符等,当然也可以是其他的任意形式,只要能表示出待测试设备即可。
而具体的,获取测试终端的构造信息过程如下:
接收测试设备发送的携带构造信息的测试请求消息;通过测试请求消息获取构造信息;其中,构造信息是需要进行测试的待测试设备的信息,以及构造用于测试待测试设备的测试命令所需要的数据按照预设规则生成的字符串。
当然,在具体的应用场景中,也可以利用别的方式来承载构造信息,并不限于测试请求消息,只要能承载构造信息即可。另外,在具体的应用场景中,构造信息的创建过程可以如图3所示,利用某种规则或者语言(例如JSON,XML等),例如通过规则A首先定义功能(Action),继续定义包名和类名,并通过类名(Category)标识需要进行测试的待测试设备,至于具体的与测试内容相关的数据,则放置于测试内容(Extra)中,最后定义数据(data),整个定义完成之后,将所有的数据打包生成字符串(JSON字符串),该JSON字符串即为构造信息。
步骤202,通过解析构造信息确定需要进行测试的待测试设备和构造用于测试待测试设备的测试命令所需要的数据,并利用数据构造测试命令;
通过解析构造信息确定需要进行测试的待测试设备和构造用于测试待测试设备的测试命令所需要的数据,具体为:通过利用与生成字符串相同的预设规则解析构造信息确定需要进行测试的待测试设备和构造用于测试待测试设备的测试命令所需要的数据。
获取到构造信息之后,需要解析该构造信息,与构造信息的创建过程类型,在创建的过程是对数据进行编码,在该解析时,则是对编码后的构造信息进行解析,利用同一套规则,例如规则A解析出构造信息中所包含的数据,该预设规则可以预先在测试终端与代理设备所设置或约定好的。
而具体的解析数据以及通过解析出的数据构造测试命令可以如图4所示,在如图4所示的场景中,构造信息是携带于请求消息(可以是Intent,或者是其他消息)中进行传递的,为此首先需要解析请求消息(Intent)的包名和类名,接下来与创建的过程对应,再解析功能(Action),类名(Category),以此确定需要进行测试的待测试设备,再解析测试内容(Extra),获取其中携带的与测试内容相关的数据,由此,确定了需要进行测试的待测试设备,也获取了与测试内容相关的数据,以此通过这样的方式来构造测试命令,并发送给待测试设备,其中不需要涉及到编程,测试命令可以基于代理设备接收到的数据进行方便快捷地构造,提高了测试的效率;在具体的应用场景中,例如需要进行测试的是安卓手机,则测试命令可以为:Intent。
以上是通过解析构造信息中的数据来构造测试命令,除此以外,还可以通过安卓(Android)提供的adb命令,构造测试命令(Intent)并发送给待测试设备;以及通过安卓程序来构造测试命令(Intent)并发送给待测试设备,这种方式能构造出任意的构造测试命令(Intent),但过程复杂,每对一个新的待测试设备进行测试时都需要重新编写安卓程序。
步骤203,将测试命令发送给待测试设备,以测试待测试设备。
具体的,如图4所示,将测试命令发送给待测试设备,以测试待测试设备的过程可以如下:
确定生成的测试命令的类型;基于类型选择对应类型的方式发送测试命令给待测试设备,以测试待测试设备。具体的如图4所示,在生成了测试命令之后,在此,以测试命令为Intent来进行说明,会进一步判断生成的Intent的类型,并基于不同的类型,选择不同的方式来发送给待测试设备,例如类型1对应发送方式为针对活动进行发送(start activity);类型2对应发送方式为针对服务进行发送(start service);类型3对应发送方式为广播(sendbroadcast),具体的可以根据需要进行调整,在此不再进行赘叙。其中,测试命令(Intent)中有一个字符串类型的测试内容Extra(设为ESA),ESA的值(values)就是基于预设规则(例如规则A)构造的字符串(具体为JSON字符串),待测试设备接收到测试命令之后,可以读取其中的JSON字符串执行相应的测试。
为了对本申请进行进一步的说明,本申请实施例二还提出了一种代理设备,如图5所示,包括:
获取模块401,用于获取所述测试终端的构造信息,所述构造信息中包含有需要进行测试的待测试设备的信息,以及构造用于测试所述待测试设备的测试命令所需要的数据;
解析模块402,用于通过解析所述构造信息确定需要进行测试的待测试设备和构造用于测试所述待测试设备的测试命令所需要的数据;
构造模块403,用于利用所述数据构造测试命令;
测试模块404,用于将所述测试命令发送给所述待测试设备,以测试所述待测试设备。
具体的,所述获取模块401,具体用于:接收所述测试设备发送的携带构造信息的测试请求消息;通过所述测试请求消息获取所述构造信息;
其中,所述构造信息是需要进行测试的待测试设备的信息,以及构造用于测试所述待测试设备的测试命令所需要的数据按照预设规则生成的字符串。
具体的,所述解析模块402,具体用于:通过利用与生成所述字符串相同的预设规则解析所述构造信息确定需要进行测试的待测试设备和构造用于测试所述待测试设备的测试命令所需要的数据。
测试模块404,具体用于:确定生成的测试命令的类型;基于所述类型选择对应所述类型的方式发送测试命令给所述待测试设备,以测试所述待测试设备。所述测试命令具体可以为:Intent。
与现有技术相比,在本申请中,代理设备获取所述测试终端的构造信息,代理设备通过解析构造信息确定需要进行测试的待测试设备和构造用于测试待测试设备的测试命令所需要的数据,并利用数据构造测试命令;最后将所述测试命令发送给待测试设备,以测试待测试设备;以此构造信息的方式来代替编程来实现构造测试命令,不需要复杂的操作,且能构造任意的测试命令,提高了测试的效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (10)
1.一种测试方法,其特征在于,该方法包括:
获取测试终端的构造信息,所述构造信息中包含有需要进行测试的待测试设备的信息,以及构造用于测试所述待测试设备的测试命令所需要的数据;
通过解析所述构造信息确定需要进行测试的待测试设备和构造用于测试所述待测试设备的测试命令所需要的数据,并利用所述数据构造测试命令;
将所述测试命令发送给所述待测试设备,以测试所述待测试设备。
2.如权利要求1所述的方法,其特征在于,所述获取所述测试终端的构造信息,具体为:
接收所述测试设备发送的携带构造信息的测试请求消息;
通过所述测试请求消息获取所述构造信息;
其中,所述构造信息是需要进行测试的待测试设备的信息,以及构造用于测试所述待测试设备的测试命令所需要的数据按照预设规则生成的字符串。
3.如权利要求2所述的方法,其特征在于,所述通过解析所述构造信息确定需要进行测试的待测试设备和构造用于测试所述待测试设备的测试命令所需要的数据,具体为:
通过利用与生成所述字符串相同的预设规则解析所述构造信息确定需要进行测试的待测试设备和构造用于测试所述待测试设备的测试命令所需要的数据。
4.如权利要求1所述的方法,其特征在于,所述将所述测试命令发送给所述待测试设备,以测试所述待测试设备,具体为:
确定生成的测试命令的类型;
基于所述类型选择对应所述类型的方式发送测试命令给所述待测试设备,以测试所述待测试设备。
5.如权利要求1-4任意一项所述的方法,其特征在于,所述测试命令具体为:Intent。
6.一种代理设备,包括:
获取模块,用于获取所述测试终端的构造信息,所述构造信息中包含有需要进行测试的待测试设备的信息,以及构造用于测试所述待测试设备的测试命令所需要的数据;
解析模块,用于通过解析所述构造信息确定需要进行测试的待测试设备和构造用于测试所述待测试设备的测试命令所需要的数据;
构造模块,用于利用所述数据构造测试命令;
测试模块,用于将所述测试命令发送给所述待测试设备,以测试所述待测试设备。
7.如权利要求6所述的设备,其特征在于,所述获取模块,具体用于:
接收所述测试设备发送的携带构造信息的测试请求消息;
通过所述测试请求消息获取所述构造信息;
其中,所述构造信息是需要进行测试的待测试设备的信息,以及构造用于测试所述待测试设备的测试命令所需要的数据按照预设规则生成的字符串。
8.如权利要求7所述的设备,其特征在于,所述解析模块,具体用于:
通过利用与生成所述字符串相同的预设规则解析所述构造信息确定需要进行测试的待测试设备和构造用于测试所述待测试设备的测试命令所需要的数据。
9.如权利要求6所述的设备,其特征在于,测试模块,具体用于:
确定生成的测试命令的类型;
基于所述类型选择对应所述类型的方式发送测试命令给所述待测试设备,以测试所述待测试设备。
10.如权利要求6-9任意一项所述的设备,其特征在于,所述测试命令具体为:Intent。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510132147.0A CN106155848B (zh) | 2015-03-24 | 2015-03-24 | 一种测试方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510132147.0A CN106155848B (zh) | 2015-03-24 | 2015-03-24 | 一种测试方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106155848A true CN106155848A (zh) | 2016-11-23 |
CN106155848B CN106155848B (zh) | 2019-09-03 |
Family
ID=57339275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510132147.0A Active CN106155848B (zh) | 2015-03-24 | 2015-03-24 | 一种测试方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106155848B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109408348A (zh) * | 2018-09-30 | 2019-03-01 | 北京奇虎科技有限公司 | 一种应用程序的可视化测试方法及服务器 |
CN113132183A (zh) * | 2021-04-20 | 2021-07-16 | 北京天融信网络安全技术有限公司 | 一种数据传输测试的方法、装置、电子设备及介质 |
CN115913427A (zh) * | 2022-11-04 | 2023-04-04 | 深圳市乐凡信息科技有限公司 | 北斗模块的测试方法、装置、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1755643A (zh) * | 2004-09-27 | 2006-04-05 | 华为技术有限公司 | 一种软件测试的方法 |
CN101174237A (zh) * | 2007-11-28 | 2008-05-07 | 华为技术有限公司 | 一种自动化测试方法、系统及一种测试设备 |
CN101193007A (zh) * | 2006-11-28 | 2008-06-04 | 国际商业机器公司 | 统一资源定位符命令测试方法、场景测试方法和相应设备 |
CN101216804A (zh) * | 2008-01-14 | 2008-07-09 | 中兴通讯股份有限公司 | 一种测试装置和方法 |
CN102185738A (zh) * | 2011-05-13 | 2011-09-14 | 迈普通信技术股份有限公司 | 通信设备硬件主机的测试系统及测试方法 |
US20130067281A1 (en) * | 2011-09-09 | 2013-03-14 | Askey Computer Corp. | Testing system and method for handheld electronic device |
CN103577313A (zh) * | 2012-07-27 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 一种移动终端应用程序测试方法及装置 |
CN103713991A (zh) * | 2012-10-08 | 2014-04-09 | 腾讯科技(深圳)有限公司 | 一种在安卓设备上测试应用程序的方法和装置 |
-
2015
- 2015-03-24 CN CN201510132147.0A patent/CN106155848B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1755643A (zh) * | 2004-09-27 | 2006-04-05 | 华为技术有限公司 | 一种软件测试的方法 |
CN101193007A (zh) * | 2006-11-28 | 2008-06-04 | 国际商业机器公司 | 统一资源定位符命令测试方法、场景测试方法和相应设备 |
CN101174237A (zh) * | 2007-11-28 | 2008-05-07 | 华为技术有限公司 | 一种自动化测试方法、系统及一种测试设备 |
CN101216804A (zh) * | 2008-01-14 | 2008-07-09 | 中兴通讯股份有限公司 | 一种测试装置和方法 |
CN102185738A (zh) * | 2011-05-13 | 2011-09-14 | 迈普通信技术股份有限公司 | 通信设备硬件主机的测试系统及测试方法 |
US20130067281A1 (en) * | 2011-09-09 | 2013-03-14 | Askey Computer Corp. | Testing system and method for handheld electronic device |
CN103577313A (zh) * | 2012-07-27 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 一种移动终端应用程序测试方法及装置 |
CN103713991A (zh) * | 2012-10-08 | 2014-04-09 | 腾讯科技(深圳)有限公司 | 一种在安卓设备上测试应用程序的方法和装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109408348A (zh) * | 2018-09-30 | 2019-03-01 | 北京奇虎科技有限公司 | 一种应用程序的可视化测试方法及服务器 |
CN113132183A (zh) * | 2021-04-20 | 2021-07-16 | 北京天融信网络安全技术有限公司 | 一种数据传输测试的方法、装置、电子设备及介质 |
CN115913427A (zh) * | 2022-11-04 | 2023-04-04 | 深圳市乐凡信息科技有限公司 | 北斗模块的测试方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106155848B (zh) | 2019-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105335293B (zh) | 一种基于接口并行的自动化测试系统和方法 | |
CN105450476B (zh) | 一种回归测试系统及测试方法 | |
US9053238B2 (en) | Tool-independent automated testing of software | |
CN105577463B (zh) | 一种基于通信协议的测试方法及其装置 | |
CN110287109A (zh) | 协议接口的测试方法、装置、计算机设备及其存储介质 | |
CN105159833A (zh) | 自动化测试装置及方法 | |
CN106155891A (zh) | 接口测试方法、接口描述数据库生成方法及装置 | |
CN106294179A (zh) | 应用程序开发过程中的模拟测试方法及服务器 | |
CN105099811A (zh) | 一种接口测试方法和装置 | |
CN104683386A (zh) | 可定制响应的桩服务实现方法及装置 | |
CN106095673A (zh) | 基于web接口的自动化测试方法及系统 | |
Grasic et al. | An analysis of evaluation practices for dtn routing protocols | |
CN110933095A (zh) | 一种报文解析方法及装置 | |
US20210064453A1 (en) | Automated application programming interface (api) specification construction | |
CN112241360A (zh) | 一种测试用例生成方法、装置、设备及存储介质 | |
CN105556483A (zh) | 实时代码插装 | |
CN106155848A (zh) | 一种测试方法和设备 | |
CN111767217B (zh) | Js单元测试案例生成方法及装置 | |
CN106603259B (zh) | 网元的配置数据校验方法及装置、网络管理设备 | |
CN108694121B (zh) | 一种自动化测试方法、装置及系统 | |
CN113778897B (zh) | 接口的自动测试方法、装置、设备及存储介质 | |
US8880108B2 (en) | Short message processing method and apparatus | |
Liu et al. | HFuzz: Towards automatic fuzzing testing of NB-IoT core network protocols implementations | |
CN107368422A (zh) | 一种应用程序app的测试方法、装置和介质 | |
CN113238965A (zh) | 一种接口测试脚本生成方法、系统及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |