CN104142882A - 基于数据处理的测试方法及装置、系统 - Google Patents

基于数据处理的测试方法及装置、系统 Download PDF

Info

Publication number
CN104142882A
CN104142882A CN201310165932.7A CN201310165932A CN104142882A CN 104142882 A CN104142882 A CN 104142882A CN 201310165932 A CN201310165932 A CN 201310165932A CN 104142882 A CN104142882 A CN 104142882A
Authority
CN
China
Prior art keywords
packet
data processing
dpc
processing centre
centre
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
Application number
CN201310165932.7A
Other languages
English (en)
Other versions
CN104142882B (zh
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201310165932.7A priority Critical patent/CN104142882B/zh
Publication of CN104142882A publication Critical patent/CN104142882A/zh
Application granted granted Critical
Publication of CN104142882B publication Critical patent/CN104142882B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供一种基于数据处理的测试方法及装置、系统。本发明实施例通过接收源端进程通过底层链路发送的数据包,进而将所述数据包发送给数据处理中心,以使得所述数据处理中心根据与测试目的相关的处理逻辑,对所述数据包进行处理,然后,接收所述数据处理中心发送的处理结果信息,使得能够根据所述处理结果信息,执行测试操作,由于数据处理中心能够对源端进程发送的数据包进行处理,因此,能够避免现有技术中只能针对所录制的数据包进行回放的问题,从而提高了测试的灵活性。

Description

基于数据处理的测试方法及装置、系统
【技术领域】
本发明涉及测试技术,尤其涉及一种基于数据处理的测试方法及装置、系统。
【背景技术】
在软件测试过程中,录制/回放方式是一种常用的测试手段。现有的录制/回放方式是基于底层链路,例如,链路层链路、IP层链路或传输层链路等,通过接管底层链路的方式来实现录制和回放。
然而,现有的录制/回放方式,只能针对所录制的数据包进行回放,从而导致了测试的灵活性的降低。
【发明内容】
本发明的多个方面提供一种基于数据处理的测试方法及装置、系统,用以提高测试的灵活性。
本发明的一方面,提供一种基于数据处理的测试方法,包括:
接收源端进程通过底层链路发送的数据包;
将所述数据包发送给数据处理中心,以使得所述数据处理中心根据与测试目的相关的处理逻辑,对所述数据包进行处理;
接收所述数据处理中心发送的处理结果信息;
根据所述处理结果信息,执行测试操作。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述将所述数据包发送给数据处理中心之前,还包括:
运行预先配置的脚本文件,以向所述数据处理中心注册所述处理逻辑。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述接收源端进程通过底层链路发送的数据包之后,所述接收所述数据处理中心发送的处理结果信息之前,还包括:
将所述底层链路的第一状态信息发送给所述数据处理中心,以使得所述数据处理中心接收到所述数据包之后,根据所述底层链路的第一状态信息和所述处理逻辑,对所述数据包进行处理。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述数据处理中心根据与测试目的相关的处理逻辑,对所述数据包进行处理之前,还包括:
所述数据处理中心通过RPC接口,获得所述底层链路的第二状态信息;
所述数据处理中心接收到所述数据包之后,根据所述底层链路的第二状态信息和所述处理逻辑,对所述数据包进行处理。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:
所述数据处理中心接收到所述数据包之后,根据所述底层链路的第一状态信息、所述底层链路的第二状态信息和所述处理逻辑,对所述数据包进行处理。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述数据处理中心对所述数据包进行处理,包括:
所述数据处理中心对所述数据包进行修改。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述处理结果信息包括:
修改之后的数据包;或者
修改之后的数据包和修改指示。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据所述处理结果信息,执行测试操作,包括:
向目标端进程发送所述修改之后的数据包。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述数据处理中心对所述数据包进行处理,包括:
所述数据处理中心对所述数据包进行检测。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述处理结果信息包括:
操作指示;或者
操作指示和所述数据包。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据所述处理结果信息,执行测试操作,包括:
根据所述操作指示,执行与所述操作指示对应的操作。
本发明的另一方面,提供一种基于数据处理的测试装置,包括:
接收单元,用于接收源端进程通过底层链路发送的数据包;
发送单元,用于将所述数据包发送给数据处理中心,以使得所述数据处理中心根据与测试目的相关的处理逻辑,对所述数据包进行处理;
所述接收单元,还用于接收所述数据处理中心发送的处理结果信息;
执行单元,用于根据所述处理结果信息,执行测试操作。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述装置还包括注册单元,用于
运行预先配置的脚本文件,以向所述数据处理中心注册所述处理逻辑。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述发送单元,还用于
将所述底层链路的第一状态信息发送给所述数据处理中心,以使得所述数据处理中心接收到所述数据包之后,根据所述底层链路的第一状态信息和所述处理逻辑,对所述数据包进行处理。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述数据处理中心对所述数据包进行处理,包括:所述数据处理中心对所述数据包进行修改;所述处理结果信息包括:
修改之后的数据包;或者
修改之后的数据包和修改指示。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述执行单元,具体用于
向目标端进程发送所述修改之后的数据包。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述数据处理中心对所述数据包进行处理,包括:所述数据处理中心对所述数据包进行检测;所述处理结果信息包括:
操作指示;或者
操作指示和所述数据包。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述执行单元,具体用于
根据所述操作指示,执行与所述操作指示对应的操作。
本发明的另一方面,提供一种基于数据处理的测试系统,包括数据处理中心和上述装置;其中,所述数据处理中心,用于
接收所述数据包;根据与测试目的相关的处理逻辑,对所述数据包进行处理;以及,发送所述处理结果信息。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,
所述数据处理中心,还用于
接收所述底层链路的第一状态信息;
所述数据处理中心,具体用于
接收到所述数据包之后,根据所述底层链路的第一状态信息和所述处理逻辑,对所述数据包进行处理。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,
所述数据处理中心,还用于
通过RPC接口,获得所述底层链路的第二状态信息;
所述数据处理中心,具体用于
接收到所述数据包之后,根据所述底层链路的第二状态信息和所述处理逻辑,对所述数据包进行处理。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述数据处理中心,具体用于
接收到所述数据包之后,根据所述底层链路的第一状态信息、所述底层链路的第二状态信息和所述处理逻辑,对所述数据包进行处理。
由上述技术方案可知,本发明实施例通过接收源端进程通过底层链路发送的数据包,进而将所述数据包发送给数据处理中心,以使得所述数据处理中心根据与测试目的相关的处理逻辑,对所述数据包进行处理,然后,接收所述数据处理中心发送的处理结果信息,使得能够根据所述处理结果信息,执行测试操作,由于数据处理中心能够对源端进程发送的数据包进行处理,因此,能够避免现有技术中只能针对所录制的数据包进行回放的问题,从而提高了测试的灵活性。
另外,采用本发明提供的技术方案,由于直接将接收到的源端进程发送的数据包发送给数据处理中心进行处理,无需将所述数据包下载下来,在利用其他工具进行修改,无需操作人员参与测试过程,操作简单,且正确率高,从而进一步提高了测试的灵活性,以及测试的效率。
另外,采用本发明提供的技术方案,由于与测试目的相关的处理逻辑是数据处理中心处理源端进程发送的数据包的处理依据,无需测试用例考虑这些处理逻辑,从而进一步提高了测试的灵活性,以及测试的自动化。
另外,采用本发明提供的技术方案,由于与测试目的相关的处理逻辑是数据处理中心处理源端进程发送的数据包的处理依据,如果需要修改这些处理逻辑,只需要将修改之后的处理逻辑重新向数据处理中心进行注册即可,无需修改整个测试流程和测试用例,从而进一步提高了测试的灵活性,以及测试的自动化。
【附图说明】
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的基于数据处理的测试方法的流程示意图;
图2为本发明另一实施例提供的基于数据处理的测试装置的结构示意图;
图3为本发明另一实施例提供的基于数据处理的测试装置的结构示意图;
图4为本发明另一实施例提供的基于数据处理的测试系统的结构示意图。
【具体实施方式】
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本实施例中,所述的源端进程和目的端进程可以为需要通信的业务进程、系统服务进程和第三方公共服务进程中的至少一个进程等。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
图1为本发明一实施例提供的基于数据处理的测试方法的流程示意图,如图1所示。
101、接收源端进程通过底层链路发送的数据包。
102、将所述数据包发送给数据处理中心,以使得所述数据处理中心根据与测试目的相关的处理逻辑,对所述数据包进行处理。
103、接收所述数据处理中心发送的处理结果信息。
104、根据所述处理结果信息,执行测试操作。
需要说明的是,101~104的执行主体可以为测试工具。
这样,通过接收源端进程通过底层链路发送的数据包,进而将所述数据包发送给数据处理中心,以使得所述数据处理中心根据与测试目的相关的处理逻辑,对所述数据包进行处理,然后,接收所述数据处理中心发送的处理结果信息,使得能够根据所述处理结果信息,执行测试操作,由于数据处理中心能够对源端进程发送的数据包进行处理,因此,能够避免现有技术中只能针对所录制的数据包进行回放的问题,从而提高了测试的灵活性。
可选地,在本实施例的一个可能的实现方式中,在102之前,测试工具还可以进一步运行预先配置的脚本文件,以向所述数据处理中心注册所述处理逻辑。
具体地,所述脚本文件具体可以包括利用Python语言、超级文本预处理(Hypertext Preprocessor,PHP)语言或Ruby语言等面向对象编程语言进行编译的文件。
具体地,所述处理逻辑,可以理解为至少一个用于处理数据的回调函数。例如,这个回调函数可以是测试工具所在环境中部署的python函数,或者还可以为测试用例所在环境中部署的python函数,等,本实施例对此不进行限定。如果回调函数为测试用例所在环境中部署的python函数,具体可以采用序列化的技术将这个python函数传递到远端的数据处理中心。
可选地,在本实施例的一个可能的实现方式中,在101之后,103之前,测试工具还可以进一步将所述底层链路的第一状态信息发送给所述数据处理中心,以使得所述数据处理中心接收到所述数据包之后,根据所述底层链路的第一状态信息和所述处理逻辑,对所述数据包进行处理。
可以理解的是,所述第一状态信息为所述处理逻辑中所涉及的限定条件。具体地,所述第一状态信息可以包括但不限于链路状态信息,本实施例对此不进行限定。例如,总共发生了多少次数据传输、源端进程标识、目标端进程标识和数据包的应用层协议标识等。
可选地,在本实施例的一个可能的实现方式中,在103之前,所述数据处理中心还可以进一步通过远程过程调用(Remote Function Call,RPC)接口,获得所述底层链路的第二状态信息。至此,所述数据处理中心在接收到所述数据包之后,则可以根据所述底层链路的第二状态信息和所述处理逻辑,对所述数据包进行处理。
可以理解的是,所述第二状态信息为所述处理逻辑中所涉及的其他限定条件。具体地,所述第二状态信息可以包括但不限于除了链路状态信息之外的其他状态信息,本实施例对此不进行限定。例如,接管底层链路的总数量、指定底层链路在全部底层链路中的位置次序和指定底层链路的发生数据修改的总次数等。
进一步地,所述数据处理中心在接收到所述数据包之后,则可以根据所述底层链路的第一状态信息、所述底层链路的第二状态信息和所述处理逻辑,对所述数据包进行处理。
可选地,在本实施例的一个可能的实现方式中,假设所述数据处理中心对所述数据包进行修改;相应地,所述处理结果信息可以包括但不限于:
修改之后的数据包;或者
修改之后的数据包和修改指示。
具体地,在104中,测试工具具体可以向目标端进程发送所述修改之后的数据包,以实现测试目的。
可选地,在本实施例的一个可能的实现方式中,假设所述数据处理中心对所述数据包进行检测;相应地,所述处理结果信息可以包括但不限于:
操作指示;或者
操作指示和所述数据包。
具体地,在104中,测试工具具体可以根据所述操作指示,执行与所述操作指示对应的操作,例如,关闭所述底层链接或丢弃所述数据包,以实现测试目的。
为使得本发明实施例提供的方法更加清楚,下面将以现有的能够实现录制和回放的测试工具作为举例。本实施例中,测试工具运行在一个独立的进程即进程A中,测试用例运行另一个不同的进程即进程B中。在接管底层链路的测试工具中嵌入脚本解释器,例如,python解释器(PyInterpreter),以支持脚本文件的运行。测试工具会建立两个套接字(socket)连接,其中的一个socket连接用于在源端进程与测试工具之间传递数据,另一个socket连接用于在测试工具与目标端进程之间传递数据。源端进程有数据包A需要向目标端进程发送。测试工具通过socket连接接收到数据包A之后,先将数据包A发送给数据修改中心,该数据修改中心运行在进程A的一个线程中。所述数据处理中心则可以根据预先注册的与测试目的相关的处理逻辑,对数据包A进行处理。例如,将数据包A的第4个字节的内容修改为“XXXX”。然后,数据修改中心向测试工具返回修改后的数据包A即数据包B和用于指示已经修改的修改指示。
测试工具根据所述修改指示,将数据包B发送给目标端进程。这样,测试工具能够实现向目标端进程转发经过修改的数据包,以满足不同的测试目的,从而提高了测试的灵活性。
本实施例中,通过接收源端进程通过底层链路发送的数据包,进而将所述数据包发送给数据处理中心,以使得所述数据处理中心根据与测试目的相关的处理逻辑,对所述数据包进行处理,然后,接收所述数据处理中心发送的处理结果信息,使得能够根据所述处理结果信息,执行测试操作,由于数据处理中心能够对源端进程发送的数据包进行处理,因此,能够避免现有技术中只能针对所录制的数据包进行回放的问题,从而提高了测试的灵活性。
另外,采用本发明提供的技术方案,由于直接将接收到的源端进程发送的数据包发送给数据处理中心进行处理,无需将所述数据包下载下来,在利用其他工具进行修改,无需操作人员参与测试过程,操作简单,且正确率高,从而进一步提高了测试的灵活性,以及测试的效率。
另外,采用本发明提供的技术方案,由于与测试目的相关的处理逻辑是数据处理中心处理源端进程发送的数据包的处理依据,无需测试用例考虑这些处理逻辑,从而进一步提高了测试的灵活性,以及测试的自动化。
另外,采用本发明提供的技术方案,由于与测试目的相关的处理逻辑是数据处理中心处理源端进程发送的数据包的处理依据,如果需要修改这些处理逻辑,只需要将修改之后的处理逻辑重新向数据处理中心进行注册即可,无需修改整个测试流程和测试用例,从而进一步提高了测试的灵活性,以及测试的自动化。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
图2为本发明另一实施例提供的基于数据处理的测试装置的结构示意图,如图2所示。本实施例的基于数据处理的测试装置可以包括接收单元21、发送单元22和执行单元23。其中,接收单元21,用于接收源端进程通过底层链路发送的数据包;发送单元22,用于将所述数据包发送给数据处理中心,以使得所述数据处理中心根据与测试目的相关的处理逻辑,对所述数据包进行处理;所述接收单元21,还用于接收所述数据处理中心发送的处理结果信息;执行单元23,用于根据所述处理结果信息,执行测试操作。
需要说明的是,本实施例提供的测试装置可以为测试工具。
这样,通过接收单元接收源端进程通过底层链路发送的数据包,进而由发送单元将所述数据包发送给数据处理中心,以使得所述数据处理中心根据与测试目的相关的处理逻辑,对所述数据包进行处理,然后,接收单元接收所述数据处理中心发送的处理结果信息,使得执行单元能够根据所述处理结果信息,执行测试操作,由于数据处理中心能够对源端进程发送的数据包进行处理,因此,能够避免现有技术中只能针对所录制的数据包进行回放的问题,从而提高了测试的灵活性。
可选地,在本实施例的一个可能的实现方式中,如图3所示,本实施例提供的基于数据处理的测试装置还可以进一步包括注册单元31,用于运行预先配置的脚本文件,以向所述数据处理中心注册所述处理逻辑。
具体地,所述脚本文件具体可以包括利用Python语言、超级文本预处理(Hypertext Preprocessor,PHP)语言或Ruby语言等面向对象编程语言进行编译的文件。
具体地,所述处理逻辑,可以理解为至少一个用于处理数据的回调函数。例如,这个回调函数可以是测试工具所在环境中部署的python函数,或者还可以为测试用例所在环境中部署的python函数,等,本实施例对此不进行限定。如果回调函数为测试用例所在环境中部署的python函数,具体可以采用序列化的技术将这个python函数传递到远端的数据处理中心。
可选地,在本实施例的一个可能的实现方式中,所述发送单元22,还可以进一股用于将所述底层链路的第一状态信息发送给所述数据处理中心,以使得所述数据处理中心接收到所述数据包之后,根据所述底层链路的第一状态信息和所述处理逻辑,对所述数据包进行处理。
可以理解的是,所述第一状态信息为所述处理逻辑中所涉及的限定条件。具体地,所述第一状态信息可以包括但不限于链路状态信息,本实施例对此不进行限定。例如,总共发生了多少次数据传输、源端进程标识、目标端进程标识和数据包的应用层协议标识等。
可选地,在本实施例的一个可能的实现方式中,所述数据处理中心还可以进一步通过远程过程调用(Remote Function Call,RPC)接口,获得所述底层链路的第二状态信息。至此,所述数据处理中心在接收到所述数据包之后,则可以根据所述底层链路的第二状态信息和所述处理逻辑,对所述数据包进行处理。
可以理解的是,所述第二状态信息为所述处理逻辑中所涉及的其他限定条件。具体地,所述第二状态信息可以包括但不限于除了链路状态信息之外的其他状态信息,本实施例对此不进行限定。例如,接管底层链路的总数量、指定底层链路在全部底层链路中的位置次序和指定底层链路的发生数据修改的总次数等。
进一步地,所述数据处理中心在接收到所述数据包之后,则可以根据所述底层链路的第一状态信息、所述底层链路的第二状态信息和所述处理逻辑,对所述数据包进行处理。
可选地,在本实施例的一个可能的实现方式中,假设所述数据处理中心对所述数据包进行修改;相应地,所述处理结果信息可以包括但不限于:
修改之后的数据包;或者
修改之后的数据包和修改指示。
具体地,所述执行单元23,具体可以用于向目标端进程发送所述修改之后的数据包,以实现测试目的。
可选地,在本实施例的一个可能的实现方式中,假设所述数据处理中心对所述数据包进行检测;相应地,所述处理结果信息可以包括但不限于:
操作指示;或者
操作指示和所述数据包。
具体地,所述执行单元23,具体可以用于根据所述操作指示,执行与所述操作指示对应的操作,例如,关闭所述底层链接或丢弃所述数据包,以实现测试目的。
为使得本发明实施例提供的方法更加清楚,下面将以现有的能够实现录制和回放的测试工具作为举例。本实施例中,测试工具运行在一个独立的进程即进程A中,测试用例运行另一个不同的进程即进程B中。在接管底层链路的测试工具中嵌入脚本解释器,例如,python解释器(PyInterpreter),以支持脚本文件的运行。测试工具会建立两个套接字(socket)连接,其中的一个socket连接用于在源端进程与测试工具之间传递数据,另一个socket连接用于在测试工具与目标端进程之间传递数据。源端进程有数据包A需要向目标端进程发送。测试工具的详细描述可以参见图1对应的实施例中的相关内容,此处不再赘述。测试工具能够实现向目标端进程转发经过修改的数据包,以满足不同的测试目的,从而提高了测试的灵活性。
本实施例中,通过接收单元接收源端进程通过底层链路发送的数据包,进而由发送单元将所述数据包发送给数据处理中心,以使得所述数据处理中心根据与测试目的相关的处理逻辑,对所述数据包进行处理,然后,接收单元接收所述数据处理中心发送的处理结果信息,使得执行单元能够根据所述处理结果信息,执行测试操作,由于数据处理中心能够对源端进程发送的数据包进行处理,因此,能够避免现有技术中只能针对所录制的数据包进行回放的问题,从而提高了测试的灵活性。
另外,采用本发明提供的技术方案,由于直接将接收到的源端进程发送的数据包发送给数据处理中心进行处理,无需将所述数据包下载下来,在利用其他工具进行修改,无需操作人员参与测试过程,操作简单,且正确率高,从而进一步提高了测试的灵活性,以及测试的效率。
另外,采用本发明提供的技术方案,由于与测试目的相关的处理逻辑是数据处理中心处理源端进程发送的数据包的处理依据,无需测试用例考虑这些处理逻辑,从而进一步提高了测试的灵活性,以及测试的自动化。
另外,采用本发明提供的技术方案,由于与测试目的相关的处理逻辑是数据处理中心处理源端进程发送的数据包的处理依据,如果需要修改这些处理逻辑,只需要将修改之后的处理逻辑重新向数据处理中心进行注册即可,无需修改整个测试流程和测试用例,从而进一步提高了测试的灵活性,以及测试的自动化。
图4为本发明另一实施例提供的基于数据处理的测试系统的结构示意图,如图4所示。本实施例的基于数据处理的测试系统可以包括数据处理中心41和图2对应的实施例和图3对应的实施例中任一实施例所提供的基于数据处理的测试装置42,该基于数据处理的测试装置42的详细描述可以参见图2对应的实施例和图3对应的实施例中任一实施例多的相关内容,此处不再赘述。
其中,所述数据处理中心41,可以用于接收所述数据包;根据与测试目的相关的处理逻辑,对所述数据包进行处理;以及,发送所述处理结果信息。
可选地,在本实施例的一个可能的实现方式中,所述数据处理中心41,还可以进一步用于接收所述底层链路的第一状态信息;相应地,所述数据处理中心41,具体可以用于在接收到所述数据包之后,根据所述底层链路的第一状态信息和所述处理逻辑,对所述数据包进行处理。
可以理解的是,所述第一状态信息为所述处理逻辑中所涉及的限定条件。具体地,所述第一状态信息可以包括但不限于链路状态信息,本实施例对此不进行限定。例如,总共发生了多少次数据传输、源端进程标识、目标端进程标识和数据包的应用层协议标识等。
可选地,在本实施例的一个可能的实现方式中,所述数据处理中心41,还可以进一步用于通过RPC接口,获得所述底层链路的第二状态信息;相应地,所述数据处理中心41,具体可以用于在接收到所述数据包之后,根据所述底层链路的第二状态信息和所述处理逻辑,对所述数据包进行处理。
可以理解的是,所述第二状态信息为所述处理逻辑中所涉及的其他限定条件。具体地,所述第二状态信息可以包括但不限于除了链路状态信息之外的其他状态信息,本实施例对此不进行限定。例如,接管底层链路的总数量、指定底层链路在全部底层链路中的位置次序和指定底层链路的发生数据修改的总次数等。
进一步地,所述数据处理中心41,具体可以用于在接收到所述数据包之后,根据所述底层链路的第一状态信息、所述底层链路的第二状态信息和所述处理逻辑,对所述数据包进行处理。
本实施例中,通过基于数据处理的测试装置接收源端进程通过底层链路发送的数据包,进而将所述数据包发送给数据处理中心,以使得所述数据处理中心根据与测试目的相关的处理逻辑,对所述数据包进行处理,然后,所述测试装置接收所述数据处理中心发送的处理结果信息,使得该测试装置能够根据所述处理结果信息,执行测试操作,由于数据处理中心能够对源端进程发送的数据包进行处理,因此,能够避免现有技术中只能针对所录制的数据包进行回放的问题,从而提高了测试的灵活性。
另外,采用本发明提供的技术方案,由于直接将接收到的源端进程发送的数据包发送给数据处理中心进行处理,无需将所述数据包下载下来,在利用其他工具进行修改,无需操作人员参与测试过程,操作简单,且正确率高,从而进一步提高了测试的灵活性,以及测试的效率。
另外,采用本发明提供的技术方案,由于与测试目的相关的处理逻辑是数据处理中心处理源端进程发送的数据包的处理依据,无需测试用例考虑这些处理逻辑,从而进一步提高了测试的灵活性,以及测试的自动化。
另外,采用本发明提供的技术方案,由于与测试目的相关的处理逻辑是数据处理中心处理源端进程发送的数据包的处理依据,如果需要修改这些处理逻辑,只需要将修改之后的处理逻辑重新向数据处理中心进行注册即可,无需修改整个测试流程和测试用例,从而进一步提高了测试的灵活性,以及测试的自动化。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (22)

1.一种基于数据处理的测试方法,其特征在于,包括:
接收源端进程通过底层链路发送的数据包;
将所述数据包发送给数据处理中心,以使得所述数据处理中心根据与测试目的相关的处理逻辑,对所述数据包进行处理;
接收所述数据处理中心发送的处理结果信息;
根据所述处理结果信息,执行测试操作。
2.根据权利要求1所述的方法,其特征在于,所述将所述数据包发送给数据处理中心之前,还包括:
运行预先配置的脚本文件,以向所述数据处理中心注册所述处理逻辑。
3.根据权利要求1或2所述的方法,其特征在于,所述接收源端进程通过底层链路发送的数据包之后,所述接收所述数据处理中心发送的处理结果信息之前,还包括:
将所述底层链路的第一状态信息发送给所述数据处理中心,以使得所述数据处理中心接收到所述数据包之后,根据所述底层链路的第一状态信息和所述处理逻辑,对所述数据包进行处理。
4.根据权利要求1~3任一权利要求所述的方法,其特征在于,所述数据处理中心根据与测试目的相关的处理逻辑,对所述数据包进行处理之前,还包括:
所述数据处理中心通过RPC接口,获得所述底层链路的第二状态信息;
所述数据处理中心接收到所述数据包之后,根据所述底层链路的第二状态信息和所述处理逻辑,对所述数据包进行处理。
5.根据权利要求3或4所述的方法,其特征在于,所述方法还包括:
所述数据处理中心接收到所述数据包之后,根据所述底层链路的第一状态信息、所述底层链路的第二状态信息和所述处理逻辑,对所述数据包进行处理。
6.根据权利要求1~5任一权利要求所述的方法,其特征在于,所述数据处理中心对所述数据包进行处理,包括:
所述数据处理中心对所述数据包进行修改。
7.根据权利要求6所述的方法,其特征在于,所述处理结果信息包括:
修改之后的数据包;或者
修改之后的数据包和修改指示。
8.根据权利要求6或7所述的方法,其特征在于,所述根据所述处理结果信息,执行测试操作,包括:
向目标端进程发送所述修改之后的数据包。
9.根据权利要求1~5任一权利要求所述的方法,其特征在于,所述数据处理中心对所述数据包进行处理,包括:
所述数据处理中心对所述数据包进行检测。
10.根据权利要求9所述的方法,其特征在于,所述处理结果信息包括:
操作指示;或者
操作指示和所述数据包。
11.根据权利要求9或10所述的方法,其特征在于,所述根据所述处理结果信息,执行测试操作,包括:
根据所述操作指示,执行与所述操作指示对应的操作。
12.一种基于数据处理的测试装置,其特征在于,包括:
接收单元,用于接收源端进程通过底层链路发送的数据包;
发送单元,用于将所述数据包发送给数据处理中心,以使得所述数据处理中心根据与测试目的相关的处理逻辑,对所述数据包进行处理;
所述接收单元,还用于接收所述数据处理中心发送的处理结果信息;
执行单元,用于根据所述处理结果信息,执行测试操作。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括注册单元,用于
运行预先配置的脚本文件,以向所述数据处理中心注册所述处理逻辑。
14.根据权利要求12或13所述的装置,其特征在于,所述发送单元,还用于
将所述底层链路的第一状态信息发送给所述数据处理中心,以使得所述数据处理中心接收到所述数据包之后,根据所述底层链路的第一状态信息和所述处理逻辑,对所述数据包进行处理。
15.根据权利要求12~14任一权利要求所述的装置,其特征在于,所述数据处理中心对所述数据包进行处理,包括:所述数据处理中心对所述数据包进行修改;所述处理结果信息包括:
修改之后的数据包;或者
修改之后的数据包和修改指示。
16.根据权利要求15所述的装置,其特征在于,所述执行单元,具体用于
向目标端进程发送所述修改之后的数据包。
17.根据权利要求12~14任一权利要求所述的装置,其特征在于,所述数据处理中心对所述数据包进行处理,包括:所述数据处理中心对所述数据包进行检测;所述处理结果信息包括:
操作指示;或者
操作指示和所述数据包。
18.根据权利要求17所述的装置,其特征在于,所述执行单元,具体用于
根据所述操作指示,执行与所述操作指示对应的操作。
19.一种基于数据处理的测试系统,其特征在于,包括数据处理中心和权利要求12~18任一权利要求所述的装置;其中,所述数据处理中心,用于
接收所述数据包;根据与测试目的相关的处理逻辑,对所述数据包进行处理;以及,发送所述处理结果信息。
20.根据权利要求19所述的系统,其特征在于,
所述数据处理中心,还用于
接收所述底层链路的第一状态信息;
所述数据处理中心,具体用于
接收到所述数据包之后,根据所述底层链路的第一状态信息和所述处理逻辑,对所述数据包进行处理。
21.根据权利要求19或20所述的系统,其特征在于,
所述数据处理中心,还用于
通过RPC接口,获得所述底层链路的第二状态信息;
所述数据处理中心,具体用于
接收到所述数据包之后,根据所述底层链路的第二状态信息和所述处理逻辑,对所述数据包进行处理。
22.根据权利要求20或21所述的系统,其特征在于,所述数据处理中心,具体用于
接收到所述数据包之后,根据所述底层链路的第一状态信息、所述底层链路的第二状态信息和所述处理逻辑,对所述数据包进行处理。
CN201310165932.7A 2013-05-08 2013-05-08 基于数据处理的测试方法及装置、系统 Active CN104142882B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310165932.7A CN104142882B (zh) 2013-05-08 2013-05-08 基于数据处理的测试方法及装置、系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310165932.7A CN104142882B (zh) 2013-05-08 2013-05-08 基于数据处理的测试方法及装置、系统

Publications (2)

Publication Number Publication Date
CN104142882A true CN104142882A (zh) 2014-11-12
CN104142882B CN104142882B (zh) 2019-02-12

Family

ID=51852063

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310165932.7A Active CN104142882B (zh) 2013-05-08 2013-05-08 基于数据处理的测试方法及装置、系统

Country Status (1)

Country Link
CN (1) CN104142882B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106209782A (zh) * 2016-06-27 2016-12-07 腾讯科技(深圳)有限公司 一种协议截获系统、协议截获方法以及协议截获装置
CN106209503A (zh) * 2016-06-28 2016-12-07 武汉斗鱼网络科技有限公司 Rpc接口测试方法及系统
CN106815150A (zh) * 2017-01-19 2017-06-09 网易(杭州)网络有限公司 服务端接口测试系统及方法
CN111090575A (zh) * 2018-10-23 2020-05-01 亿度慧达教育科技(北京)有限公司 测试方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1545291A (zh) * 2003-11-13 2004-11-10 中兴通讯股份有限公司 一种h.248协议的信令传输适配方法及系统
CN101136812A (zh) * 2007-09-28 2008-03-05 北京北方烽火科技有限公司 一种独立的wimax基站网络性能测试方法和系统
US20090199047A1 (en) * 2008-01-31 2009-08-06 Yahoo! Inc. Executing software performance test jobs in a clustered system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1545291A (zh) * 2003-11-13 2004-11-10 中兴通讯股份有限公司 一种h.248协议的信令传输适配方法及系统
CN101136812A (zh) * 2007-09-28 2008-03-05 北京北方烽火科技有限公司 一种独立的wimax基站网络性能测试方法和系统
US20090199047A1 (en) * 2008-01-31 2009-08-06 Yahoo! Inc. Executing software performance test jobs in a clustered system

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106209782A (zh) * 2016-06-27 2016-12-07 腾讯科技(深圳)有限公司 一种协议截获系统、协议截获方法以及协议截获装置
CN106209782B (zh) * 2016-06-27 2018-10-19 腾讯科技(深圳)有限公司 一种协议截获系统、协议截获方法以及协议截获装置
CN106209503A (zh) * 2016-06-28 2016-12-07 武汉斗鱼网络科技有限公司 Rpc接口测试方法及系统
CN106209503B (zh) * 2016-06-28 2019-07-09 武汉斗鱼网络科技有限公司 Rpc接口测试方法及系统
CN106815150A (zh) * 2017-01-19 2017-06-09 网易(杭州)网络有限公司 服务端接口测试系统及方法
CN106815150B (zh) * 2017-01-19 2020-02-07 网易(杭州)网络有限公司 服务端接口测试系统及方法
CN111090575A (zh) * 2018-10-23 2020-05-01 亿度慧达教育科技(北京)有限公司 测试方法
CN111090575B (zh) * 2018-10-23 2021-07-30 亿度慧达教育科技(北京)有限公司 测试方法

Also Published As

Publication number Publication date
CN104142882B (zh) 2019-02-12

Similar Documents

Publication Publication Date Title
US10592402B2 (en) Automated integration testing with mock microservices
CN104484273B (zh) 应用程序的测试方法、设备及系统
KR20180038539A (ko) 소프트웨어 개발 키트로 데이터 추적을 구현하는 방법 및 시스템
CN105159833A (zh) 自动化测试装置及方法
CN104616138A (zh) 资源转移方法、系统及装置
CN106326017A (zh) 基于Annotation使用的调用链的实现系统
CN103401909A (zh) 基于bs的数据交互方法与系统、客户端及服务器
CN104536890A (zh) 测试系统、方法和装置
CN103455413A (zh) 一种通讯终端交互场景测试数据处理方法、装置和系统
CN106326469A (zh) 数据的同步方法和装置
CN104142882A (zh) 基于数据处理的测试方法及装置、系统
CN109669787B (zh) 数据传输方法及装置、存储介质、电子设备
CN110874307A (zh) 事件埋点的收集上报方法和装置
CN109656799A (zh) 测试方法和装置
CN107817962B (zh) 一种远程控制方法、装置、控制服务器及存储介质
CN111757282B (zh) 短信发送方法及装置
CN115002011B (zh) 流量双向测试方法、装置、电子设备及存储介质
US10176062B2 (en) Cloud servers and methods for handling dysfunctional cloud services
CN105530140A (zh) 一种解除用例和环境紧耦合的方法、装置和云调度系统
CN103677718A (zh) 一种拼接墙控制方法及终端
CN102301337B (zh) 在高度可用的环境中保存服务的方法和设备
CN113407229A (zh) 用于生成离线脚本的方法及装置
CN105577888A (zh) 一种手机与电脑非接触的数据交互方法
CN109559181A (zh) 订单数据采集方法及装置
CN117591104B (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