CN107547299B - 一种测试方法及系统 - Google Patents
一种测试方法及系统 Download PDFInfo
- Publication number
- CN107547299B CN107547299B CN201710404959.5A CN201710404959A CN107547299B CN 107547299 B CN107547299 B CN 107547299B CN 201710404959 A CN201710404959 A CN 201710404959A CN 107547299 B CN107547299 B CN 107547299B
- Authority
- CN
- China
- Prior art keywords
- test
- information
- command
- message
- type
- 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
- 238000010998 test method Methods 0.000 title claims abstract description 10
- 238000012360 testing method Methods 0.000 claims abstract description 709
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000012545 processing Methods 0.000 claims description 25
- 230000001960 triggered effect Effects 0.000 claims description 2
- 238000013515 script Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 238000013522 software testing Methods 0.000 description 2
- 101100444142 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) dut-1 gene Proteins 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种测试方法及系统,涉及网络技术领域,其中,上述方法包括:接收针对测试任务的测试请求;根据所述测试请求确定所述测试任务的测试库,其中,所述测试库是预先生成的,用于记录所述测试任务的各个测试用例的机器可执行命令的信息和/或机器可识别报文的信息;根据所述机器可执行命令的信息和/或机器可识别报文的信息对待测试设备进行测试,获得测试结果。应用本申请实施例提供的方案进行测试,能够提高测试效率。
Description
技术领域
本申请涉及网络技术领域,特别涉及一种测试方法及系统。
背景技术
软件测试是保证软件指令的重要环节,目前常用的软件测试方法主要分为两种类型,一种为人工测试类型和自动化测试类型,其中,人工测试类型具有测试效率低的缺点,为此,自动化测试类型的测试方法得到了越来越广泛的应用。
现有的自动化测试类型的测试方法中,主要是通过测试人员撰写测试脚本的方式进行测试,也就是,测试人员撰写测试脚本后,将其下发至测试设备,然后测试设备根据测试脚本对待测试设备进行测试,获得测试结果。
应用上述方式可以实现对待测试设备的测试,但是由于一个测试脚本通常仅仅为针对一个功能模块进行测试的脚本,而对待测试进行测试时一般需要对多个测试脚本进行测试,这样就需要向测试设备下发多个测试脚本,测试设备获得多个测试脚本,并对多个测试脚本进行解析进而进行测试需要的时间较长,因此,应用现有技术中的测试方法进行测试时,测试效率低下。
发明内容
本申请实施例公开了一种测试方法及系统,以提高测试效率。
为达到上述目的,本申请实施例公开了一种测试方法,所述方法包括:
接收针对测试任务的测试请求;
根据所述测试请求确定所述测试任务的测试库,其中,所述测试库是预先生成的,用于记录所述测试任务的各个测试用例的机器可执行命令的信息和/或机器可识别报文的信息;
根据所述机器可执行命令的信息和/或机器可识别报文的信息对待测试设备进行测试,获得测试结果。
为达到上述目的,本申请实施例公开了一种测试系统,所述系统包括:测试库生成模块和设备测试模块;其中,
所述测试库生成模块,用于预先生成测试任务的测试库,其中,所述测试库,用于记录所述测试任务的各个测试用例的机器可执行命令的信息和/或机器可识别报文的信息;
所述设备测试模块,包括:请求接收子模块、测试库确定子模块和测试子模块;
所述请求接收子模块,用于接收针对测试任务的测试请求;
测试库确定子模块,用于根据所述测试请求确定所述测试任务的测试库;
测试子模块,用于根据所述机器可执行命令的信息和/或机器可识别报文的信息对待测试设备进行测试,获得测试结果。
由以上可见,本申请实施例提供的方案中,由于预先生成的测试库中已存储了测试任务的各个测试用例的机器可执行命令的信息和/或机器可识别报文的信息,因此,对待测试设备进行测试时,可以直接从测试任务的测试测试库中获得对待测试设备进行测试的各种信息,而无需逐个获得测试脚本,并对测试脚本进行解析,从而能够提高测试效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种组网的结构示意图;
图2为本申请实施例提供的一种测试方法的流程示意图;
图3为本申请实施例提供的一种信息生成方法的流程示意图;
图4为本申请实施例提供的另一种测试方法的流程示意图;
图5为本申请实施例提供的一种测试系统的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为解决现有技术中测试效率低下的问题,本申请实施例提供了一种测试方法及装置。其执行主体可以理解为测试设备,该测试设备可以是计算机等设备。
本申请的一种实现方式中,参见图1所示的组网的结构示意图,一台测试设备(图中的PC)可以与一台及其以上待测试设备(图中的Dut1和Dut2)通信连接,待测试设备可以为路由交换设备,也可以为网关等网络通信设备。当测试设备需要向待测试设备发送操作命令时,可以通过控制端口向待测试设备发送操作命令,例如,console端口,另外当测试设备需要向待测试设备发送报文或者接收待测试设备发送的报文时,可以通过网络端口接收待测试设备发送的报文或者接收待测试设备发送的报文,例如,测试设备上所安装网卡提供的接口。
图2为本申请实施例提供的一种测试方法的流程示意图,该方法包括:
S101:接收针对测试任务的测试请求。
S102:根据上述测试请求确定测试任务对应的测试库,其中,该测试库是预先生成的。
其中,每个测试任务有其对应的测试库,其中,该测试库应当宽泛的理解为:可以是一完整的测试库,当然,也可以指测试库当中的一个测试表。
该预先生成的测试库的名称是根据测试任务的名称确定的,用于与测试任务进行关联匹配。相应的,测试请求中包括测试任务的名称,进而可以根据测试任务的名称确定与该测试任务匹配的测试库。
本领域内技术人员可以理解的是,对于一个测试任务而言,通常具有一个及其以上测试用例,一个测试用例一般对应一个测试点,而一个测试点包括一个或者多个测试用例,另外,一个测试用例又可以通过一个及其以上测试操作描述。
具体的,对待测试设备进行测试时,可以是通过向待测试设备发送报文的形式对待测试设备进行测试,还可以是通过向待测试设备发送命令的形式对待测试设备进行测试。因此,上述测试操作可以理解为:发送报文操作和发送命令操作。相应的测试操作的类型可以包括:发送报文操作类型和发送命令操作类型。
基于上述情况,上述测试库,用于记录测试任务的各个测试用例的机器可执行命令的信息和/或机器可识别报文的信息。可以理解的是,测试用例通常是给测试人员看的,偏向于自然语言,而计算机通常是难以理解自然语言的,为此需要将测试用例转化为计算机能够理解的语言,也就是机器语言。
上述机器可执行命令的信息、机器可识别报文的信息可以是以正则表达式表述的,当然也可以是以其他形式表述的,只要是测试设备能够理解的信息即可。
上述测试用例的机器可执行命令的信息,可以理解为:测试用例对应的、机器可执行的发送命令操作的信息,具体可以包括:操作命令、上述发送命令操作的标识、类型、测试期望等等。
其中,上述操作命令,可以理解为:用于实现向待测试设备发送命令这一操作的命令。具体的,上述操作命令可以是:配置命令、控制命令等等。
例如,上述配置命令可以是:为待测试设备配置用户名、密码的命令等等;
上述控制命令可以是:控制待测试设备的一个端口向该测试设备的CPU发送数据的速度的命令等等。
上述发送命令操作的标识,可以理解为:发送命令这一操作在其测试用例对应的各个测试操作中的ID(identification)。上述测试用例的机器可识别命令的信息,可以理解为:测试用例对应的、机器可识别的发送报文操作的信息,具体可以包括:测试报文、上述发送报文操作的标识、类型、测试期望等等。
其中,上述发送报文操作的标识,可以理解为:发送报文这一操作在其测试用例对应的各个测试操作中的ID。
现有技术中,是需要编写测试脚本,当测试设备根据测试脚本向待测试设备发送测试报文前,需要调用专业测试仪生成测试报文,然后再将专业测试仪生成的测试报文发送给待测试设备进行测试。本申请实施例中,当测试用例规定向待测试设备发送上述测试报文时,因此可以直接从测试库中获得测试报文,这样对待测试设备进行测试时,可以大大提高测试效率。其中,构造测试报文时,可以是通过专业测试仪抓包的形式构造的,还可以是由测试设备通过相应的报文生成程序生成的,本申请并不对此进行限定。
另外,当测试用例规定向待测试设备发送操作命令时,由于预先在测试库中存储了操作命令,这样对待测试设备进行测试时,直接从测试库中读取操作命令即可,同样也会提高测试效率。
S103:根据机器可执行命令的信息和/或机器可识别报文的信息对待测试设备进行测试,获得测试结果。
具体的,可以根据测试库中记录的机器可执行命令的信息和/或机器可识别报文的信息逐条对待测试设备进行测试,当完成基于一个测试用例包含的所有测试操作分别对应的机器可执行命令的信息和/或机器可识别报文的信息的测试后,获得基于该测试用例的测试结果,这里可以称之为一个子测试结果。当获得所有测试用例对应的子测试结果后,综合这些子测试结果获得测试任务的测试结果,也就是完成测试任务。
由以上可见,本实施例提供的方案中,由于预先生成的测试库中已存储了测试任务的各个测试用例的机器可执行命令的信息和/或机器可识别报文的信息,因此,对待测试设备进行测试时,可以直接从测试库中获得对待测试设备进行测试的各种信息,而无需逐个编写测试脚本,并对测试脚本进行解析,从而能够提高测试效率。
上述S102所提及的测试库是在基于测试任务进行测试之前生成的,生成测试库后,可以在测试设备中存储该测试库,这样在后期工作中需要再次执行测试任务时,无需再次生成测试库,直接根据测试任务的标识等信息确定测试库进行测试即可。具体的,在本申请的一种实现方式中,参见图3,提供了一种生成机器可识别报文的信息的方法的流程示意图,该方法包括:
S201:获得测试任务的测试用例。
S202:根据测试用例的配置需求,向待测试设备发送配置命令,以使得待测试设备测试根据配置命令进行系统配置。
由前面的描述可以得知,一个测试用例对应一个测试点,而不同测试点往往对待测试设备的配置具有不同要求,所以在执行测试任务之前需要根据测试任务的测试用例的配置需求对待测试设备进行系统配置。
S203:判断测试用例对应的测试操作的类型是否为发送报文操作类型,若为是,执行S204。
S204:根据测试操作构造测试报文,向待测试设备发送测试报文,并获得针对测试报文的处理结果,检测上述处理结果是否与测试用例中记录的测试期望相匹配,若匹配,执行S205。
本实施例以构造的测试报文为用于请求待测试设备IP地址的探测报文为例进行说明,这种情况下,测试设备向待测试设备发送上述测试报文后,待测试设备获得的针对测试报文的处理结果,该处理结果中会包含一个IP地址,待测试设备将上述处理结果发送给测试设备,进而测试设备获得上述处理结果,此时,测试设备检测上述处理结果是否与测试用例中记录的测试期望相匹配,可以理解为:检测上述处理结果中包含的IP地址是否与测试期望中记录的IP地址相配,若匹配,则说明根据测试操作成功构造了测试报文,并且针对待测试设备当前的测试操作测试成功。
本实施例中,由测试设备构造待向待测试设备发送的测试报文,省去了调用专门测试仪,一定程度上可以降低测试成本、提高测试效率。
另外,测试过程中每次向待测试设备发送的测试报文可以有不同的要求,一般会在测试用例中加以说明,因此,为保证向待测试设备发送的测试报文满足测试用例规定的对报文的要求,需在构造测试报文之后,向测试设备发送测试报文,并获得针对测试报文的处理结果,检测上述处理结果是否与测试期望相匹配,进而判断出当前的测试操作是否满足测试要求。
一种实现方式中,若上述处理结果与测试条件不匹配,可以重新构建测试报文,直至向待测试设备发送重新构建的报文后,接收到的待测试设备反馈的处理结果与测试条件相匹配才停止继续重新构建测试报文。
待测试设备接收到测试设备发送的测试报文后,可能会以报文形式向测试设备反馈信息,也可能不会向测试设备反馈信息,下面分情况进行说明:
A、不管待测试设备是否能够成功处理上述测试报文,均向测试设备反馈报文,且反馈报文中包含测试成功标识,该标识用于表征是否成功对测试报文进行处理。
这种情况下,上述针对测试报文的处理结果可以是通过解析待测试设备反馈的报文得到的。
B、仅仅在待测试设备成功处理或者未成功处理上述测试报文时,向测试设备反馈报文。
这种情况下,测试设备接收到待测试设备反馈的报文即表示了待测试设备已成功处理测试报文,或者未成功处理测试报文,一种可选的实施方式中,待测试设备反馈的报文中包含测试成功标识;当然,在情况B中,由于只要接收到反馈的报文,即表示针对待测试设备成功对测试报文进行处理,因此,优选的实施方式为待测试设备反馈的报文中不包含测试成功标识。
基于上述情况,上述针对测试报文的处理结果可以是:测试设备向待测试设备发送测试报文后一定时长内接收到待测试设备反馈的报文,认为待测试设备成功处理测试报文,而生成的针对待测试报文的处理结果;或者
上述针对测试报文的处理结果可以是:测试设备向待测试设备发送测试报文后一定时长内未接收到待测试设备反馈的报文,认为待测试设备成功处理测试报文,而生成的针对待测试报文的处理结果。
需要说明的是,本申请仅仅以此为例进行说明,并不对本申请构成限定。
S205:根据测试报文、测试操作的标识、类型以及测试期望确定测试用例的机器可识别报文的信息。
上述测试操作的标识可以理解为一个测试操作在其所对应测试用例的ID。具体的,上述测试操作的标识可以是由测试用例的标识、测试操作在测试用例中的执行顺序等信息确定的。
值得一提的是,测试用例的机器可识别报文的信息中除了可以包含上述的测试报文、测试操作的标识、类型以及测试期望之外,还可以包含其他信息,本申请并不对此进行限定。
S206:将测试用例的机器可识别报文的信息存储至测试库中。
具体的,将测试用例的机器可识别报文的信息存储至测试库中时,可以选择将测试用例的机器可识别报文的信息存储至测试库一个表中,也可以选择将测试用例的多个机器可识别报文的信息分别存储至测试库中的多个表中。本申请并不对此进行限定。
需要说明的是,上述S201-S206中的各个步骤可以理解为获得测试任务的一个测试用例对应的一个测试操作的机器可识别报文的信息的步骤,该测试用例对应的其他测试操作的机器可识别报文的信息、其他测试用例对应的各个测试操作的机器可识别报文的信息的步骤均与此相同。
在上述图3所示实施例的基础上,在步骤S203判断测试用例对应的测试操作的类型时,一种实现方式中,可以通过以下步骤生成机器可执行命令的信息:
步骤301,若判断测试用例对应的测试操作的类型为发送命令操作类型,获得测试操作的操作命令和测试操作的测试期望;
步骤302,根据操作命令、测试操作的标识、类型以及测试期望确定测试用例的机器可执行命令的信息;
步骤303,将测试用例的机器可执行命令的信息存储至测试库中。
可以理解的是,测试设备将上述操作命令发送至待测试设备后,通常会收到待测试设备反馈的操作结果,为保证待测试设备反馈的操作结果为用户期望的测试结果,本申请的一种实现方式中,向待测试设备发送操作命令,获得用户输入的测试操作的操作命令和操作命令的测试期望,并获得待测试设备反馈的用于展示操作命令的操作结果的展示信息,判断上述展示信息是否与用户输入的测试期望相匹配;若匹配,执行上述根据操作命令、测试操作的标识、类型以及测试期望确定测试用例的机器可执行命令的信息的步骤。
可以理解的,上述展示信息中除了可以包括操作命令的操作结果外,还可以包括被测试设备的信息,例如,被测试设备的物理地址、网络IP地址等等,本申请并不对此进行限定。
通常情况下,测试期望一般可以表示针对测试任务对待测试设备进行测试时,期望得到的测试结果。本申请的一种实现方式中,与上述展示信息包含的内容相对应,上述测试期望可以包含:针对操作命令的操作结果的测试子期望,还可以包含针对待测试设备的信息的展示的测试子期望。
从观察者的角度来说,若测试设备的IP地址的展示结果发生错位、串行等,则认为其与展示的测试期望不匹配。因而,测试设备若检测到上述测试设备的信息的展示信息与展示的测试子期望不匹配,可以指示用户重新输入操作命令,直至获取到的操作结果与该操作结果的测试子期望相互匹配,并且该操作结果的的展示信息与该展示的测试子期望相匹配,则确定测试通过。
另外,在获得上述展示信息后,可以对上述展示信息进行展示,例如,可以通过控制台程序展示上述展示信息等。
本申请的一种实现方式中,参见图4,提供了另一种测试方法的流程示意图,在前述实施例的基础上,根据机器可执行命令的信息和/或机器可识别报文的信息对待测试设备进行测试,获得测试结果(S103)的步骤,包括:
S103A:确定测试任务的测试用例对应的测试操作的类型。
S103B:若所确定的测试操作的类型为发送报文操作类型,则从测试库中存储的机器可识别报文的信息中获取测试报文。
S103C:若所确定的测试操作的类型为发送命令操作类型,则从测试库中存储的机器可执行命令的信息中获取操作命令。
S103D:根据所确定的测试操作的类型向待测试设备发送所述测试报文或操作指令,并获得操作结果。
具体的,当测试操作为向待测试设备发送报文的操作时,获得测试报文后,可以根据从测试设备配置的网卡中选择用于发送待发送数据的网卡,并通过该网卡对应的网络接口向待测试设备发送测试报文。
当测试操作为向待测试设备发送操作命令的操作时,获得操作命令,可以通过console端口等控制端口向待测试设备发送该操作命令。
S103E:将所获得的操作结果与测试操作的测试期望进行匹配,根据匹配结果,获得通过测试操作对待测试设备进行测试的测试结果。需要说明的是,根据测试库中记录的每一条机器可执行命令的信息或机器可识别报文的信息对待测试设备进行测试时,可以是以测试用例为单位,先按照上述S103A-S103E的方式逐条根据一个测试用例对应的各条机机器可执行命令的信息或机器可识别报文的信息对待测试设备进行测试,然后再根据下一测试用例对应的各条机器可执行命令的信息或机器可识别报文的信息对待测试设备进行测试,直至与该测试任务对应的数据库中的、各个测试用例对应的各条机器语言表述信息均对待测试设备完成测试。
另外,逐条根据一个测试用例对应的各条机器可执行命令的信息和/或机器可识别报文的信息对待测试设备进行测试后,可以认为完成了针对一个测试点的测试,获得了针对该测试点的测试子结果,这时可以将所获得的测试子结果记录到特定的文件中。
前面的描述中提及每条机器可执行命令的信息或机器可识别报文的信息可以保存在测试库的一个表中,还可以以分别存储的形式存储在测试库的不同表中。
本实施例提供一种,将机器可执行命令的信息和机器可识别报文的信息分别存储于测试库的不同表中的实施方式,具体的,测试库可以包括:测试用例表、命令行表和流量表。
其中,测试用例表的表用于存储测试任务的测试用例对应的测试操作的信息,命令行表的表用于存储测试任务的测试用例的机器可执行命令的信息,流量表的表用于存储测试任务的测试用例的机器可识别报文的信息。
这种情况下,在执行上述实施例中的步骤S206时,具体包括:将测试报文、测试操作的标识和测试期望存储至流量表的表项中;将测试操作的标识和类型存储至测试用例表的表项中;
相应的,在执行上述实施例中的步骤S303时,具体包括:将操作命令、检测操作的标识和测试期望存储至命令行表的表项中;将测试操作的标识和类型存储至测试用例表的表项中。
由于测试用例表的表项、流量表的表项以及命令行表的表项中分别存储了上述信息,相应的,
在执行上述实施例中的S103A时,具体包括:可以判断测试用例表的表项中是否存在测试任务的测试用例对应的测试操作的标识;若存在,从测试用例表的表项中确定测试操作的类型;
S103B具体包括:若所确定类型为发送报文操作类型,则从与测试操作的标识相匹配的流量表的表项中获取测试报文和测试操作的测试期望。相应的,步骤S103D具体包括:向待测试设备发送测试报文,并获得操作结果。
S103C具体包括:若所确定类型为发送命令操作类型,则从与测试操作的标识相匹配的命令行表的表项中获取操作命令和测试操作的测试期望。相应的,步骤S103D具体包括:向待测试设备发送操作指令,并获得操作结果。
在获得操作结果后,后续的执行步骤与上述实施例相同,在此不再赘述,
由以上可见,本实施例提供的方案中,将机器可执行命令的信息和机器可识别报文的信息中包含的各种信息分别存在不同的表项中,可以实现信息分类存储,使得查找信息更加便利。
与上述测试方法相对应,本申请实施例还提供了一种测试系统。
图5为本申请实施例提供的一种测试系统的结构示意图,所述系统包括:测试库生成模块501和设备测试模块502;其中,
所述测试库生成模块501,用于预先生成测试任务的测试库,其中,所述测试库,用于记录所述测试任务的各个测试用例的机器可执行命令的信息和/或机器可识别报文的信息;
所述设备测试模块502,包括:请求接收子模块502A、测试库确定子模块502B 和测试子模块502C;
所述请求接收子模块502A,用于接收针对测试任务的测试请求;
所述测试库确定子模块502B,用于根据所述测试请求确定所述测试任务的测试库;
所述测试子模块502C,用于根据所述机器可执行命令的信息和/或机器可识别报文的信息对待测试设备进行测试,获得测试结果。
具体的,所述测试库生成模块501,包括:
测试用例获得子模块,用于获得所述测试任务的测试用例;
配置命令发送子模块,用于根据所述测试用例的配置需求,向待测试设备发送配置命令,以使得所述待测试设备根据所述配置命令进行系统配置;
类型判断子模块,用于判断所述测试用例对应的测试操作的类型是否为发送报文操作类型,若为是,触发条件匹配子模块;
所述条件匹配子模块,用于根据所述测试操作构造测试报文,向所述待测试设备发送所述测试报文,并获得针对所述测试报文的处理结果,检测所述处理结果是否与所述测试用例中记录的测试期望相匹配,若匹配,触发第一信息确定子模块;
所述第一信息确定子模块,用于根据所述测试报文、测试操作的标识、类型以及测试期望确定所述测试用例的机器可识别报文的信息;
第一信息存储子模块,用于将所述测试用例的机器可识别报文的信息存储至所述测试库中。
具体的,所述测试库生成模块501,还包括:
信息获得子模块,用于在判断所述测试用例对应的测试操作的类型为发送命令操作类型时,获得所述测试操作的操作命令和所述测试操作的测试期望;
第二信息确定子模块,用于根据所述操作命令、所述测试操作的标识、类型以及测试期望确定所述测试用例的机器可执行命令的信息;
第二信息存储子模块,用于将所述测试用例的机器可执行命令的信息存储至所述测试库中。
具体的,所述测试子模块502C,包括:
类型确定单元,用于确定所述测试任务的测试用例对应的测试操作的类型;
报文获取单元,用于若所确定的测试操作的类型为发送报文操作类型,则从所述测试库中存储的机器可识别报文的信息中获取测试报文;
命令获取单元,用于若所确定的测试操作的类型为发送命令操作类型,则从所述测试库中存储的机器可执行命令的信息中获取操作命令;
操作结果获得单元,用于根据所确定的测试操作的类型向所述待测试设备发送所述测试报文或操作指令,并获得操作结果;
测试结果获得单元,用于将所获得的操作结果与所述测试操作的测试期望进行匹配,根据匹配结果,获得通过测试操作对所述待测试设备进行测试的测试结果。
具体的,所述测试库包括:测试用例表、命令行表和流量表;
其中,所述测试用例表的表项用于存储所述测试任务的测试用例对应的测试操作的信息,所述命令行表的表项用于存储所述测试任务的测试用例的机器可执行命令的信息,所述流量表的表项用于存储所述测试任务的测试用例的机器可识别报文的信息;
所述类型确定单元,具体用于判断所述测试用例表的表项中是否存在所述测试任务的测试用例对应的测试操作的标识;若存在,从所述测试用例表的表项中确定测试操作的类型;
所述报文获取单元,具体用于若所确定类型为发送报文操作类型,从与所述测试操作的标识相匹配的所述流量表的表项中获取测试报文和所述测试操作的测试期望;
所述命令获取单元,具体用于若所确定类型为发送命令操作类型,从与所述测试操作的标识相匹配的所述命令行表的表项中获取操作命令和所述测试操作的测试期望。
由以上可见,上述各个实施例提供的方案中,由于预先生成的测试库中已存储了测试任务的各个测试用例的机器可执行命令的信息和/或机器可识别报文的信息,因此,对待测试设备进行测试时,可以直接从测试任务的测试测试库中获得对待测试设备进行测试的各种信息,而无需逐个获得测试脚本,并对测试脚本进行解析,从而能够提高测试效率。
对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (8)
1.一种测试方法,其特征在于,所述方法包括:
接收针对测试任务的测试请求;
根据所述测试请求确定所述测试任务的测试库,其中,所述测试库是预先生成的,用于记录所述测试任务的各个测试用例的机器可执行命令的信息和/或机器可识别报文的信息;每个测试任务有对应的测试库;
根据所述机器可执行命令的信息和/或机器可识别报文的信息对待测试设备进行测试,获得测试结果;
所述机器可识别报文的信息通过以下方式生成:
获得所述测试任务的测试用例;
根据所述测试用例的配置需求,向待测试设备发送配置命令,以使得所述待测试设备根据所述配置命令进行系统配置;
判断所述测试用例对应的测试操作的类型是否为发送报文操作类型;
若为是,根据所述测试操作构造测试报文,向所述待测试设备发送所述测试报文,并获得针对所述测试报文的处理结果,检测上述处理结果是否与测试用例中记录的测试期望相匹配;
若匹配,则根据所述测试报文、测试操作的标识、类型以及测试期望确定所述测试用例的机器可识别报文的信息;
将所述测试用例的机器可识别报文的信息存储至所述测试库中。
2.根据权利要求1所述的方法,其特征在于,所述机器可执行命令的信息通过以下方式生成:
若判断所述测试用例对应的测试操作的类型为发送命令操作类型,获得所述测试操作的操作命令和所述测试操作的测试期望;
根据所述操作命令、所述测试操作的标识、类型以及测试期望确定所述测试用例的机器可执行命令的信息;
将所述测试用例的机器可执行命令的信息存储至所述测试库中。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述机器可执行命令的信息和/或机器可识别报文的信息对待测试设备进行测试,获得测试结果,包括:
确定所述测试任务的测试用例对应的测试操作的类型;
若所确定的测试操作类型为发送报文操作类型,则从所述测试库中存储的机器可识别报文的信息中获取测试报文;
若所确定的测试操作的类型为发送命令操作类型,则从所述测试库中存储的机器可执行命令的信息中获取操作命令;
根据所确定的测试操作的类型向所述待测试设备发送所述测试报文或操作指令,并获得操作结果;
将所获得的操作结果与所述测试操作的测试期望进行匹配,根据匹配结果,获得通过测试操作对所述待测试设备进行测试的测试结果。
4.根据权利要求3所述的方法,其特征在于,所述测试库包括:测试用例表、命令行表和流量表;
其中,所述测试用例表的表项用于存储所述测试任务的测试用例对应的测试操作的信息,所述命令行表的表项用于存储所述测试任务的测试用例的机器可执行命令的信息,所述流量表的表项用于存储所述测试任务的测试用例的机器可识别报文的信息;
所述确定所述测试任务的测试用例对应的测试操作的类型,包括:判断所述测试用例表的表项中是否存在所述测试任务的测试用例对应的测试操作的标识;若存在,从所述测试用例表的表项中确定测试操作的类型;
所述从所述测试库中存储的机器可识别报文的信息中获取测试报文,包括:从与所述测试操作的标识相匹配的所述流量表的表项中获取测试报文和所述测试操作的测试期望;
所述从所述测试库中存储的机器可执行命令的信息中获取操作命令,包括:从与所述测试操作的标识相匹配的所述命令行表的表项中获取操作命令和所述测试操作的测试期望。
5.一种测试系统,其特征在于,所述系统包括:测试库生成模块和设备测试模块;其中,
所述测试库生成模块,用于预先生成测试任务的测试库,其中,所述测试库,用于记录所述测试任务的各个测试用例的机器可执行命令的信息和/或机器可识别报文的信息;每个测试任务有对应的测试库;
所述设备测试模块,包括:请求接收子模块、测试库确定子模块和测试子模块;
所述请求接收子模块,用于接收针对测试任务的测试请求;
所述测试库确定子模块,用于根据所述测试请求确定所述测试任务的测试库;
所述测试子模块,用于根据所述机器可执行命令的信息和/或机器可识别报文的信息对待测试设备进行测试,获得测试结果;
所述测试库生成模块,包括:
测试用例获得子模块,用于获得所述测试任务的测试用例;
配置命令发送子模块,用于根据所述测试用例的配置需求,向待测试设备发送配置命令,以使得所述待测试设备根据所述配置命令进行系统配置;
类型判断子模块,用于判断所述测试用例对应的测试操作的类型是否为发送报文操作类型,若为是,触发条件匹配子模块;
所述条件匹配子模块,用于根据所述测试操作构造测试报文,向所述待测试设备发送所述测试报文,并获得针对所述测试报文的处理结果,检测所述处理结果是否与所述测试用例中记录的测试期望相匹配,若匹配,触发第一信息确定子模块;
所述第一信息确定子模块,用于根据所述测试报文、测试操作的标识、类型以及测试期望确定所述测试用例的机器可识别报文的信息;
第一信息存储子模块,用于将所述测试用例的机器可识别报文的信息存储至所述测试库中。
6.根据权利要求5所述的系统,其特征在于,所述测试库生成模块,还包括:
信息获得子模块,用于在判断所述测试用例对应的测试操作的类型为发送命令操作类型时,获得所述测试操作的操作命令和所述测试操作的测试期望;
第二信息确定子模块,用于根据所述操作命令、所述测试操作的标识、类型以及测试期望确定所述测试用例的机器可执行命令的信息;
第二信息存储子模块,用于将所述测试用例的机器可执行命令的信息存储至所述测试库中。
7.根据权利要求5或6所述的系统,其特征在于,所述测试子模块包括:
类型确定单元,用于确定所述测试任务的测试用例对应的测试操作的类型;
报文获取单元,用于若所确定的测试操作的类型为发送报文操作类型,则从所述测试库中存储的机器可识别报文的信息中获取测试报文;
命令获取单元,用于若所确定的测试操作的类型为发送命令操作类型,则从所述测试库中存储的机器可执行命令的信息中获取操作命令;
操作结果获得单元,用于根据所确定的测试操作的类型向所述待测试设备发送所述测试报文或操作指令,并获得操作结果;
测试结果获得单元,用于将所获得的操作结果与所述测试操作的测试期望进行匹配,根据匹配结果,获得通过测试操作对所述待测试设备进行测试的测试结果。
8.根据权利要求7所述的系统,其特征在于,所述测试库包括:测试用例表、命令行表和流量表;
其中,所述测试用例表的表项用于存储所述测试任务的测试用例对应的测试操作的信息,所述命令行表的表项用于存储所述测试任务的测试用例的机器可执行命令的信息,所述流量表的表项用于存储所述测试任务的测试用例的机器可识别报文的信息;
所述类型确定单元,具体用于判断所述测试用例表的表项中是否存在所述测试任务的测试用例对应的测试操作的标识;若存在,从所述测试用例表的表项中确定测试操作的类型;
所述报文获取单元,具体用于若所确定类型为发送报文操作类型,从与所述测试操作的标识相匹配的所述流量表的表项中获取测试报文和所述测试操作的测试期望;
所述命令获取单元,具体用于若所确定类型为发送命令操作类型,从与所述测试操作的标识相匹配的所述命令行表的表项中获取操作命令和所述测试操作的测试期望。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710404959.5A CN107547299B (zh) | 2017-06-01 | 2017-06-01 | 一种测试方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710404959.5A CN107547299B (zh) | 2017-06-01 | 2017-06-01 | 一种测试方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107547299A CN107547299A (zh) | 2018-01-05 |
CN107547299B true CN107547299B (zh) | 2020-12-25 |
Family
ID=60966894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710404959.5A Active CN107547299B (zh) | 2017-06-01 | 2017-06-01 | 一种测试方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107547299B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595320B (zh) * | 2018-04-03 | 2022-03-22 | 新华三信息安全技术有限公司 | 一种测试方法及装置 |
CN109165165A (zh) * | 2018-09-04 | 2019-01-08 | 中国平安人寿保险股份有限公司 | 接口测试方法、装置、计算机设备和存储介质 |
CN109656831A (zh) * | 2018-12-26 | 2019-04-19 | 北京物芯科技有限责任公司 | 测试报文集中化生成方法、装置、设备和存储介质 |
CN109726134B (zh) * | 2019-01-16 | 2023-02-07 | 中国平安财产保险股份有限公司 | 接口测试方法和系统 |
CN109873737B (zh) * | 2019-01-31 | 2020-10-09 | 杭州迪普科技股份有限公司 | 一种测试方法及装置 |
CN111459800B (zh) * | 2020-03-04 | 2022-07-08 | 福建省农村信用社联合社 | 一种业务系统可用性验证方法、装置、设备和介质 |
CN113608998A (zh) * | 2021-07-02 | 2021-11-05 | 新华三信息安全技术有限公司 | 测试活动自动优化的方法、装置、计算机设备及存储介质 |
CN113489625B (zh) * | 2021-07-21 | 2023-04-07 | 宁畅信息产业(北京)有限公司 | 网卡测试方法、装置、电子设备及计算机可读存储介质 |
CN113535581B (zh) * | 2021-07-30 | 2023-12-12 | 东风商用车有限公司 | 测试脚本生成方法、装置、设备及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105446849A (zh) * | 2015-11-06 | 2016-03-30 | 北京中星微电子有限公司 | 一种产品测试方法和设备 |
CN106326102A (zh) * | 2015-07-06 | 2017-01-11 | 阿里巴巴集团控股有限公司 | 测试方法和装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201310181A (zh) * | 2011-08-16 | 2013-03-01 | Askey Technology Jiangsu Ltd | 多工測試程序管理方法與系統 |
CN103678104B (zh) * | 2012-09-17 | 2018-04-27 | 腾讯科技(深圳)有限公司 | 基于数据的自动化测试方法及装置 |
CN103365661A (zh) * | 2013-07-11 | 2013-10-23 | 盛科网络(苏州)有限公司 | 自动化测试脚本的开发方法和系统 |
-
2017
- 2017-06-01 CN CN201710404959.5A patent/CN107547299B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106326102A (zh) * | 2015-07-06 | 2017-01-11 | 阿里巴巴集团控股有限公司 | 测试方法和装置 |
CN105446849A (zh) * | 2015-11-06 | 2016-03-30 | 北京中星微电子有限公司 | 一种产品测试方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN107547299A (zh) | 2018-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107547299B (zh) | 一种测试方法及系统 | |
CN107766190B (zh) | 接口测试方法、装置、计算机设备和存储介质 | |
CN107844421B (zh) | 接口测试方法、装置、计算机设备和存储介质 | |
CN107656874B (zh) | 一种接口测试方法、装置、模拟挡板及系统 | |
US9465724B2 (en) | Method, program, and system for generating test cases | |
CN111045952B (zh) | 软件测试方法、流量回放装置、终端设备及可读存储介质 | |
CN106528418B (zh) | 一种测试方法及装置 | |
CN110764945A (zh) | 一种崩溃日志处理方法、装置、设备和存储介质 | |
US20170147562A1 (en) | Visually differentiating strings for testing | |
CN110321284B (zh) | 测试数据录入方法、装置、计算机设备和存储介质 | |
CN109522181B (zh) | 一种分布式存储系统的性能测试方法、装置和设备 | |
CN110069413B (zh) | 测试数据通信、测试方法、装置、设备及存储介质 | |
CN112615873B (zh) | 物联网设备安全检测方法、设备、存储介质及装置 | |
CN110806965A (zh) | 自动测试方法、装置、设备和介质 | |
CN114610951A (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
CN109766483A (zh) | 正则表达式生成方法、装置、计算机设备和存储介质 | |
US20130339798A1 (en) | Methods for automated software testing and devices thereof | |
CN112306495A (zh) | 图片校验方法、装置、计算机设备及计算机可读存储介质 | |
CN109587351B (zh) | 一种呼叫测试方法、装置、设备及存储介质 | |
CN110543429A (zh) | 测试用例调试方法、装置及存储介质 | |
CN110209577A (zh) | 一种测试方法及装置 | |
WO2016165461A1 (zh) | 一种电信网网管系统软件自动化测试方法和装置 | |
CN111061637B (zh) | 接口测试方法、接口测试装置及存储介质 | |
CN117499287A (zh) | Web测试方法、装置、存储介质及代理服务器 | |
CN111949537A (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 |