CN110888800A - 服务交互功能的测试方法、装置、存储介质及测试系统 - Google Patents

服务交互功能的测试方法、装置、存储介质及测试系统 Download PDF

Info

Publication number
CN110888800A
CN110888800A CN201910993899.4A CN201910993899A CN110888800A CN 110888800 A CN110888800 A CN 110888800A CN 201910993899 A CN201910993899 A CN 201910993899A CN 110888800 A CN110888800 A CN 110888800A
Authority
CN
China
Prior art keywords
service provider
service
request
consumer
simulation
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
CN201910993899.4A
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.)
Ping An Puhui Enterprise Management Co Ltd
Original Assignee
Ping An Puhui Enterprise Management 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 Ping An Puhui Enterprise Management Co Ltd filed Critical Ping An Puhui Enterprise Management Co Ltd
Priority to CN201910993899.4A priority Critical patent/CN110888800A/zh
Publication of CN110888800A publication Critical patent/CN110888800A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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

Abstract

本发明涉及测试领域,具体涉及一种服务交互功能的测试方法、装置、存储介质及测试系统,所述方法包括:服务消费者运行单元测试,向模拟服务提供者发送请求,生成服务消费者与模拟服务提供者的契约文件,所述契约文件包含服务消费者的请求内容及期望响应;构建模拟服务消费者,获取所述契约文件包含的请求内容,根据所述请求内容向服务提供者发送请求;获取所述服务提供者对所述请求的实际响应;比较所述实际响应与所述契约文件包含的期望响应,对服务提供者进行验证,确定服务消费者与服务提供者的交互功能的匹配度。本发明提高了服务消费者与服务提供者的测试效率,降低了测试所需的资源。

Description

服务交互功能的测试方法、装置、存储介质及测试系统
技术领域
本发明涉及测试领域,具体涉及一种服务交互功能的测试方法、装置、存储介质及测试系统。
背景技术
随着互联网技术的发展,应用软件的功能也越来越丰富,在软件工程的世界里,服务存在消费者与提供者两种角色,消费者通过向提供者发送请求,以获得相应的结果,而提供者响应消费者发送的请求,反馈当前最新的结果;对于提供者而言,每个消费者都会根据与其交互的不同,得到不同的结果,当服务提供者被修改时,应该保证每个消费者依然能够正确地得到结果,而目前的测试场景,均要求消费者、提供者同时在线,并且都运行在测试环境中才能执行测试,而提供者所提供的服务的变化频率较高,在线实时测试服务双方是否能够正常交互的过程中,需要耗费大量的资源,从而影响测试效率。
发明内容
为克服以上技术问题,特别是现有技术无法高效、快速地进行测试的问题,特提出以下技术方案:
第一方面,本发明提供了一种服务交互功能的测试方法,包括:
服务消费者运行单元测试,向模拟服务提供者发送请求,生成服务消费者与模拟服务提供者的契约文件,所述契约文件包含服务消费者的请求内容及期望响应;
构建模拟服务消费者,获取所述契约文件包含的请求内容,根据所述请求内容向服务提供者发送请求;
获取所述服务提供者对所述请求的实际响应;
比较所述实际响应与所述契约文件包含的期望响应,对服务提供者进行验证,确定服务消费者与服务提供者的交互功能的匹配度。
进一步的,所述模拟服务提供者包含若干个子模拟服务提供者;所述契约文件包含若干个子契约文件;所述服务消费者运行单元测试,向模拟服务提供者发送请求,生成服务消费者与模拟服务提供者的契约文件,包括:
服务消费者运行单元测试,向各子模拟服务提供者发送请求,生成服务消费者与各子模拟服务提供者的子契约文件。
进一步的,所述服务提供者包含若干个子服务提供者,所述子服务提供者与所述子模拟服务提供者相对应;所述比较所述实际响应与所述契约文件包含的期望响应,对服务提供者进行验证,确定服务消费者与服务提供者的交互功能的匹配度,包括:
比较所述实际响应与所述子契约文件包含的期望响应,对子服务提供者进行验证,确定服务消费者与子服务提供者的交互功能的匹配度。
进一步的,所述确定服务消费者与子服务提供者的交互功能的匹配度之后,还包括:
若所述匹配度不满足预设要求,确定所述服务消费者和所述子服务提供者交互异常。
进一步的,所述服务消费者运行单元测试,向模拟服务提供者发送请求之前,还包括:
获取当前的测试场景,根据当前的测试场景确定请求参数;
所述服务消费者运行单元测试,向模拟服务提供者发送请求,包括:
服务消费者运行单元测试,获取请求参数,根据所述请求参数向模拟服务提供者发送请求。
进一步的,所述生成服务消费者与模拟服务提供者的契约文件之后,还包括:
获取当前的测试场景,将所述契约文件关联所述测试场景保存。
进一步的,所述比较所述实际响应与所述契约文件包含的期望响应,对服务提供者进行验证,确定服务消费者与服务提供者的交互功能的匹配度,包括:
比较所述实际响应与对应测试场景下的契约文件包含的期望响应,在该测试场景下对服务提供者进行验证,确定该测试场景下服务消费者与服务提供者的交互功能的匹配度。
第二方面,本发明提供一种服务交互功能的测试装置,包括:
服务消费者模块:用于运行单元测试,向模拟服务提供者发送请求,生成服务消费者与模拟服务提供者的契约文件,所述契约文件包含服务消费者的请求内容及期望响应;
模拟对象模块:用于构建模拟服务提供者;以及构建模拟服务消费者,获取所述契约文件包含的请求内容,根据所述请求内容向服务提供者发送请求;
响应获取模块:用于获取所述服务提供者对所述请求的实际响应;
测试比较模块:用于比较所述实际响应与所述契约文件包含的期望响应,对服务提供者进行验证,确定服务消费者与服务提供者的交互功能的匹配度。
第三方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述的服务交互功能的测试方法。
第四方面,本发明还提供了一种测试系统,所述测试系统包括一个或多个处理器、存储器、一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述的服务交互功能的测试方法。
本发明与现有技术相比,具有以下有益效果:
本发明提供了一种将服务消费者跟服务提供者的测试解耦,简化为单元测试及接口测试的方法,通过服务消费者驱动生成契约文件,再通过服务提供者对所述契约文件中包含的请求得到实际响应,比较期望响应与实际响应,对服务提供者进行验证,从而确定服务消费者与服务提供者的交互功能的匹配度,将传统的集成测试转变为离线的隔离测试,服务消费者、服务提供者不需要同时在线,不需要服务消费者与服务提供者同时在线便可单端完成各自的测试,降低测试时的资源消耗,提高测试的效率,从而快速地对服务消费者与服务提供者进行测试,对服务之间的交互进行测试。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明服务交互功能的测试方法的一实施例流程示意图;
图2为本发明服务交互功能的测试方法的另一实施例流程示意图;
图3为本发明服务交互功能的测试装置的一实施例示意图;
图4为本发明测试系统的一实施例结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本发明实施例提供一种服务交互功能的测试方法,如图1所示,所述方法包括以下步骤:
S10:服务消费者运行单元测试,向模拟服务提供者发送请求,生成服务消费者与模拟服务提供者的契约文件,所述契约文件包含服务消费者的请求内容及期望响应。
在软件工程里,服务存在消费者与提供者两种角色,服务消费者通过向服务提供者发送请求,以获得该请求的结果,而服务提供者响应服务消费者发送的请求,根据服务提供者的业务逻辑反馈当前最新的结果。本实施例中,需要对服务消费者与服务提供者的交互逻辑进行测试,并且,基于服务消费者与服务提供者解耦的理念,同时为了保证服务消费者能够完成测试所需的交互,首先在服务消费者一端运行单元测试,并且定义服务消费者的请求及期望的响应,然后使用Mock(mock object,模拟对象)机制为服务消费者提供模拟服务提供者,模拟服务提供者与实际的服务提供者相对应,是为了进行解耦测试而生成的服务提供者,然后服务消费者向模拟服务提供者发送请求,能够得到模拟服务提供者对该请求的响应,以完成对服务消费者一端的单元测试,继而生成服务消费者与模拟服务提供者的契约文件,所述契约文件包含服务消费者的请求内容及期望响应。
S20:构建模拟服务消费者,获取所述契约文件包含的请求内容,根据所述请求内容向服务提供者发送请求。
在完成服务消费者一端的测试后,需要完成服务提供者一端的测试,本实施例中,使用Mock机制,构建模拟服务消费者,模拟服务消费者与实际的服务消费者相对应,然后获取所述上述生成的契约文件所记录的请求内容,确保该模拟服务消费者的请求内容跟步骤S10中的服务消费者的请求内容相同,然后根据所述请求内容向需要测试的服务提供者发送请求,即模拟服务消费者向真正的服务提供者发送请求,该服务提供者便是当前需要测试的服务提供者。
S30:获取所述服务提供者对所述请求的实际响应。
当模拟服务消费者向真正的服务提供者发送请求后,获取所述服务提供者对所述请求的实际响应,服务提供者对所述请求的响应即为实际响应,是根据服务提供者当前的业务逻辑对所述请求响应而得到的,即得到服务提供者当前的业务逻辑的处理结果。
S40:比较所述实际响应与所述契约文件包含的期望响应,对服务提供者进行验证,确定服务消费者与服务提供者的交互功能的匹配度。
本步骤中,在得到服务提供者的实际响应后,将所述实际响应与契约文件中包含的期望响应相比较,通过比较对服务提供者所提供的服务进行验证,也可以对服务消费者所需要得到的期望响应进行验证,验证服务提供者当前的响应结果与契约文件包含的期望响应是否一致,从而确定服务消费者与服务提供者的交互功能的匹配度,在一种实施方式中,若比较结果完全一致,则确定服务消费者与服务提供者能够完成正常的业务交互,从而得出服务交互功能测试正常的结论;若比较结果部分一致,则确定服务消费者与服务提供者部分交互功能正常;从而快速地对服务消费者与服务提供者进行测试,对服务之间的交互进行测试。
本实施例提供了一种将服务消费者跟服务提供者的测试解耦,简化为单元测试及接口测试的方法,通过服务消费者驱动生成契约文件,再通过服务提供者对所述契约文件中包含的请求得到实际响应,比较期望响应与实际响应,对服务提供者进行验证,从而确定服务消费者与服务提供者的交互功能的匹配度,将传统的集成测试转变为离线的隔离测试,服务消费者、服务提供者不需要同时在线,不需要服务消费者与服务提供者同时在线便可单端完成各自的测试,降低测试时的资源消耗,提高测试的效率,从而快速地对服务消费者与服务提供者进行测试,对服务之间的交互进行测试。
本发明的一种实施例,所述模拟服务提供者包含若干个子模拟服务提供者;所述契约文件包含若干个子契约文件;所述服务消费者运行单元测试,向模拟服务提供者发送请求,生成服务消费者与模拟服务提供者的契约文件,包括:
服务消费者运行单元测试,向各子模拟服务提供者发送请求,生成服务消费者与各子模拟服务提供者的子契约文件。
本实施例中,利用Mock机制将模拟服务提供者的复杂功能进行分块拆分,拆分为若干个子模拟服务提供者,通过多个子模拟服务提供者完成完整的模拟服务提供者的功能;然后,在进行服务消费者一端的测试时,服务消费者运行单元测试,向各子模拟服务提供者发送请求,从而生成服务消费者与各子模拟服务提供者的子契约文件,即在构建模拟服务提供者时,构建若干个子模拟服务提供者,然后服务消费者与该些子模拟服务提供者进行更加细小的单元测试,通过对服务提供者进行功能拆分,能够让服务消费者地对不同分块功能的模拟服务提供者进行并行交互测试,从而提高服务消费者对模拟服务提供者的交互测试效率。
本发明的一种实施例,所述服务提供者包含若干个子服务提供者,所述子服务提供者与所述子模拟服务提供者相对应;所述比较所述实际响应与所述契约文件包含的期望响应,对服务提供者进行验证,确定服务消费者与服务提供者的交互功能的匹配度,包括:
比较所述实际响应与所述子契约文件包含的期望响应,对子服务提供者进行验证,确定服务消费者与子服务提供者的交互功能的匹配度。
本实施例中,将服务提供者拆分为包含若干个子服务提供者,而在上述实施例的基础上,利用Mock机制将模拟服务提供者的复杂功能进行分块拆分,拆分为若干个子模拟服务提供者,所述子服务提供者与子模拟服务提供者一一对应,在构建模拟服务消费者后,获取子契约文件包含的请求内容,该子契约文件对应相应的子模拟服务提供者,亦对应了相应的子服务提供者,然后模拟服务消费者向子服务提供者发送请求,从而获得所述子服务提供者对所述请求的实际响应,然后比较所述实际响应与所述子契约文件包含的期望响应,对子服务提供者进行验证,确定服务消费者与子服务提供者的交互功能的匹配度,不仅对模拟服务提供者进行拆分,并行地完成对服务消费者的测试;还对实际的服务提供者进行拆分,并行地完成对实际的服务提供者的测试,从而快速地完成对服务消费者与服务提供者的交互功能测试。
本发明的一种实施例,所述确定服务消费者与子服务提供者的交互功能的匹配度之后,还包括:
若所述匹配度不满足预设要求,确定所述服务消费者和所述子服务提供者交互异常。
本实施例中,在上述实施例中,在构建模拟服务提供者时,构建若干个子模拟服务提供者,服务消费者对该些子模拟服务提供者进行更加细小的单元测试,从而生成若干个子契约文件;将服务提供者提供的完整服务功能拆分成若干个子服务提供者进行测试,得到各子服务提供者的实际响应;然后,若发现服务消费者与子服务提供者的交互功能的匹配度不满足要求,通过查找所述子契约文件,便可准确地确定造成匹配度不高的子服务提供者,即匹配度不高的节点所在,从而确定造成匹配度不高的环节,从而提高测试的精确度。
本发明的一种实施例,如图2所示,所述服务消费者运行单元测试,向模拟服务提供者发送请求之前,还包括:
S11:获取当前的测试场景,根据当前的测试场景确定请求参数;
所述服务消费者运行单元测试,向模拟服务提供者发送请求,生成服务消费者与模拟服务提供者的契约文件,所述契约文件包含服务消费者的请求内容及期望响应,包括:
S12:服务消费者运行单元测试,获取请求参数,根据所述请求参数向模拟服务提供者发送请求,生成服务消费者与模拟服务提供者的契约文件,所述契约文件包含服务消费者的请求内容及期望响应。
服务消费者在进行单元测试时,需要测试不同场景下的业务逻辑效果,例如测试并发量较低时的业务逻辑效果和测试并发量达到第一预设值时的业务逻辑效果,不同并发量下所对应的测试场景不同,本实施例中,在服务消费者运行单元测试,向模拟服务提供者发送请求时,获取当前的测试场景,根据当前的测试场景确定请求参数,例如,在并发量小的时候,请求参数X=a,在并发量达到第一预设值时,请求差数X=b;然后当服务消费者运行单元测试时,获取所述测试场景对应的请求参数,根据所述请求参数向模拟服务提供者发送请求,从而构建不同场景下的服务消费者与服务提供者的测试,完成不同场景下的功能测试,提高测试的全面性。
可能在并发量小的时候,服务消费者跟服务提供者能够较好地完成数据交互,而当并发量达到一定值时,服务消费者与服务提供者的交互无法及时得到处理和响应,在测试时,获取服务消费者的测试场景,该测试场景可以通过人工手动进行输入,或者基于特定的参数进行匹配,然后将不同场景下,同一个服务消费者跟模拟服务提供者生成的契约文件关联存储在指定路径下,后续通过比较该指定路径下的不同契约文件,能够检测特定场景下的服务之间的交互功能。
本发明的一种实施例,所述生成服务消费者与模拟服务提供者的契约文件之后,还包括:
获取当前的测试场景,将所述契约文件关联所述测试场景保存。
本实施例中,在生成服务消费者与模拟服务提供者的契约文件之后,为了后续更好地对不同测试场景的服务提供者与服务消费者进行重复测试,获取当前的测试场景,将所述契约文件关联所述测试场景保存,当第一次测试后,发现测试异常,则根据所述关联保存的契约文件及测试场景,对该测试场景进行第二次测试,然后得到该测试场景下的测试结果,从而提高对不同测试场景进行重复测试的效率。
本发明的一种实施例,所述比较所述实际响应与所述契约文件包含的期望响应,对服务提供者进行验证,确定服务消费者与服务提供者的交互功能的匹配度,包括:
比较所述实际响应与对应测试场景下的契约文件包含的期望响应,在该测试场景下对服务提供者进行验证,确定该测试场景下服务消费者与服务提供者的交互功能的匹配度。
本实施例中,在不同测试场景下,比较所述实际响应与对应测试场景下的契约文件包含的期望响应,然后对该测试场景下对服务提供者进行验证,确定该测试场景下服务消费者与服务提供者的交互功能的匹配度,若匹配度不满足预设要求,则确定该测试场景下的服务消费者与服务提供者的交互功能异常,需要对该测试场景下的服务消费者和/或服务提供者进行修正,以确保该测试场景下的服务消费者和服务提供者能够正常交互,完成实际的业务逻辑,从而快速测试不同测试场景下的服务消费者和服务提供者交互,提高测试效率及问题定位。
进一步的,本实施例中,还可以判断不同测试场景下的全部子服务提供者是否与服务消费者的均交互异常,若是,说明该测试场景的请求参数存在问题,修正请求参数后对该测试场景进行重新测试;否则,获取交互异常的子服务提供者的信息,分析异常原因。本实施例的一种应用场景,比如测试场景为促销购物,响应为买一送一,但全部服务提供者均没有实现该响应,说明该测试场景的参数设置有问题,若有服务提供者相应,有的不响应,说明不响应的服务提供者有问题。
如图3所示,在另一种实施例中,本发明提供了一种一种服务交互功能的测试装置,包括:
服务消费者模块10:用于运行单元测试,向模拟服务提供者发送请求,生成服务消费者与模拟服务提供者的契约文件,所述契约文件包含服务消费者的请求内容及期望响应;
模拟对象模块20:用于构建模拟服务提供者;以及构建模拟服务消费者,获取所述契约文件包含的请求内容,根据所述请求内容向服务提供者发送请求;
响应获取模块30:用于获取所述服务提供者对所述请求的实际响应;
测试比较模块40:用于比较所述实际响应与所述契约文件包含的期望响应,对服务提供者进行验证,确定服务消费者与服务提供者的交互功能的匹配度。
本发明的一种实施例,所述模拟服务提供者包含若干个子模拟服务提供者;所述契约文件包含若干个子契约文件;所述服务消费者模块10还包括执行;
运行单元测试,向各子模拟服务提供者发送请求,生成服务消费者与各子模拟服务提供者的子契约文件。
本发明的一种实施例,所述服务提供者包含若干个子服务提供者,所述子服务提供者与所述子模拟服务提供者相对应;所述测试比较模块40还包括执行:
比较所述实际响应与所述子契约文件包含的期望响应,对子服务提供者进行验证,确定服务消费者与子服务提供者的交互功能的匹配度。
本发明的一种实施例,所述测试比较模块40还包括执行:
若所述匹配度不满足预设要求,确定所述服务消费者和所述子服务提供者交互异常。
本发明的一种实施例,所述服务消费者模块10还包括执行:
获取当前的测试场景,根据当前的测试场景确定请求参数;
获取请求参数,根据所述请求参数向模拟服务提供者发送请求。
本发明的一种实施例,所述服务消费者模块10还包括执行:
获取当前的测试场景,将所述契约文件关联所述测试场景保存。
本发明的一种实施例,所述测试比较模块40还包括执行:
比较所述实际响应与对应测试场景下的契约文件包含的期望响应,在该测试场景下对服务提供者进行验证,确定该测试场景下服务消费者与服务提供者的交互功能的匹配度。
在另一种实施例中,本发明提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例所述的服务交互功能的测试方法。其中,所述计算机可读存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random AcceSSMemory,随即存储器)、EPROM(EraSable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically EraSable Programmable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,存储设备包括由设备(例如,计算机、手机)以能够读的形式存储或传输信息的任何介质,可以是只读存储器,磁盘或光盘等。
本发明实施例提供的一种计算机可读存储介质,可实现服务消费者运行单元测试,向模拟服务提供者发送请求,生成服务消费者与模拟服务提供者的契约文件,所述契约文件包含服务消费者的请求内容及期望响应;构建模拟服务消费者,获取所述契约文件包含的请求内容,根据所述请求内容向服务提供者发送请求;获取所述服务提供者对所述请求的实际响应;比较所述实际响应与所述契约文件包含的期望响应,对服务提供者进行验证,确定服务消费者与服务提供者的交互功能的匹配度。通过提供一种将服务消费者跟服务提供者的测试解耦,简化为单元测试及接口测试的方法,通过服务消费者驱动生成契约文件,再通过服务提供者对所述契约文件中包含的请求得到实际响应,比较期望响应与实际响应,对服务提供者进行验证,从而确定服务消费者与服务提供者的交互功能的匹配度,将传统的集成测试转变为离线的隔离测试,服务消费者、服务提供者不需要同时在线,不需要服务消费者与服务提供者同时在线便可单端完成各自的测试,降低测试时的资源消耗,提高测试的效率,从而快速地对服务消费者与服务提供者进行测试,对服务之间的交互进行测试。
本发明实施例提供的计算机可读存储介质可以实现上述服务交互功能的测试方法的实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。
此外,在又一种实施例中,本发明还提供一种测试系统,如图4所示,所述测试系统包括处理器403、存储器405、输入单元407以及显示单元409等器件。本领域技术人员可以理解,图4示出的结构器件并不构成对所有测试系统的限定,可以包括比图示更多或更少的部件,或者组合某些部件。所述存储器405可用于存储计算机程序401以及各功能模块,所述处理器403运行存储在存储器405的计算机程序401,从而执行设备的各种功能应用以及数据处理。所述存储器405可以是内存储器或外存储器,或者包括内存储器和外存储器两者。内存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)、快闪存储器、或者随机存储器。外存储器可以包括硬盘、软盘、ZIP盘、U盘、磁带等。本发明所公开的存储器包括但不限于这些类型的存储器。本发明所公开的存储器405只作为例子而非作为限定。
输入单元407用于接收信号的输入及接收用户的输入,输入单元407可包括触控面板以及其它输入设备。显示单元409可用于显示用户输入的信息或提供给用户的信息以及计算机设备的各种菜单。处理器403是计算机设备的控制中心,利用各种接口和线路连接整个电脑的各个部分,通过运行或执行存储在存储器403内的软件程序和/或模块,以及调用存储在存储器内的数据,执行各种功能和处理数据。
在一种实施方式中,所述测试系统包括一个或多个处理器403,以及一个或多个存储器405,一个或多个计算机程序401,其中所述一个或多个计算机程序401被存储在存储器405中并被配置为由所述一个或多个处理器403执行,所述一个或多个计算机程序401配置用于执行以上实施例所述的服务交互功能的测试方法。图4中所示的一个或多个处理器403能够执行、实现图3中所示的服务消费者模块10、模拟对象模块20、响应获取模块30、测试比较模块40的功能。
本发明实施例提供的一种服务器,可实现服务消费者运行单元测试,向模拟服务提供者发送请求,生成服务消费者与模拟服务提供者的契约文件,所述契约文件包含服务消费者的请求内容及期望响应;构建模拟服务消费者,获取所述契约文件包含的请求内容,根据所述请求内容向服务提供者发送请求;获取所述服务提供者对所述请求的实际响应;比较所述实际响应与所述契约文件包含的期望响应,对服务提供者进行验证,确定服务消费者与服务提供者的交互功能的匹配度。通过提供一种将服务消费者跟服务提供者的测试解耦,简化为单元测试及接口测试的方法,通过服务消费者驱动生成契约文件,再通过服务提供者对所述契约文件中包含的请求得到实际响应,比较期望响应与实际响应,对服务提供者进行验证,从而确定服务消费者与服务提供者的交互功能的匹配度,将传统的集成测试转变为离线的隔离测试,服务消费者、服务提供者不需要同时在线,不需要服务消费者与服务提供者同时在线便可单端完成各自的测试,降低测试时的资源消耗,提高测试的效率,从而快速地对服务消费者与服务提供者进行测试,对服务之间的交互进行测试。
本发明实施例提供的终端设备可以实现上述提供的服务交互功能的测试方法的实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种服务交互功能的测试方法,其特征在于,包括:
服务消费者运行单元测试,向模拟服务提供者发送请求,生成服务消费者与模拟服务提供者的契约文件,所述契约文件包含服务消费者的请求内容及期望响应;
构建模拟服务消费者,获取所述契约文件包含的请求内容,根据所述请求内容向服务提供者发送请求;
获取所述服务提供者对所述请求的实际响应;
比较所述实际响应与所述契约文件包含的期望响应,对服务提供者进行验证,确定服务消费者与服务提供者的交互功能的匹配度。
2.根据权利要求1所述的方法,其特征在于,所述模拟服务提供者包含若干个子模拟服务提供者;所述契约文件包含若干个子契约文件;所述服务消费者运行单元测试,向模拟服务提供者发送请求,生成服务消费者与模拟服务提供者的契约文件,包括:
服务消费者运行单元测试,向各子模拟服务提供者发送请求,生成服务消费者与各子模拟服务提供者的子契约文件。
3.根据权利要求2所述的方法,其特征在于,所述服务提供者包含若干个子服务提供者,所述子服务提供者与所述子模拟服务提供者相对应;所述比较所述实际响应与所述契约文件包含的期望响应,对服务提供者进行验证,确定服务消费者与服务提供者的交互功能的匹配度,包括:
比较所述实际响应与所述子契约文件包含的期望响应,对子服务提供者进行验证,确定服务消费者与子服务提供者的交互功能的匹配度。
4.根据权利要求3所述的方法,其特征在于,所述确定服务消费者与子服务提供者的交互功能的匹配度之后,还包括:
若所述匹配度不满足预设要求,确定所述服务消费者和所述子服务提供者交互异常。
5.根据权利要求1所述的方法,其特征在于,所述服务消费者运行单元测试,向模拟服务提供者发送请求之前,还包括:
获取当前的测试场景,根据当前的测试场景确定请求参数;
所述服务消费者运行单元测试,向模拟服务提供者发送请求,包括:
服务消费者运行单元测试,获取请求参数,根据所述请求参数向模拟服务提供者发送请求。
6.根据权利要求5所述的方法,其特征在于,所述生成服务消费者与模拟服务提供者的契约文件之后,还包括:
获取当前的测试场景,将所述契约文件关联所述测试场景保存。
7.根据权利要求6所述的方法,其特征在于,所述比较所述实际响应与所述契约文件包含的期望响应,对服务提供者进行验证,确定服务消费者与服务提供者的交互功能的匹配度,包括:
比较所述实际响应与对应测试场景下的契约文件包含的期望响应,在该测试场景下对服务提供者进行验证,确定该测试场景下服务消费者与服务提供者的交互功能的匹配度。
8.一种服务交互功能的测试装置,其特征在于,包括:
服务消费者模块:用于运行单元测试,向模拟服务提供者发送请求,生成服务消费者与模拟服务提供者的契约文件,所述契约文件包含服务消费者的请求内容及期望响应;
模拟对象模块:用于构建模拟服务提供者;以及构建模拟服务消费者,获取所述契约文件包含的请求内容,根据所述请求内容向服务提供者发送请求;
响应获取模块:用于获取所述服务提供者对所述请求的实际响应;
测试比较模块:用于比较所述实际响应与所述契约文件包含的期望响应,对服务提供者进行验证,确定服务消费者与服务提供者的交互功能的匹配度。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的服务交互功能的测试方法。
10.一种测试系统,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个计算机程序配置用于执行根据权利要求1至7任一项所述的服务交互功能的测试方法。
CN201910993899.4A 2019-10-18 2019-10-18 服务交互功能的测试方法、装置、存储介质及测试系统 Pending CN110888800A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910993899.4A CN110888800A (zh) 2019-10-18 2019-10-18 服务交互功能的测试方法、装置、存储介质及测试系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910993899.4A CN110888800A (zh) 2019-10-18 2019-10-18 服务交互功能的测试方法、装置、存储介质及测试系统

Publications (1)

Publication Number Publication Date
CN110888800A true CN110888800A (zh) 2020-03-17

Family

ID=69746305

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910993899.4A Pending CN110888800A (zh) 2019-10-18 2019-10-18 服务交互功能的测试方法、装置、存储介质及测试系统

Country Status (1)

Country Link
CN (1) CN110888800A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111897725A (zh) * 2020-07-23 2020-11-06 厦门航空有限公司 中台服务自动化测试方法、介质、设备及系统
CN113568824A (zh) * 2021-01-20 2021-10-29 腾讯科技(深圳)有限公司 通知服务测试方法、装置、电子设备及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111897725A (zh) * 2020-07-23 2020-11-06 厦门航空有限公司 中台服务自动化测试方法、介质、设备及系统
CN111897725B (zh) * 2020-07-23 2022-09-02 厦门航空有限公司 中台服务自动化测试方法、介质、设备及系统
CN113568824A (zh) * 2021-01-20 2021-10-29 腾讯科技(深圳)有限公司 通知服务测试方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN108563567B (zh) 自动化测试方法、装置、设备及计算机可读存储介质
CN108111364B (zh) 一种业务系统的测试方法及装置
CN110765024A (zh) 模拟测试方法、装置、电子设备和计算机可读存储介质
CN109977012B (zh) 系统的联调测试方法、装置、设备及计算机可读存储介质
CN111597110B (zh) 页面测试方法、装置、电子设备及存储介质
CN109726108B (zh) 基于模拟数据的前端代码测试方法、装置、系统和介质
CN107807841B (zh) 服务器模拟方法、装置、设备及可读存储介质
CN111831542B (zh) Api应用调测方法及装置、存储介质
CN110569194A (zh) 接口测试方法、装置、电子设备及存储介质
CN111858296A (zh) 接口测试方法、装置、设备和存储介质
CN111475412B (zh) 软件测试方法、装置、电子设备和计算机可读存储介质
CN115391219A (zh) 测试用例生成方法、装置、电子设备及存储介质
CN110888800A (zh) 服务交互功能的测试方法、装置、存储介质及测试系统
CN112446786A (zh) 一种异常交易处理方法、装置、电子设备和可读存储介质
CN107357721B (zh) 测试系统的方法及装置
CN113778878A (zh) 接口测试方法、装置、电子设备及存储介质
CN112559335A (zh) 测试方法、装置、设备和存储介质
CN112650689A (zh) 测试方法、装置、电子设备及存储介质
CN103019927B (zh) 一种性能测试方法和系统
CN112307379B (zh) 页面生成方法、装置及设备
CN114036060A (zh) 用于芯片测试的方法、系统和计算机可读介质
CN113535590A (zh) 程序测试方法和装置
CN113434382A (zh) 数据库性能监控方法、装置、电子设备及计算机可读介质
CN114371982A (zh) 一种模拟测试方法、装置、设备及可读存储介质
CN107239393B (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