CN110427321A - 一种测试方法、终端及电子设备 - Google Patents

一种测试方法、终端及电子设备 Download PDF

Info

Publication number
CN110427321A
CN110427321A CN201910675162.8A CN201910675162A CN110427321A CN 110427321 A CN110427321 A CN 110427321A CN 201910675162 A CN201910675162 A CN 201910675162A CN 110427321 A CN110427321 A CN 110427321A
Authority
CN
China
Prior art keywords
link
terminal
information
testing requirement
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.)
Pending
Application number
CN201910675162.8A
Other languages
English (en)
Inventor
杨利银
纪亮
刘博士
刘梦岩
韩彦俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Baidu China Co Ltd
Original Assignee
Baidu China Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Baidu China Co Ltd filed Critical Baidu China Co Ltd
Priority to CN201910675162.8A priority Critical patent/CN110427321A/zh
Publication of CN110427321A publication Critical patent/CN110427321A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种测试方法、终端及电子设备,该方法包括:获取测试需求信息,所述测试需求信息包括至少两个被测试节点构成的链路信息,以及在所述链路信息确定的链路上执行的至少两种操作的操作信息;根据所述链路信息和所述操作信息,在所述链路上执行所述至少两种操作,并输出测试结果。由于可在由链路信息确定的链路上执行至少两种操作,这样,第一终端获取一次测试需求信息,可在链路上执行至少两种操作,可提高测试效率。

Description

一种测试方法、终端及电子设备
技术领域
本发明涉及计算机技术领域,尤其涉及一种测试方法、终端及电子设备。
背景技术
互联网产品为了能够更好的满足广大网民的使用需求,往往伴随着快速的迭代升级,对产品的质量保证工作提出了更高的要求,高效率的开发和测试流水线是其中至关重要的一环。流水线环节中,有些非常重要的测试类型,比如功能测试、Diff测试(用于比对相同接口在不同版本或不同环境下的返回内容是否符合预期)、性能测试、稳定性测试、异常测试等,这些测试类型对测试基础能力有着通用的需求。
随着工具的推广使用,测试需求不再是单一的能力需求,而是需要将几种测试基础能力组合使用,以满足更加丰富的使用场景。
目前,在对产品进行测试时,一次只能使用一种测试基础能力,即一次只能进行一种操作,测试效率低。
发明内容
本发明实施例提供一种测试方法、终端及电子设备,以解决在现有技术在对产品进行测试时,测试效率低的问题。
第一方面,本发明实施例提供一种测试方法,应用于第一终端,包括:
获取测试需求信息,所述测试需求信息包括至少两个被测试节点构成的链路信息,以及在所述链路信息确定的链路上执行的至少两种操作的操作信息;
根据所述链路信息和所述操作信息,在所述链路上执行所述至少两种操作,并输出测试结果。
第二方面,本发明实施例提供一种测试方法,应用于第二终端,包括:
向第一终端发送测试执行请求,使得所述第一终端根据需求标识从预先获取的映射关系中获取与所述需求标识对应的测试需求信息;所述测试执行请求包括需求标识;所述映射关系包括所述测试需求信息与所述需求标识之间的对应关系,所述测试需求信息包括至少两个被测试节点构成的链路信息,以及在所述链路信息确定的链路上执行的至少两种操作的操作信息;
接收所述第一终端发送的测试结果,所述测试结果由所述第一终端根据所述链路信息和所述操作信息,在所述链路上执行所述至少两种操作获得。
第三方面,本发明实施例提供一种终端,所述终端为第一终端,包括:
获取模块,用于获取测试需求信息,所述测试需求信息包括至少两个被测试节点构成的链路信息,以及在所述链路信息确定的链路上执行的至少两种操作的操作信息;
输出模块,用于根据所述链路信息和所述操作信息,在所述链路上执行所述至少两种操作,并输出测试结果。
第四方面,本发明实施例提供一种终端,应用于第二终端,包括:
第一发送模块,用于向第一终端发送测试执行请求,使得所述第一终端根据需求标识从预先获取的映射关系中获取与所述需求标识对应的测试需求信息;所述测试执行请求包括需求标识;所述映射关系包括所述测试需求信息与所述需求标识之间的对应关系,所述测试需求信息包括至少两个被测试节点构成的链路信息,以及在所述链路信息确定的链路上执行的至少两种操作的操作信息;
接收模块,用于接收所述第一终端发送的测试结果,所述测试结果由所述第一终端根据所述链路信息和所述操作信息,在所述链路上执行所述至少两种操作获得。
第五方面,本发明实施例提供一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现第一方面所述的测试方法的步骤,或者,所述计算机程序被所述处理器执行时实现第二方面所述的测试方法的步骤。
第六方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现第一方面所述的测试方法的步骤,或者,所述计算机程序被所述处理器执行时实现第二方面所述的测试方法的步骤。
本发明实施例,获取测试需求信息,所述测试需求信息包括至少两个被测试节点构成的链路信息,以及在所述链路信息确定的链路上执行的至少两种操作的操作信息;根据所述链路信息和所述操作信息,在所述链路上执行所述至少两种操作,并输出测试结果。由于可在由链路信息确定的链路上执行至少两种操作,这样,第一终端获取一次测试需求信息,可在链路上执行至少两种操作,可提高测试效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的测试方法的流程示意图之一;
图2是本发明实施例提供的测试方法的流程示意图之二;
图3是本发明实施例提供的测试方法的流程示意图之三;
图4是本发明实施例提供的第一终端的结构示意图;
图5是本发明实施例提供的第二终端的结构示意图;
图6是本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,图1是本发明实施例提供的一种测试方法的流程图,如图1所示,本发明提供一种测试方法,应用于第一终端,所述方法包括以下步骤:
步骤101、获取测试需求信息,所述测试需求信息包括至少两个被测试节点构成的链路信息,以及在所述链路信息确定的链路上执行的至少两种操作的操作信息。
具体的,被测试节点可理解为被测试模块,链路信息可包括至少两个被测试节点中各节点的节点信息,节点信息可包括节点名称、节点标识等信息。根据链路信息可确定由所述至少两个被测试节点构成的链路,在该链路上执行至少两种操作。
测试基础能力(可理解为操作)可以包括:
请求和返回数据录制的能力(即录制操作),将模块稳定版本的输入数据以及模块和下游之间交互的返回数据录制下来,用于模块新版本的测试。录制操作相当于数据复制操作,将数据复制并存储,以便在其他操作中使用。
请求和返回数据模拟回放的能力(即回放操作),将模块稳定版本录制下来的输入和返回数据在模块新版本上进行回放,验证版本升级效果。回放操作相当于复制数据再使用,例如将数据复制后再使用。
请求和返回数据修改的能力(即改包操作),模块的输入和返回数据决定着本模块内部的处理逻辑,测试人员为了测试某个特定的处理逻辑,经常要构造各种各样的输入和返回数据,极端情况下,还需要对数据进行“破坏”,来验证模块对异常数据的处理健壮性。改包操作可理解为修改数据的操作,例如,修改某个字段的数值。
请求和返回链路故障控制的能力(即网络异常注入操作),系统环境在实际运转过程中,模块的上下游经常会进入到异常状态(例如网络交互延迟、丢包等情况),在测试过程中,需要能对指定链路植入网络异常,验证各类网络异常状态下模块的表现。
请求数据的路由能力(即路由操作),功能联调时,在节约资源成本和追求仿真性的基础上,往往会将模块接入一个公共的系统测试环境中,为了不破坏系统测试环境,需要一种将请求进行路由的能力。路由操作可理解为跳转至目标地址的操作。
请求限速能力(即限速操作),测试模块访问下游时,会对下游形成压力,压力过大,会导致下游模块挂掉,所以需要一种对请求数据进行限速的能力。
请求数据的过滤能力(即过滤操作),测试模块访问下游时,如果请求包中包含某个特殊的字段,可能会导致下游模块进入另外一种逻辑,进入异常状态,这种请求需要进行过滤,保护后端模块。
至少两种操作可包括路由操作、录制操作、回放操作、改包操作、网络异常注入操作、限速操作和过滤操作中的两种或两种以上的操作。
在业务架构中,每两个模块(即被测试模块)之间的交互通路称之为链路。
步骤102、根据所述链路信息和所述操作信息,在所述链路上执行所述至少两种操作,并输出测试结果。
根据所述测试需求信息进行测试时,具体可为:在根据链路信息确定的链路上执行至少两种操作,以获得测试结果,并将测试结果输出。
本实施例的测试方法,获取测试需求信息,所述测试需求信息包括至少两个被测试节点构成的链路信息,以及在所述链路信息确定的链路上执行的至少两种操作的操作信息;根据所述链路信息和所述操作信息,在所述链路上执行所述至少两种操作,并输出测试结果。这样,由于可在由链路信息确定的链路上执行至少两种操作,也就是说,第一终端获取一次测试需求信息,可在链路上执行至少两种操作,可提高测试效率。
参见图2,图2是本发明实施例提供的一种测试方法的流程图,如图2所示,本发明提供一种测试方法,应用于第一终端,所述方法包括以下步骤:
步骤201、接收所述第二终端发送的测试执行请求,所述测试执行请求包括需求标识。
第一终端可包括申请平台模块、配置中心模块和中间件模块(又称为多路复用中间件)。注册请求包括测试需求信息。第一终端在接收第二终端发送的测试执行请求时,具体可由中间件模块接收测试执行请求。第二终端将测试执行请求发送给所述至少两个被测试节点中的起始节点,由所述起始节点将测试执行请求发送给中间件模块。即第一终端接收所述第二终端通过所述至少两个被测试节点中的起始节点发送的测试执行请求。测试执行请求中包括需求标识,中间件模块可根据需求标识获取对应的测试需求信息。
步骤202、根据所述需求标识从预先获取的映射关系中获取与所述需求标识对应的测试需求信息,所述映射关系包括所述测试需求信息与所述需求标识之间的对应关系。
具体的,第一终端中预先获取有映射关系,所述映射关系包括所述测试需求信息与所述需求标识之间的对应关系。中间件模块在获取到需求标识后,从所述映射关系中获取与所述需求标识对应的测试需求信息。步骤201和步骤202为步骤101的一种具体实现方式。
所述映射关系的获取过程包括:获取第二终端发送的注册请求,所述注册请求包括所述测试需求信息;生成需求标识;建立所述测试需求信息与所述需求标识之间的映射关系。
具体的,第一终端具体可通过申请平台模块接收第二终端发送的注册请求。申请平台模块在接收到注册请求后,为测试需求信息生成对应的需求标识,并建立测试需求信息与需求标识之间的映射关系,并将该映射关系存储在配置中心模块中,以便中间件模块可获取到该映射关系。进一步的,第一终端还将生成的需求标识发送给第二终端,具体可由申请平台模块将需求标识发送给第二终端。
所述测试需求信息包括至少两个被测试节点构成的链路信息,以及在所述链路信息确定的链路上执行的至少两种操作的操作信息。
具体的,测试基础能力(可理解为操作)可以包括:
请求和返回数据录制的能力(即录制操作),将模块稳定版本的输入数据以及模块和下游之间交互的返回数据录制下来,用于模块新版本的测试。录制操作相当于数据复制操作,将数据复制并存储,以便在其他操作中使用。
请求和返回数据模拟回放的能力(即回放操作),将模块稳定版本录制下来的输入和返回数据在模块新版本上进行回放,验证版本升级效果。回放操作相当于复制数据再使用,例如将数据复制后再使用。
请求和返回数据修改的能力(即改包操作),模块的输入和返回数据决定着本模块内部的处理逻辑,测试人员为了测试某个特定的处理逻辑,经常要构造各种各样的输入和返回数据,极端情况下,还需要对数据进行“破坏”,来验证模块对异常数据的处理健壮性。改包操作可理解为修改数据的操作,例如,修改某个字段的数值。
请求和返回链路故障控制的能力(即网络异常注入操作),系统环境在实际运转过程中,模块的上下游经常会进入到异常状态(例如网络交互延迟、丢包等情况),在测试过程中,需要能对指定链路植入网络异常,验证各类网络异常状态下模块的表现。
请求数据的路由能力(即路由操作),功能联调时,在节约资源成本和追求仿真性的基础上,往往会将模块接入一个公共的系统测试环境中,为了不破坏系统测试环境,需要一种将请求进行路由的能力。路由操作可理解为跳转至目标地址的操作。
请求限速能力(即限速操作),测试模块访问下游时,会对下游形成压力,压力过大,会导致下游模块挂掉,所以需要一种对请求数据进行限速的能力。
请求数据的过滤能力(即过滤操作),测试模块访问下游时,如果请求包中包含某个特殊的字段,可能会导致下游模块进入另外一种逻辑,进入异常状态,这种请求需要进行过滤,保护后端模块。
至少两种操作可包括路由操作、录制操作、回放操作、改包操作、网络异常注入操作、限速操作和过滤操作中的两种或两种以上的操作。
在业务架构中,每两个模块(即被测试模块)之间的交互通路称之为链路。
被测试节点可理解为被测试模块,链路信息可包括至少两个被测试节点中各节点的节点信息,节点信息可包括节点名称、节点标识等信息。根据链路信息可确定由所述至少两个被测试节点构成的链路,在该链路上执行至少两种操作。
至少两种操作可包括路由操作、录制操作、回放操作、改包操作、网络异常注入操作中的两种或两种以上的操作。其中,路由操作是指跳转至目标地址的操作;录制操作相当于数据复制操作,将数据复制并存储,以便在其他操作中使用;回放操作相当于复制数据再使用,例如将数据复制后再使用;改包操作是指修改数据,例如,修改某个字段的数值;网络异常注入操作,即注入异常的操作,以测试链路承受异常的能力。
中间件模块在根据测试需求信息进行测试时,可根据链路信息包括的链路属性来进行测试。
若所述链路属性为专属型链路,则生成由所述至少两个被测试节点构成的专属链路;
在所述专属链路上执行所述至少两个操作,并输出测试结果。
若所述链路属性为共享型链路,则在由所述至少两个被测试节点构成的已有的共享链路上执行所述至少两个操作,并输出测试结果。
若链路属性为专属型链路,则第一终端需要生成一条专属链路,然后在该专属链路上执行需求标识所对应的测试需求信息包括的至少两个操作,并输出测试结果。
对于专属型链路(多路复用中间件针对特定请求中指定的模块链路启动的特殊服务通路,和需求标识强绑定),用special_link标识,在special_link域包括链路名称,链路名称域包括依次设置的不同的策略配置,中间件在启动专属链路时,加载策略组合(可理解为加载测试需求信息),对于经过special_link的所有流量(可理解为测试执行请求,测试执行请求也可称为测试请求),中间件执行需求标识所对应的策略组合。
专属链路是根据需求标识专门生成的链路,这个链路与需求标识有关,该链路只做与该需求标识相关的策略组合。
中间件在专属处理链路数据时,分为read和write方向,有些操作需要在read方向执行,有些需要在write方向进行,在配置中分别用first和third来表示,对于专属型链路,配置(即测试需求信息)通常为“special_link”:{“first/third:”“A-B”:{操作1,操作2,……,操作N}},其中,A和B可分别表示被测试节点的名称或者标识,“A-B”表示由A和B构成的链路,其中A为起始节点,第二终端可将测试请求发送给节点A,然后由节点A将测试请求发送给中间件。节点A和节点B均与中间件连接,节点A与节点B之间的信息发送均通过中间件进行转发。操作1,操作2,……,操作N表示至少两个操作。
对于共享型链路(多路复用中间件依据产品线业务架构启动的所有默认链路,可以动态实现测试基础能力,和需求没有绑定关系),在配置(可理解为测试需求信息)中表明是共享型链路,并写明是哪个链路(即该链路由哪些节点构成),共享型链路用share_link标识,share_link域可包括链路名称,链路名称域包括依次设置的不同的策略配置(即至少两种操作),中间件模块识别到具体的链路,在处理该链路的请求时,依次执行策略配置。
对于共享型链路,配置(即测试需求信息)通常为:”share_link”:{“A-B”:{操作1,操作2,……,操作N}},其中,A和B可分别表示被测试节点的名称或者标识。操作1,操作2,……,操作N表示至少两个操作。
共享型链路可理解为多个测试请求可共用(也可同时使用)的链路。专属型链路可理解为仅供一个测试请求使用的链路。若有两个不同的测试请求(即需求标识不同)均需要使用到专属型链路,那么第一终端分别为两个不同的测试请求生成专属链路,每条测试请求独占一条专属链路。
由于本申请中的测试方法可多种基础测试能力(即操作)的组合,不同的基础测试能力组合可适应不同的测试场景,这样,可上述测试方法可适用于更多的测试场景。由于测试方法针对一次测试请求可执行至少两种操作,提高了测试效率。
步骤203、根据所述链路信息和所述操作信息,在所述链路上执行所述至少两种操作,并输出测试结果。
根据所述测试需求信息进行测试时,具体可为:在根据链路信息确定的链路上执行至少两种操作,以获得测试结果,并将测试结果输出。
本实施例的测试方法,接收所述第二终端发送的测试执行请求,所述测试执行请求包括需求标识;根据所述需求标识从预先获取的映射关系中获取与所述需求标识对应的测试需求信息,所述映射关系包括所述测试需求信息与所述需求标识之间的对应关系;根据所述链路信息和所述操作信息,在所述链路上执行所述至少两种操作,并输出测试结果。由于获取一次注册请求,便可在由链路信息确定的链路上执行至少两种操作,这样,用户终端只需一次注册请求,无需额外操作,即可一次性的产出用户所需要的测试数据,提高了测试效率。
参见图3,图3是本发明实施例提供的一种测试方法的流程图,如图3所示,本发明提供一种测试方法,应用于第二终端,所述方法包括以下步骤:
步骤301、向第一终端发送测试执行请求,使得所述第一终端根据需求标识从预先获取的映射关系中获取与所述需求标识对应的测试需求信息;所述测试执行请求包括需求标识;所述映射关系包括所述测试需求信息与所述需求标识之间的对应关系,所述测试需求信息包括至少两个被测试节点构成的链路信息,以及在所述链路信息确定的链路上执行的至少两种操作的操作信息;
具体的,被测试节点可理解为被测试模块,链路信息可包括至少两个被测试节点中各节点的节点信息,节点信息可包括节点名称、节点标识等信息。根据链路信息可确定由所述至少两个被测试节点构成的链路,在该链路上执行至少两种操作。
测试基础能力(可理解为操作)可以包括:
请求和返回数据录制的能力(即录制操作),将模块稳定版本的输入数据以及模块和下游之间交互的返回数据录制下来,用于模块新版本的测试。录制操作相当于数据复制操作,将数据复制并存储,以便在其他操作中使用。
请求和返回数据模拟回放的能力(即回放操作),将模块稳定版本录制下来的输入和返回数据在模块新版本上进行回放,验证版本升级效果。回放操作相当于复制数据再使用,例如将数据复制后再使用。
请求和返回数据修改的能力(即改包操作),模块的输入和返回数据决定着本模块内部的处理逻辑,测试人员为了测试某个特定的处理逻辑,经常要构造各种各样的输入和返回数据,极端情况下,还需要对数据进行“破坏”,来验证模块对异常数据的处理健壮性。改包操作可理解为修改数据的操作,例如,修改某个字段的数值。
请求和返回链路故障控制的能力(即网络异常注入操作),系统环境在实际运转过程中,模块的上下游经常会进入到异常状态(例如网络交互延迟、丢包等情况),在测试过程中,需要能对指定链路植入网络异常,验证各类网络异常状态下模块的表现。
请求数据的路由能力(即路由操作),功能联调时,在节约资源成本和追求仿真性的基础上,往往会将模块接入一个公共的系统测试环境中,为了不破坏系统测试环境,需要一种将请求进行路由的能力。路由操作可理解为跳转至目标地址的操作。
请求限速能力(即限速操作),测试模块访问下游时,会对下游形成压力,压力过大,会导致下游模块挂掉,所以需要一种对请求数据进行限速的能力。
请求数据的过滤能力(即过滤操作),测试模块访问下游时,如果请求包中包含某个特殊的字段,可能会导致下游模块进入另外一种逻辑,进入异常状态,这种请求需要进行过滤,保护后端模块。
至少两种操作可包括路由操作、录制操作、回放操作、改包操作、网络异常注入操作、限速操作和过滤操作中的两种或两种以上的操作。
在业务架构中,每两个模块(即被测试模块)之间的交互通路称之为链路。
步骤302、接收所述第一终端发送的测试结果,所述测试结果由所述第一终端根据所述链路信息和所述操作信息,在所述链路上执行所述至少两种操作获得。
第一终端在获得测试需求信息后,根据测试需求信息进行测试,获得测试结果,并将测试结果发送给第一终端。
本实施例的测试方法,向第一终端发送测试执行请求,使得所述第一终端根据需求标识从预先获取的映射关系中获取与所述需求标识对应的测试需求信息;所述测试执行请求包括需求标识;所述映射关系包括所述测试需求信息与所述需求标识之间的对应关系,所述测试需求信息包括至少两个被测试节点构成的链路信息,以及在所述链路信息确定的链路上执行的至少两种操作的操作信息;接收所述第一终端发送的测试结果,所述测试结果由所述第一终端根据所述链路信息和所述操作信息,在所述链路上执行所述至少两种操作获得。这样,第二终端发送一次测试需求信息,可获得在链路上执行至少两种操作的测试结果,提高了测试效率。
进一步的,在步骤301之前,还包括:向第一终端发送测试执行请求之前,还包括:向所述第一终端发送注册请求,所述注册请求包括所述测试需求信息,以使得所述第一终端根据所述注册请求生成需求标识,并建立所述测试需求信息与所述需求标识之间的映射关系。
第一终端可包括申请平台模块、配置中心模块和中间件模块(又称为多路复用中间件)。注册请求包括测试需求信息。本步骤中,第二终端可向第一终端的申请平台模块发送注册请求。申请平台模块在接收到注册请求后,为测试需求信息生成对应的需求标识。第一终端建立测试需求信息与需求标识之间的映射关系,并将该映射关系存储在配置中心模块中,以便中间件模块可获取到该映射关系。进一步的,第一终端还将生成的需求标识发送给第二终端,具体可由申请平台模块将需求标识发送给第二终端。这样,第二终端可根据需求标识,向第一终端发送测试执行请求。
第二终端在发送的测试执行请求时,可将测试执行请求发送给所述至少两个被测试节点中的起始节点,然后由起始节点发送给第一终端,具体可发送给第一终端的中间件模块。测试执行请求中包括需求标识,中间件模块可根据需求标识获取对应的测试需求信息,并根据测试需求信息进行测试,即,若所述链路属性为专属型链路,则生成由所述至少两个被测试节点构成的专属链路;在所述专属链路上执行所述至少两个操作,并输出测试结果。若所述链路属性为共享型链路,则在由所述至少两个被测试节点构成的已有的共享链路上执行所述至少两个操作,并输出测试结果。具体可参见第一终端的有关记载,在此不做赘述。
由于测试需求信息可包括多种操作的组合,不同的操作可适应不同的测试场景,这样,本申请中的测试方法可适用于更多的测试场景。由于针对一次测试执行请求可执行至少两种操作,这样,只需一次测试执行请求,无需额外操作,即可一次性的产出用户所需要的测试数据,提高了测试效率。
参见图4,图4是本发明实施例提供的第一终端的结构图,如图4所示,第一终端500,包括:
获取模块501,用于获取测试需求信息,所述测试需求信息包括至少两个被测试节点构成的链路信息,以及在所述链路信息确定的链路上执行的至少两种操作的操作信息;
输出模块502,用于根据所述链路信息和所述操作信息,在所述链路上执行所述至少两种操作,并输出测试结果。
进一步的,所述获取模块501包括:
接收子模块,用于接收所述第二终端发送的测试执行请求,所述测试执行请求包括需求标识;
获取子模块,用于根据所述需求标识从预先获取的映射关系中获取与所述需求标识对应的测试需求信息,所述映射关系包括所述测试需求信息与所述需求标识之间的对应关系。
进一步的,所述映射关系的获取过程包括:
获取第二终端发送的注册请求,所述注册请求包括所述测试需求信息;
生成需求标识;
建立所述测试需求信息与所述需求标识之间的映射关系。
进一步的,所述接收子模块,用于接收所述第二终端通过所述至少两个被测试节点中的起始节点发送的测试执行请求。
进一步的,所述链路信息包括链路属性;
所述输出模块502,用于:
若所述链路属性为专属型链路,则生成由所述至少两个被测试节点构成的专属链路;
在所述专属链路上执行所述至少两个操作,并输出测试结果。
进一步的,所述输出模块502,用于:
若所述链路属性为共享型链路,则在由所述至少两个被测试节点构成的已有的共享链路上执行所述至少两个操作,并输出测试结果。
进一步的,所述至少两种操作包括路由操作、录制操作、回放操作、改包操作、网络异常注入操作、限速操作和过滤操作中的至少两种。
本发明实施例提供的第一终端500能够实现图1-图2所示方法实施例中第一终端实现的各个过程,为避免重复,这里不再赘述。
本实施例的核心要素提取装置,获取测试需求信息,所述测试需求信息包括至少两个被测试节点构成的链路信息,以及在所述链路信息确定的链路上执行的至少两种操作的操作信息;根据所述链路信息和所述操作信息,在所述链路上执行所述至少两种操作,并输出测试结果。由于可在由链路信息确定的链路上执行至少两种操作,这样,第一终端获取一次测试需求信息,可在链路上执行至少两种操作,可提高测试效率。
参见图5,图5是本发明实施例提供的第二终端的结构图,如图5所示,第二终端600,包括:
第一发送模块601,用于向第一终端发送测试执行请求,使得所述第一终端根据需求标识从预先获取的映射关系中获取与所述需求标识对应的测试需求信息;所述测试执行请求包括需求标识;所述映射关系包括所述测试需求信息与所述需求标识之间的对应关系,所述测试需求信息包括至少两个被测试节点构成的链路信息,以及在所述链路信息确定的链路上执行的至少两种操作的操作信息;
第一接收模块602,用于接收所述第一终端发送的测试结果,所述测试结果由所述第一终端根据所述链路信息和所述操作信息,在所述链路上执行所述至少两种操作获得。
进一步的,所述终端600还包括:第二发送模块,用于向所述第一终端发送注册请求,所述注册请求包括所述测试需求信息,以使得所述第一终端根据所述注册请求生成需求标识,并建立所述测试需求信息与所述需求标识之间的映射关系。
进一步的,所述至少两种操作包括路由操作、录制操作、回放操作、改包操作、网络异常注入操作、限速操作和过滤操作中的至少两种。
本实施例的第二终端600,向第一终端发送测试执行请求,使得所述第一终端根据需求标识从预先获取的映射关系中获取与所述需求标识对应的测试需求信息;所述测试执行请求包括需求标识;所述映射关系包括所述测试需求信息与所述需求标识之间的对应关系,所述测试需求信息包括至少两个被测试节点构成的链路信息,以及在所述链路信息确定的链路上执行的至少两种操作的操作信息;接收所述第一终端发送的测试结果,所述测试结果由所述第一终端根据所述链路信息和所述操作信息,在所述链路上执行所述至少两种操作获得。这样,第二终端发送一次测试需求信息,可获得在链路上执行至少两种操作的测试结果,提高了测试效率。
参见图6,图6是本发明实施例提供的一种电子设备的结构示意图。如图6所示,电子设备700包括:处理器701、存储器702及存储在所述存储器702上并可在所述处理器上运行的计算机程序,电子设备700中的各个组件通过总线系统703耦合在一起。可理解,总线系统703用于实现这些组件之间的连接通信。
在本发明一个实施例中,处理器701,用于获取测试需求信息,所述测试需求信息包括至少两个被测试节点构成的链路信息,以及在所述链路信息确定的链路上执行的至少两种操作的操作信息;
根据所述链路信息和所述操作信息,在所述链路上执行所述至少两种操作,并输出测试结果。
进一步的,处理器701,还用于接收所述第二终端发送的测试执行请求,所述测试执行请求包括需求标识;根据所述需求标识从预先获取的映射关系中获取与所述需求标识对应的测试需求信息,所述映射关系包括所述测试需求信息与所述需求标识之间的对应关系。
进一步的,所述映射关系的获取过程包括:
获取第二终端发送的注册请求,所述注册请求包括所述测试需求信息;
生成需求标识;
建立所述测试需求信息与所述需求标识之间的映射关系。
进一步的,处理器701,还用于接收所述第二终端通过所述至少两个被测试节点中的起始节点发送的测试执行请求。
进一步的,所述链路信息包括链路属性;
处理器701,还用于所述根据所述测试需求信息进行测试,并输出测试结果,包括:
若所述链路属性为专属型链路,则生成由所述至少两个被测试节点构成的专属链路;
在所述专属链路上执行所述至少两个操作,并输出测试结果。
进一步的,处理器701,还用于若所述链路属性为共享型链路,则在由所述至少两个被测试节点构成的已有的共享链路上执行所述至少两个操作,并输出测试结果。
进一步的,所述至少两种操作包括路由操作、录制操作、回放操作、改包操作、网络异常注入操作、限速操作和过滤操作中的至少两种。
本发明实施例的电子设备700,能够实现前述实施例中第一终端实现的各个过程,为避免重复,这里不再赘述。
本发明实施例的电子设备700,获取测试需求信息,所述测试需求信息包括至少两个被测试节点构成的链路信息,以及在所述链路信息确定的链路上执行的至少两种操作的操作信息;根据所述链路信息和所述操作信息,在所述链路上执行所述至少两种操作,并输出测试结果。由于可在由链路信息确定的链路上执行至少两种操作,这样,第一终端获取一次测试需求信息,可在链路上执行至少两种操作,可提高测试效率。
在本发明另一个实施例中,处理器701,用于向第一终端发送测试执行请求,使得所述第一终端根据需求标识从预先获取的映射关系中获取与所述需求标识对应的测试需求信息;所述测试执行请求包括需求标识;所述映射关系包括所述测试需求信息与所述需求标识之间的对应关系,所述测试需求信息包括至少两个被测试节点构成的链路信息,以及在所述链路信息确定的链路上执行的至少两种操作的操作信息;
接收所述第一终端发送的测试结果,所述测试结果由所述第一终端根据所述链路信息和所述操作信息,在所述链路上执行所述至少两种操作获得。
进一步的,处理器701还用于向所述第一终端发送注册请求,所述注册请求包括所述测试需求信息,以使得所述第一终端根据所述注册请求生成需求标识,并建立所述测试需求信息与所述需求标识之间的映射关系。
进一步的,所述至少两种操作包括路由操作、录制操作、回放操作、改包操作、网络异常注入操作、限速操作和过滤操作中的至少两种。
本发明实施例的电子设备700,能够实现前述实施例中第二终端实现的各个过程,为避免重复,这里不再赘述。
本发明实施例的电子设备700,向第一终端发送测试执行请求,使得所述第一终端根据需求标识从预先获取的映射关系中获取与所述需求标识对应的测试需求信息;所述测试执行请求包括需求标识;所述映射关系包括所述测试需求信息与所述需求标识之间的对应关系,所述测试需求信息包括至少两个被测试节点构成的链路信息,以及在所述链路信息确定的链路上执行的至少两种操作的操作信息;接收所述第一终端发送的测试结果,所述测试结果由所述第一终端根据所述链路信息和所述操作信息,在所述链路上执行所述至少两种操作获得。这样,第二终端发送一次测试需求信息,可获得在链路上执行至少两种操作的测试结果,提高了测试效率。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述测试方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (22)

1.一种测试方法,应用于第一终端,其特征在于,包括:
获取测试需求信息,所述测试需求信息包括至少两个被测试节点构成的链路信息,以及在所述链路信息确定的链路上执行的至少两种操作的操作信息;
根据所述链路信息和所述操作信息,在所述链路上执行所述至少两种操作,并输出测试结果。
2.根据权利要求1所述的方法,其特征在于,所述获取测试需求信息,包括:
接收第二终端发送的测试执行请求,所述测试执行请求包括需求标识;
根据所述需求标识从预先获取的映射关系中获取与所述需求标识对应的测试需求信息,所述映射关系包括所述测试需求信息与所述需求标识之间的对应关系。
3.根据权利要求2所述的方法,其特征在于,所述映射关系的获取过程包括:
获取第二终端发送的注册请求,所述注册请求包括所述测试需求信息;
生成需求标识;
建立所述测试需求信息与所述需求标识之间的映射关系。
4.根据权利要求2所述的方法,其特征在于,所述接收所述第二终端发送的测试执行请求,包括:
接收所述第二终端通过所述至少两个被测试节点中的起始节点发送的测试执行请求。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述链路信息包括链路属性;
所述根据所述链路信息和所述操作信息,在所述链路上执行所述至少两种操作,并输出测试结果,包括:
若所述链路属性为专属型链路,则生成由所述至少两个被测试节点构成的专属链路;
在所述专属链路上执行所述至少两个操作,并输出测试结果。
6.根据权利要求5所述的方法,其特征在于,所述根据所述链路信息和所述操作信息,在所述链路上执行所述至少两种操作,并输出测试结果,包括:
若所述链路属性为共享型链路,则在由所述至少两个被测试节点构成的已有的共享链路上执行所述至少两个操作,并输出测试结果。
7.根据权利要求1所述的方法,其特征在于,所述至少两种操作包括路由操作、录制操作、回放操作、改包操作、网络异常注入操作、限速操作和过滤操作中的至少两种。
8.一种测试方法,应用于第二终端,其特征在于,包括:
向第一终端发送测试执行请求,使得所述第一终端根据需求标识从预先获取的映射关系中获取与所述需求标识对应的测试需求信息;所述测试执行请求包括需求标识;所述映射关系包括所述测试需求信息与所述需求标识之间的对应关系,所述测试需求信息包括至少两个被测试节点构成的链路信息,以及在所述链路信息确定的链路上执行的至少两种操作的操作信息;
接收所述第一终端发送的测试结果,所述测试结果由所述第一终端根据所述链路信息和所述操作信息,在所述链路上执行所述至少两种操作获得。
9.根据权利要求8所述的方法,其特征在于,在所述向第一终端发送测试执行请求之前,还包括:
向所述第一终端发送注册请求,所述注册请求包括所述测试需求信息,以使得所述第一终端根据所述注册请求生成需求标识,并建立所述测试需求信息与所述需求标识之间的映射关系。
10.根据权利要求8所述的方法,其特征在于,所述至少两种操作包括路由操作、录制操作、回放操作、改包操作、网络异常注入操作、限速操作和过滤操作中的至少两种。
11.一种终端,所述终端为第一终端,其特征在于,包括:
获取模块,用于获取测试需求信息,所述测试需求信息包括至少两个被测试节点构成的链路信息,以及在所述链路信息确定的链路上执行的至少两种操作的操作信息;
输出模块,用于根据所述链路信息和所述操作信息,在所述链路上执行所述至少两种操作,并输出测试结果。
12.根据权利要求11所述的终端,其特征在于,所述获取模块包括:
接收子模块,用于接收第二终端发送的测试执行请求,所述测试执行请求包括需求标识;
获取子模块,用于根据所述需求标识从预先获取的映射关系中获取与所述需求标识对应的测试需求信息,所述映射关系包括所述测试需求信息与所述需求标识之间的对应关系。
13.根据权利要求12所述的终端,其特征在于,所述映射关系的获取过程包括:
获取第二终端发送的注册请求,所述注册请求包括所述测试需求信息;
生成需求标识;
建立所述测试需求信息与所述需求标识之间的映射关系。
14.根据权利要求12所述的终端,其特征在于,所述接收子模块,用于接收所述第二终端通过所述至少两个被测试节点中的起始节点发送的测试执行请求。
15.根据权利要求11至14中任一项所述的终端,其特征在于,所述链路信息包括链路属性;
所述输出模块,用于:
若所述链路属性为专属型链路,则生成由所述至少两个被测试节点构成的专属链路;
在所述专属链路上执行所述至少两个操作,并输出测试结果。
16.根据权利要求15所述的终端,其特征在于,所述输出模块,用于:
若所述链路属性为共享型链路,则在由所述至少两个被测试节点构成的已有的共享链路上执行所述至少两个操作,并输出测试结果。
17.根据权利要求11所述的终端,其特征在于,所述至少两种操作包括路由操作、录制操作、回放操作、改包操作、网络异常注入操作、限速操作和过滤操作中的至少两种。
18.一种终端,应用于第二终端,其特征在于,包括:
第一发送模块,用于向第一终端发送测试执行请求,使得所述第一终端根据需求标识从预先获取的映射关系中获取与所述需求标识对应的测试需求信息;所述测试执行请求包括需求标识;所述映射关系包括所述测试需求信息与所述需求标识之间的对应关系,所述测试需求信息包括至少两个被测试节点构成的链路信息,以及在所述链路信息确定的链路上执行的至少两种操作的操作信息;
接收模块,用于接收所述第一终端发送的测试结果,所述测试结果由所述第一终端根据所述链路信息和所述操作信息,在所述链路上执行所述至少两种操作获得。
19.根据权利要求18所述的终端,其特征在于,所述终端还包括:第二发送模块,用于向所述第一终端发送注册请求,所述注册请求包括所述测试需求信息,以使得所述第一终端根据所述注册请求生成需求标识,并建立所述测试需求信息与所述需求标识之间的映射关系。
20.根据权利要求18所述的终端,其特征在于,所述至少两种操作包括路由操作、录制操作、回放操作、改包操作、网络异常注入操作、限速操作和过滤操作中的至少两种。
21.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的测试方法的步骤;或者,所述计算机程序被所述处理器执行时实现如权利要求8至10中任一项所述的测试方法的步骤。
22.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的测试方法的步骤;或者,所述计算机程序被所述处理器执行时实现如权利要求8至10中任一项所述的测试方法的步骤。
CN201910675162.8A 2019-07-25 2019-07-25 一种测试方法、终端及电子设备 Pending CN110427321A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910675162.8A CN110427321A (zh) 2019-07-25 2019-07-25 一种测试方法、终端及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910675162.8A CN110427321A (zh) 2019-07-25 2019-07-25 一种测试方法、终端及电子设备

Publications (1)

Publication Number Publication Date
CN110427321A true CN110427321A (zh) 2019-11-08

Family

ID=68412414

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910675162.8A Pending CN110427321A (zh) 2019-07-25 2019-07-25 一种测试方法、终端及电子设备

Country Status (1)

Country Link
CN (1) CN110427321A (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107404418A (zh) * 2017-07-26 2017-11-28 百度在线网络技术(北京)有限公司 互联网产品测试方法、装置、设备及存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107404418A (zh) * 2017-07-26 2017-11-28 百度在线网络技术(北京)有限公司 互联网产品测试方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
US10255102B2 (en) Transaction control arrangement for device management system
Grabowski et al. An introduction to the testing and test control notation (TTCN-3)
Lai A survey of communication protocol testing
CN100409618C (zh) 确定网元的连接性解决方案的技术
Miller Passive testing of networks using a CFSM specification
CN108076017A (zh) 一种数据包的协议解析方法及装置
CN109857391A (zh) 数据的处理方法及装置、存储介质和电子装置
CN113326026B (zh) 一种微服务业务流程接口的生成方法与终端
CN110515750A (zh) 一种应用拓扑生成方法、系统及集群
CN110399309A (zh) 一种测试数据生成方法及装置
CN110134380A (zh) 一种基于模板引擎的代码生成方法、装置及电子设备
CN111625474B (zh) 一种联盟链的自动测试方法
CN110427321A (zh) 一种测试方法、终端及电子设备
US10148518B2 (en) Method and apparatus for managing computer system
US20050216477A1 (en) Computer network management apparatus and method
CN109101408A (zh) 联调环境中业务可用性的检测方法和装置
CN114461465A (zh) 混合cpu架构设备的微服务测试方法、系统及相关装置
CN104283706B (zh) Snmp的采集处理方法及装置
CN103544354B (zh) 基于网络的并行计算机动态仿真方法和装置
Sabin et al. A constraint-based approach to diagnosing software problems in computer networks
Chanson Fault coverage evaluation of protocol test sequences
CN113468052B (zh) 动态挡板测试方法及装置
Din 16 TTCN-3
Clark et al. Multi-protocol architectures as a paradigm for achieving inter-operability
Shiri et al. Feature interaction analysis: a maintenance perspective

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