CN108694120A - 测试服务组件的方法和装置 - Google Patents

测试服务组件的方法和装置 Download PDF

Info

Publication number
CN108694120A
CN108694120A CN201710235946.XA CN201710235946A CN108694120A CN 108694120 A CN108694120 A CN 108694120A CN 201710235946 A CN201710235946 A CN 201710235946A CN 108694120 A CN108694120 A CN 108694120A
Authority
CN
China
Prior art keywords
information
contract
servicing
service
parameter
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
CN201710235946.XA
Other languages
English (en)
Other versions
CN108694120B (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 Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information 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 Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201710235946.XA priority Critical patent/CN108694120B/zh
Publication of CN108694120A publication Critical patent/CN108694120A/zh
Application granted granted Critical
Publication of CN108694120B publication Critical patent/CN108694120B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明实施例提供一种测试服务组件的方法和装置,能够降低服务组件的测试成本并达到更好的测试效果。根据本发明实施例的第一个方面,提供了一种测试服务组件的方法,包括:向服务端请求服务组件信息和服务方法信息;根据用户选择的服务组件名称和服务方法名称,生成契约参数信息请求并发送给所述服务端;根据服务端返回的所述契约参数信息,生成契约测试信息并发送给所述服务端;接收所述服务端根据所述契约测试信息调用相应服务组件的服务方法后返回的测试结果。

Description

测试服务组件的方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种测试服务组件的方法和装置。
背景技术
在大型的web***中,***提供或依赖了不同种类的服务组件,服务组件是指具有某项服务功能的代码集合,例如:查询用户的订单信息、查询商品价格信息、发送消息、报表数据导出等等。在这些场景中需要实现服务组件可测试,以便及时了解服务的运行时状态及运行时结果。
现有技术在测试服务组件时,需要在web***里为需要测试的服务组件的具体服务方法开发相应的HTTP接口,通过HTTP接口服务内部调用服务组件的服务方法来进行测试。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:(1)现有的web***开放框架众多,不同的开放框架需要开发者自己去提供对应技术的HTTP接口,为了使服务组件可测试,还需要开发测试所需的相关代码;当服务组件数量较多、每个服务组件有包含若干服务方法时,由于现有技术测试方案不通用,会带来巨大的工作量,加大应用开发者的负担。(2)另一方面,现有技术在发送测试用的参数时直接在URL中传递参数,传递参数的过程中需要进行URL编码以防乱码,特殊字符还需要转义,特别是对于存在嵌套的复杂对象,人工编制参数非常不便;此外,测试时参数全部由人工输入,调用者必须清楚参数的格式信息,给测试带来了极大的困难。。
发明内容
有鉴于此,本发明实施例提供一种测试服务组件的方法和装置,能够降低服务组件的测试成本并达到更好的测试效果。
为实现上述目的,根据本发明实施例的第一个方面,提供了一种测试服务组件的方法,包括:
向服务端请求服务组件信息和服务方法信息;
根据用户选择的服务组件名称和服务方法名称,生成契约参数信息请求并发送给所述服务端;
根据服务端返回的所述契约参数信息,生成契约测试信息并发送给所述服务端;
接收所述服务端根据所述契约测试信息调用相应服务组件的服务方法后返回的测试结果。
在一些可选的实施例中,向服务端请求服务组件信息和服务方法信息并显示,包括:
向服务端发送服务组件名称请求;
显示服务端返回的服务组件名称列表;
根据用户选择的服务组件名称,向服务端发送服务组件类请求和服务方法名称请求;
显示服务端返回的服务组件类和服务方法名称列表。
在一些可选的实施例中,所述契约参数信息包括:服务组件类、服务组件名称、服务方法名称和用于标志所述服务方法是否为静态方法的静态方法标识;在所述服务方法名称对应的服务方法包括可测试的方法参数时,所述契约参数信息还包括默认方法参数。
在一些可选的实施例中,所述契约测试信息包括:服务组件类、服务组件名称、服务方法名称和用于标志所述服务方法是否为静态方法的静态方法标识;在所述服务方法名称对应的服务方法包括可测试的方法参数时,所述契约测试信息还包括用户输入的测试方法参数。
为实现上述目的,根据本发明实施例的第二个方面,提供了一种测试服务组件的方法,包括:
根据请求向用户端返回服务组件信息和服务方法信息;
根据包括服务组件名称和服务方法名称的契约参数信息请求生成契约参数信息并返回至用户端,以便用户端根据用户输入的测试参数和所述契约参数信息生成契约测试信息;
根据用户端发送的所述契约测试信息调用相应服务组件的服务方法,并向所述用户端返回测试结果。
在一些可选的实施例中,根据请求向用户端返回服务组件信息和服务方法信息,包括:
接收用户端发送的服务组件名称请求;
生成服务组件名称列表并返回至用户端;
接收用户端发送的,包括服务组件名称的服务组件类请求和服务方法名称请求;
根据服务组件名称查找服务组件类和服务方法名称列表,并返回至用户端。
在一些可选的实施例中,根据用户端发送的所述契约测试信息调用相应服务组件的服务方法,包括:
解析所述契约测试信息,生成服务运行上下文;
根据所述服务运行上下文调用相应服务组件的服务方法。
在一些可选的实施例中,所述契约参数信息包括:服务组件类、服务组件名称、服务方法名称和用于标志所述服务方法是否为静态方法的静态方法标识;在所述服务方法名称对应的服务方法包括可测试的方法参数时,所述契约参数信息还包括默认方法参数。
在一些可选的实施例中,所述契约测试信息包括:服务组件类、服务组件名称、服务方法名称和用于标志所述服务方法是否为静态方法的静态方法标识;在所述服务方法名称对应的服务方法包括可测试的方法参数时,所述契约测试信息还包括用户输入的测试方法参数。
为实现上述目的,根据本发明实施例的第三个方面,提供了一种测试服务组件的装置,包括:
选择模块,用于向服务端请求服务组件信息和服务方法信息;
契约参数信息模块,用于根据用户选择的服务组件名称和服务方法名称,生成契约参数信息请求并发送给所述服务端;
契约测试信息模块,用于根据服务端返回的所述契约参数信息,生成契约测试信息并发送给所述服务端;
接收所述服务端根据所述契约测试信息调用相应服务组件的服务方法后返回的测试结果。
在一些可选的实施例中,所述选择模块还用于:向服务端发送服务组件名称请求;显示服务端返回的服务组件名称列表;根据用户选择的服务组件名称,向服务端发送服务组件类请求和服务方法名称请求;显示服务端返回的服务组件类和服务方法名称列表。
在一些可选的实施例中,所述契约参数信息包括:服务组件类、服务组件名称、服务方法名称和用于标志所述服务方法是否为静态方法的静态方法标识;在所述服务方法名称对应的服务方法包括可测试的方法参数时,所述契约参数信息还包括默认方法参数。
在一些可选的实施例中,所述契约测试信息包括:服务组件类、服务组件名称、服务方法名称和用于标志所述服务方法是否为静态方法的静态方法标识;在所述服务方法名称对应的服务方法包括可测试的方法参数时,所述契约测试信息还包括用户输入的测试方法参数。
为实现上述目的,根据本发明实施例的第四个方面,提供了一种测试服务组件的装置,包括:
选择应答模块,用于根据请求向用户端返回服务组件信息和服务方法信息;
契约参数信息生成模块,用于根据包括服务组件名称和服务方法名称的契约参数信息请求生成契约参数信息并返回至用户端,以便用户端根据用户输入的测试参数和所述契约参数信息生成契约测试信息;
测试模块,用于根据用户端发送的所述契约测试信息调用相应服务组件的服务方法,并向所述用户端返回测试结果。
在一些可选的实施例中,所述选择应答模块还用于接收用户端发送的服务组件名称请求;生成服务组件名称列表并返回至用户端;接收用户端发送的,包括服务组件名称的服务组件类请求和服务方法名称请求;根据服务组件名称查找服务组件类和服务方法名称列表,并返回至用户端。
在一些可选的实施例中,所述测试模块还用于:解析所述契约测试信息,生成服务运行上下文;根据所述服务运行上下文调用相应服务组件的服务方法。
在一些可选的实施例中,所述契约参数信息包括:服务组件类、服务组件名称、服务方法名称和用于标志所述服务方法是否为静态方法的静态方法标识;在所述服务方法名称对应的服务方法包括可测试的方法参数时,所述契约参数信息还包括默认方法参数。
在一些可选的实施例中,所述契约测试信息包括:服务组件类、服务组件名称、服务方法名称和用于标志所述服务方法是否为静态方法的静态方法标识;在所述服务方法名称对应的服务方法包括可测试的方法参数时,所述契约测试信息还包括用户输入的测试方法参数。
为实现上述目的,根据本发明实施例的第五个方面,提供了一种测试服务组件的终端,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器至少实现:
向服务端请求服务组件信息和服务方法信息;
根据用户选择的服务组件名称和服务方法名称,生成契约参数信息请求并发送给所述服务端;
根据服务端返回的所述契约参数信息,生成契约测试信息并发送给所述服务端;
接收所述服务端根据所述契约测试信息调用相应服务组件的服务方法后返回的测试结果。
为实现上述目的,根据本发明实施例的第六个方面,提供了一种测试服务组件的服务器,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器至少实现:
根据请求向用户端返回服务组件信息和服务方法信息;
根据包括服务组件名称和服务方法名称的契约参数信息请求生成契约参数信息并返回至用户端,以便用户端根据用户输入的测试参数和所述契约参数信息生成契约测试信息;
根据用户端发送的所述契约测试信息调用相应服务组件的服务方法,并向所述用户端返回测试结果。
为实现上述目的,根据本发明实施例的第七个方面,提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时至少实现:
向服务端请求服务组件信息和服务方法信息;
根据用户选择的服务组件名称和服务方法名称,生成契约参数信息请求并发送给所述服务端;
根据服务端返回的所述契约参数信息,生成契约测试信息并发送给所述服务端;
接收所述服务端根据所述契约测试信息调用相应服务组件的服务方法后返回的测试结果。
为实现上述目的,根据本发明实施例的第八个方面,提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时至少实现:
根据请求向用户端返回服务组件信息和服务方法信息;
根据包括服务组件名称和服务方法名称的契约参数信息请求生成契约参数信息并返回至用户端,以便用户端根据用户输入的测试参数和所述契约参数信息生成契约测试信息;
根据用户端发送的所述契约测试信息调用相应服务组件的服务方法,并向所述用户端返回测试结果。
上述发明中的一个实施例具有如下优点或有益效果:因为采用了根据用户输入请求组件名称和方法名称的技术手段,可以让用户得知服务组件和服务方法的相关信息,进行有目的的测试,解决了现有技术中无法排查web***存在的问题的技术问题,达到了简化测试过程、提高测试效率的技术效果;因为采用了预设契约格式传递参数和测试信息,使用户无需人工输入参数,解决了现有技术中需要人工输入参数,难以传递复杂对象的问题,达到了简化测试过程、提高测试效率的技术效果;因为采用了反射技术调用待测试的服务组件的服务方法,无需针对不同的开发框架分别开发测试工具,解决了现有技术中测试开发工作量巨大的技术问题,达到了降低测试开发成本的技术效果。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的测试服务组件的方法的主要步骤的示意图;
图2是根据本发明另一实施例的测试服务组件的方法的主要步骤的示意图;
图3是根据本发明实施例的测试服务组件的装置的主要模块的示意图;
图4是根据本发明另一实施例的测试服务组件的装置的主要模块的示意图;
图5是根据本发明实施例的测试服务组件的***的主要模块的示意图;
图6是适于用来实现本发明实施例的终端设备或服务器的计算机***的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明实施例的测试服务组件的方法的主要步骤的示意图。
如图1所示,为本发明实施例提供的测试服务组件的方法,包括:
S10,用户端向服务端请求服务组件信息和服务方法信息。需要说明的是,为了便于用户操作,可以在服务端预设一个用于服务组件测试的测试页面(如HTML页面等);用户在用户端请求并加载所述测试页面后,根据页面显示的内容完成服务组件信息的请求、服务方法信息的请求和服务组件对应服务方法的调用请求。考虑到交互方便性(填写参数、展示结果、优化结果展示、异常信息反馈等),以及开发便捷性,所述测试页面可以选用静态HTML页面。
S11,服务端根据请求向用户端返回服务组件信息和服务方法信息。服务组件信息至少包括服务组件名称,服务方法信息至少包括服务方法名称。例如,用户端请求并加载测试用页面后,用户端主动请求、或页面自动请求服务组件信息,服务端返回服务组件信息后,用户端根据用户选择的具体服务组件名称,再次向服务端请求该服务组件包含的服务方法信息,服务端返回服务方法信息。这样一来,用户可以清楚地知道每个服务组件所包含的服务方法;服务组件信息和服务方法信息还可以包含更多的服务组件或服务方法的相关信息,例如类、参数、是否静态方法等等,以供用户审查,从而方便用户了解所要测试的服务组件及服务方法,并方便用户排查web***存在的问题。
S12,用户端根据用户选择的服务组件名称和服务方法名称,生成契约参数信息请求并发送给所述服务端。“契约”的含义是预先设置的格式,也就是说,契约参数信息请求所请求的内容,是关于服务组件与服务方法的、满足预设格式的信息。
S13,服务端根据所述契约参数信息请求,生成契约参数信息并返回至用户端。服务端根据契约参数请求,可以获取到用户希望测试的服务组件名称和服务方法名称,根据服务组件名称,可以查找服务组件的类,并查找服务组件所包含的服务方法,根据服务方法名称就可以进一步查找到相应服务方法的具体信息,例如服务组件类、服务组件名称、服务方法名称和用于标志所述服务方法是否为静态方法的静态方法标识等等;若在所述服务方法名称对应的服务方法包括可测试的方法参数,所述契约参数信息还包括默认方法参数。
根据服务组件的类和服务方法名称,服务端可以应用反射技术获取到具体的服务方法。反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;是一种动态获取信息以及动态调用对象的方法的功能。
S14,用户端根据所述契约参数信息,生成契约测试信息并发送至所述服务端。契约测试信息也是根据预设契约生成的,其格式可以与契约参数信息不同;契约测试信息的作用是提供服务端调用服务组件中服务方法的必要信息,如服务组件类、服务组件名称、服务方法名称和用于标志所述服务方法是否为静态方法的静态方法标识等等;若在所述服务方法名称对应的服务方法包括可测试的方法参数,所述契约测试信息还包括用户输入的测试方法参数。
S15,服务端根据契约测试信息调用相应服务组件的服务方法,并向用户端返回测试结果。服务端可以根据预设契约解析所述契约测试信息,并根据解析获取到的内容生成服务运行上下文;服务运行上下文是将调用服务组件中服务方法所需的信息封装得到的自定义对象;根据服务运行上下文,服务端可以调用指定服务组件的指定方法,并向用户端返回测试结果。需要说明的是,在返回测试结果时,可以根据预先的设置,在每个关键步骤处理完毕后返回阶段性结果,供用户了解方法运行过程,排查方法内部包含的问题。通过在契约测试信息中定义和添加预先约定的测试参数,可以获取到调用接口时的多种反馈结果,解决了现有技术中测试结果单一(例如反馈调用异常时的堆栈信息、调用成功时的方法调用耗时等)的技术问题。
从上面所述可以看出,本发明实施例因为采用了根据用户输入请求组件名称和方法名称的技术手段,可以让用户得知服务组件和服务方法的相关信息,进行有目的的测试,解决了现有技术中无法排查web***存在的问题的技术问题,达到了简化测试过程、提高测试效率的技术效果;因为采用了预设契约格式传递参数和测试信息,使用户无需人工输入参数,解决了现有技术中需要人工输入参数,难以传递复杂对象的问题,达到了简化测试过程、提高测试效率的技术效果;因为采用了反射技术调用待测试的服务组件的服务方法,无需针对不同的开发框架分别开发测试工具,解决了现有技术中测试开发工作量巨大的技术问题,达到了降低测试开发成本的技术效果。
图2是根据本发明另一实施例的测试服务组件的方法的主要步骤的示意图。
如图2所示,本发明另一实施例提供的测试服务组件的方法包括:
S201.用户端向服务端请求测试页面。
S202.服务端根据请求向用户端返回测试页面。在服务端提供了一个HTTPServlet和一个用于服务组件测试的测试页面,HTTP Servlet负责接收组件测试提交的请求参数、获取服务组件列表、获取服务方法列表、方法参数自动生成等功能。测试页面可以选用静态HTTP页面;用户请求可以通过静态HTTP页面里的JS发送ajax请求获得,这样就可使测试页面从服务端请求少量的信息,而不是反复请求整个页面。
S203.用户端加载测试页面。
S204.用户端向服务端发送服务组件信息请求。用户端发送的请求是以字符串类型进行发送的;服务端在接收到用户端发送的字符串类型的请求后,会将请求转换成JAVA语言里面的真实的数据类型和转换成真实的数据值,以及将方法参数自动生成契约所需格式的相应参数。
S205.服务端接收到服务组件信息请求后,查询(可供测试的)全部服务组件。服务端在接收到请求后,存在一个解析的过程,也就是将前面提到的字符串类型的请求,解析为JAVA能够识别的真实数据类型和真实的数据值,并根据解析后的真实的参数进行后续操作。
S206.服务端将所述(可供测试的)全部服务组件的服务组件名称返回用户端。
S207.用户端接收并显示服务组件名称,以供用户选择。例如,可以将服务组件名称以列表的形式显示在测试页面上。
S208.用户端根据用户选择的服务组件名称,向服务端发送服务方法信息请求。当用户选择了服务组件名称后,可以自动触发服务方法信息请求的发送;当用户重新选择了服务组件名称后,会再次自动触发服务方法信息请求的发送,实现服务方法名称和组件类的自动更新。此外,在服务端可以保存web***的Spring上下文环境,提供服务组件名称以及服务组件中服务方法的查找。
S209.服务端接收到服务方法信息请求后,根据服务组件名称获取服务组件类,并进一步获取服务组件中(可供测试)的全部服务方法。
S210.服务端将所述(可供测试的)全部服务方法的服务方法名称,以及服务组件类返回用户端。
S211.用户端接收服务方法名和组件类并显示,以供用户选择。返回服务组件类一方面是便于后续契约参数信息请求,另一方面方便用户了解希望测试的服务组件的类信息。
S212.用户端根据用户选择的服务方法名称,向服务端发送契约参数信息请求。契约参数信息请求的内容可以包括:请求类型(标记为请求契约参数信息),服务方法名称(或用于指示服务方法名称的标记项),服务组件类。
S213.服务端接收到契约参数信息请求后,根据契约参数信息请求中包含的服务方法名称、组件类等,查询相关信息,生成契约参数信息。
S214.服务端将契约参数信息返回用户端。
S215.用户端接收到契约参数信息后,显示契约参数信息;根据契约参数信息生成契约测试信息。当契约参数信息中包含可测试的方法参数时(在契约参数信息中这些可测试的参数可以保存为空值或默认值),用户端还可以将这些方法参数在测试页面显示,以供用户编辑;当用户输入新的测试参数替代方法参数时,在生成契约测试信息时则使用测试参数替代原默认参数或空值。
S216.用户端将契约测试信息发送至服务端。
S217.服务端根据契约测试信息,调用相应服务组件的服务方法进行测试。
S218.服务端将测试结果返回用户端。在必要时,也可以在进行测试的过程中,每完成一个关键步骤则向用户端返回部分结果,供用户进行检验。
为了便于理解,下面对本发明实施例中用户端与服务端在交互时用到的契约进行示例性说明。
在一些可选的实施例中,用户端在向服务端发送请求时,发送字符串型的请求信息,请求信息中包含的请求参数在服务端预先定义对应的意义,这样服务端在解析请求信息并获取到请求参数后,就可以根据请求参数的预定意义进行处理。例如,可以定义请求参数的意义如下:
c//服务组件类
m//服务方法名
b//服务组件名
p//方法参数
token//调用令牌信息
mt//标记服务方法是否是静态方法的静态方法标识
showError//是否显示异常详情
cmd//命令(1表示服务调用以执行测试;2表示获取服务组件名称;3表示获取服务组件类的全路径,和服务方法名称(如服务组件列表);4表示获取契约参数信息)
mIdx//方法索引(方法列表中的序号,从0开始)
关于服务方法参数的契约:服务方法参数分为两大类,一个非Map参数有typeInfo(参数的类型信息)属性,value(参数的值)属性;Map类型的参数有kType(Map中key的类型信息)属性,vType(Map中key对应的值的类型信息)属性,typeInfo(参数的类型信息)属性,value(参数的值)属性。
类型信息定义如下:
rt属性,表示类型的原始类型
dt属性,表示类型的真实数据类型
契约测试信息传递的是一个数组,数组中参数传递的顺序与服务方法定义里面参数顺序一致
根据上述定义,在用户端向服务端发送请求时,可以分别传递以下字符串类型的参数:
(1)请求服务组件信息时,只需要传递参数cmd,参数cmd的值为2;
(2)请求服务方法信息(服务组件类型和服务方法列表信息)时,只需要传递参数b和参数cmd。参数b的值为服务组件的名称,cmd参数的值为3;
(3)请求契约参数信息(包括服务方法信息和参数契约格式信息,其中服务方法信息如方法是否为静态方法,方法是否需要参数,方法的描述信息等)时,只需要传递参数cmd,参数mIdx,参数c。参数cmd的值为4,参数mIdx参数的值为服务方法列表框中所选择服务方法的索引位置(排序),参数c的值为服务组件的类型;
(4)发送契约测试信息以进行服务组件和服务方法调用时,只需要传递参数c,参数b,参数m,参数mt,参数showError,参数token,参数cmd和参数p。参数c的值为当前服务组件的类,参数b的值为当前服务组件的名称,参数m的值为当前所选择的服务方法名称,参数mt的值为服务方法的静态方法标识,参数showError的值用于标记方法调用异常时是否返回异常堆栈信息,参数token的值为令牌(用于校验是否有权限进行方法调用),参数p为方法的参数信息(当方法不需要方法参数时,此参数不传递)。
关于契约参数信息的生成:当请求契约参数信息时,服务端根据请求参数中服务组件类参数获取到组件类型(JAVA中Class),从而获取到这个服务组件类的方法列表,根据请求参数中方法索引mIdx找到具体是哪个服务方法,找到服务方法后就能获取到该服务方法的参数的类型信息,这样就能生成参数的契约信息。
服务调用过程的参数解析:当发送契约测试信息请求服务调用时,服务端根据契约测试信息中参数的类型调用转换函数将字符串类型value属性的值转换成真实的数据类型,根据服务组件名称参数在Spring框架的应用上下文中获取到对应的服务组件,根据契约测试信息中服务组件类参数获取到服务组件类型(JAVA中Class),根据契约测试信息中服务方法名称找到具体是哪个服务方法。这样就能获取服务方法,方法参数,服务组件来构建运行上下文,并利用JAVA反射技术进行方法的调用。
例如,需要测试的服务组件和服务方法的相关信息如下所示:
组件名:testService
组件类型:com.xxx.test.service.TestService
方法定义如下:
public String queryOrder(String userPin,int page,int pageSize);(该方法是方法列表中第一个方法,此信息关联到请求参数mIdx的值)
则用户端发送的契约参数信息请求的形式如下:
{
"cmd":4,
"mIdx":0,
"c":"com.xxx.test.service.TestService"
}
服务端返回的契约参数信息如下:
{"isStaticMethod":false,"methodDesc":"public java.lang.Stringcom.xxx.test.service.TestServiceImpl.queryOrder(String userPin,int page,int
pageSize)","isParamRequired":true,"paramSuggest":[{"typeInfo":{"dt":"ja va.lang.String","rt":"java.lang.String"},"value":""},{"typeInfo":{"dt":"int","rt":"int"},"value":},{"typeInfo":{"dt":"int","rt":"int"},"value":}]}
其中返回值中isStaticMethod描述服务方法是否为静态方法,methodDesc为服务方法的toString信息,isParamRequired表示服务方法是否需要方法参数,paramSuggest为方法参数的契约格式。用户只需要编辑paramSuggest中value属性填下方法参数以供后续测试即可。
用户端在用户确定调用服务方法时,发出契约测试信息如下:
{
"cmd":1,
"c":"com.xxx.test.service.TestService",
"b":"testService",
"m":"queryOrder",
"mt":"false",
"showError":"false",
"token":"令牌信息",
"p":[{"typeInfo":{"dt":"java.lang.String","rt":"java.lang.String"},"val ue":"张三"},{"typeInfo":{"dt":"int","rt":"int"},"value":1},{"typeInfo":{"dt":"int","rt":"int"},"value":20}]
}
请求参数的参数名称意义在前面已经说明。参数cmd为1,表示该请求的目的是调用服务方法进行测试,参数c的值为当前服务组件的类型,参数b的值为当前服务组件的名称,参数m的值为当前所选择的服务方法名,参数mt的值为服务方法是否为静态方法,参数showError的值为服务方法调用异常时是否返回异常堆栈信息,参数token的值为令牌(用于校验是否有权限进行方法调用),参数p为服务方法的方法参数。
图3是根据本发明实施例的测试服务组件的装置的主要模块的示意图。
如图3所示,本发明实施例的测试服务组件的装置300,包括:
选择模块301,用于向服务端请求服务组件信息和服务方法信息。
契约参数信息请求模块302,用于根据用户选择的服务组件名称和服务方法名称,生成契约参数信息请求并发送给所述服务端。
契约测试信息生成模块303,用于根据服务端返回的所述契约参数信息,生成契约测试信息并发送给所述服务端。
结果接收模块304,用于接收所述服务端根据所述契约测试信息调用相应服务组件的服务方法后返回的测试结果。
在一些可选的实施例中,所述选择模块301还用于:向服务端发送服务组件名称请求;显示服务端返回的服务组件名称列表;根据用户选择的服务组件名称,向服务端发送服务组件类请求和服务方法名称请求;显示服务端返回的服务组件类和服务方法名称列表。
在一些可选的实施例中,所述契约参数信息包括:服务组件类、服务组件名称、服务方法名称和用于标志所述服务方法是否为静态方法的静态方法标识;在所述服务方法名称对应的服务方法包括可测试的方法参数时,所述契约参数信息还包括默认方法参数。
在一些可选的实施例中,所述契约测试信息包括:服务组件类、服务组件名称、服务方法名称和用于标志所述服务方法是否为静态方法的静态方法标识;在所述服务方法名称对应的服务方法包括可测试的方法参数时,所述契约测试信息还包括用户输入的测试方法参数。
图4是根据本发明另一实施例的测试服务组件的装置的主要模块的示意图。
如图4所示,本发明另一实施例的测试服务组件的装置400,包括:
选择应答模块401,用于根据请求向用户端返回服务组件信息和服务方法信息。
契约参数信息生成模块402,用于根据包括服务组件名称和服务方法名称的契约参数信息请求生成契约参数信息并返回至用户端,以便用户端根据所述契约参数信息生成契约测试信息;
测试模块403,用于根据用户端发送的所述契约测试信息调用相应服务组件的服务方法,并向所述用户端返回测试结果。
在一些可选的实施例中,所述选择应答模块401还用于接收用户端发送的服务组件名称请求;生成服务组件名称列表并返回至用户端;接收用户端发送的,包括服务组件名称的服务组件类请求和服务方法名称请求;根据服务组件名称查找服务组件类和服务方法名称列表,并返回至用户端。
在一些可选的实施例中,所述测试模块403还用于:解析所述契约测试信息,生成服务运行上下文;根据所述服务运行上下文调用相应服务组件的服务方法。
在一些可选的实施例中,所述契约参数信息包括:服务组件类、服务组件名称、服务方法名称和用于标志所述服务方法是否为静态方法的静态方法标识;在所述服务方法名称对应的服务方法包括可测试的方法参数时,所述契约参数信息还包括默认方法参数。
在一些可选的实施例中,所述契约测试信息包括:服务组件类、服务组件名称、服务方法名称和用于标志所述服务方法是否为静态方法的静态方法标识;在所述服务方法名称对应的服务方法包括可测试的方法参数时,所述契约测试信息还包括用户输入的测试方法参数。
图5是根据本发明实施例的测试服务组件的***的主要模块的示意图。
如图5所示,是本发明实施例提供的测试服务组件的***500,包括:
网关模块501,该模块提供了一个HTTP Servlet和一个用于组件测试的静态HTML页面,该Servlet负责接收组件测试提交的请求参数、获取应用服务列表、获取服务方法列表、方法参数自动生成等功能。
参数解析模块502,该模块负责将提交的字符串类型参数转换成JAVA语言里面的真实数据类型和转换成真实的数据值,以及将方法参数自动生成契约所需格式。
服务上下文模块503,该模块保存了应用的Spring上下文环境,提供服务组件列表以及组件中服务方法的查找。
服务调用模块504,用于根据参数解析模块解析得到的服务组件、服务方法、服务参数,调用服务组件的真实方法并将结果和方法执行耗时等情况返回。
用户在WEB浏览器请求测试页面,页面加载完成后异步请求服务组件列表并展示在页面服务列表下拉列表框,再根据组件列表的一个服务组件的组件名,查询其类型及服务方法列表信息,然后根据服务方法列表的一个服务方法去请求方法参数转换成契约的格式(契约参数信息)。用户重新选择服务组件名会触发组件类型和服务方法的重新查询及初始化,服务方法的重新选择会触发方法参数契约自动生成。
测试服务组件的***500在运行时的步骤流程包括:
①请求时需要根据契约传递参数,契约包括参数传输格式(JSON格式)、测试组件的类型、测试组件的名称、测试的服务方法(方法名以及是否是静态方法)、参数(参数的类型,参数值,是否是动态参数)。参数的格式是预设的,只有按照约定的格式传递,才能从参数里获取到希望获取到的信息。当用户选择了某一个要测试的组件名时,页面会去请求当前所选择的组件名所对应的组件类型,这样组件的类型就确定了。与此同时给用户展示当前所选择的组件的所有方法,当用户选择某一方法时,服务方法就确定了。与此同时页面会异步请求方法参数所对应自动生成的契约格式信息。
②根据测试组件的类型获取到组件的JAVA Class类,根据类和方法名应用反射技术获取到真实的服务方法;将参数转换成真实的服务方法数据类型。所述参数为页面传递的HTTP请求参数,通过HTTP请求对象(HTTPServletRequest)获取。
③在服务上下文模块中的应用上下文中根据组件类和组件名查询服务组件。应用上下文是应用是使用Spring框架的核心组件,里面维护了应用的所有组件的信息(组件的名称,组件的类型)。对Spring来说里面的所管理的所有对象都是组件,服务组件就是要测试的服务对象。
④根据步骤②得到的服务方法、服务方法参数和步骤③得到的服务组件构建服务运行上下文(包括服务组件类,服务组件,服务方法,方法参数,是否是静态方法)。
⑤通过反射技术调用服务组件的服务方法,并将结果以及方法运行耗时等信息返回。在调用服务组件的服务方法时,将调用所需的信息(服务组件类,服务组件,服务方法,方法参数,是否是静态方法)封装到自定义的对象(服务运行上下文)。
从上面所述可以看出,本发明实施例因为采用了根据用户输入请求组件名称和方法名称的技术手段,可以让用户得知服务组件和服务方法的相关信息,进行有目的的测试,解决了现有技术中无法排查web***存在的问题的技术问题,达到了简化测试过程、提高测试效率的技术效果;因为采用了预设契约格式传递参数和测试信息,使用户无需人工输入参数,解决了现有技术中需要人工输入参数,难以传递复杂对象的问题,达到了简化测试过程、提高测试效率的技术效果;因为采用了反射技术调用待测试的服务组件的服务方法,无需针对不同的开发框架分别开发测试工具,解决了现有技术中测试开发工作量巨大的技术问题,达到了降低测试开发成本的技术效果。
根据本发明的实施例,本发明还提供了一种电子设备和一种可读存储介质。
图6是适于用来实现本发明实施例的终端设备或服务器的计算机***的结构示意图。
下面参考图6,其示出了适于用来实现本发明实施例的终端设备的计算机***600的结构示意图。图6示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,计算机***600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有***600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本发明的实施例,上文主要步骤的示意图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行主要步骤的示意图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本发明的***中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括选择模块、契约参数信息请求模块、契约测试信息生成模块和结果接收模块;又如,可以描述为:一种处理器包括选择应答模块、契约参数信息生成模块和测试模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,选择模块还可以被描述为“向所连接的服务端发送信息获取请求的模块”;又如,选择应答模块还可以被描述为“根据所连接的用户端的信息获取请求,返回相应信息的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备至少包括:
向服务端请求服务组件信息和服务方法信息;
根据用户选择的服务组件名称和服务方法名称,生成契约参数信息请求并发送给所述服务端;
根据服务端返回的所述契约参数信息,生成契约测试信息并发送给所述服务端;
接收所述服务端根据所述契约测试信息调用相应服务组件的服务方法后返回的测试结果。
或者,在另一种计算机可读介质承载的一个或者多个程序被一个该设备执行时,使得该设备至少包括:
根据请求向用户端返回服务组件信息和服务方法信息;
根据包括服务组件名称和服务方法名称的契约参数信息请求生成契约参数信息并返回至用户端,以便用户端根据所述契约参数信息生成契约测试信息;
根据用户端发送的所述契约测试信息调用相应服务组件的服务方法,并向所述用户端返回测试结果。
从上面所述可以看出,本发明实施例因为采用了根据用户输入请求组件名称和方法名称的技术手段,可以让用户得知服务组件和服务方法的相关信息,进行有目的的测试,解决了现有技术中无法排查web***存在的问题的技术问题,达到了简化测试过程、提高测试效率的技术效果;因为采用了预设契约格式传递参数和测试信息,使用户无需人工输入参数,解决了现有技术中需要人工输入参数,难以传递复杂对象的问题,达到了简化测试过程、提高测试效率的技术效果;因为采用了反射技术调用待测试的服务组件的服务方法,无需针对不同的开发框架分别开发测试工具,解决了现有技术中测试开发工作量巨大的技术问题,达到了降低测试开发成本的技术效果。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (22)

1.一种测试服务组件的方法,其特征在于,包括:
向服务端请求服务组件信息和服务方法信息;
根据用户选择的服务组件名称和服务方法名称,生成契约参数信息请求并发送给所述服务端;
根据服务端返回的所述契约参数信息,生成契约测试信息并发送给所述服务端;
接收所述服务端根据所述契约测试信息调用相应服务组件的服务方法后返回的测试结果。
2.根据权利要求1所述的方法,其特征在于,向服务端请求服务组件信息和服务方法信息并显示,包括:
向服务端发送服务组件名称请求;
显示服务端返回的服务组件名称列表;
根据用户选择的服务组件名称,向服务端发送服务组件类请求和服务方法名称请求;
显示服务端返回的服务组件类和服务方法名称列表。
3.根据权利要求1所述的方法,其特征在于,所述契约参数信息包括:服务组件类、服务组件名称、服务方法名称和用于标志所述服务方法是否为静态方法的静态方法标识;在所述服务方法名称对应的服务方法包括可测试的方法参数时,所述契约参数信息还包括默认方法参数。
4.根据权利要求1所述的方法,其特征在于,所述契约测试信息包括:服务组件类、服务组件名称、服务方法名称和用于标志所述服务方法是否为静态方法的静态方法标识;在所述服务方法名称对应的服务方法包括可测试的方法参数时,所述契约测试信息还包括用户输入的测试方法参数。
5.一种测试服务组件的方法,其特征在于,包括:
根据请求向用户端返回服务组件信息和服务方法信息;
根据包括服务组件名称和服务方法名称的契约参数信息请求生成契约参数信息并返回至用户端,以便用户端根据所述契约参数信息生成契约测试信息;
根据用户端发送的所述契约测试信息调用相应服务组件的服务方法,并向所述用户端返回测试结果。
6.根据权利要求5所述的方法,其特征在于,根据请求向用户端返回服务组件信息和服务方法信息,包括:
接收用户端发送的服务组件名称请求;
生成服务组件名称列表并返回至用户端;
接收用户端发送的,包括服务组件名称的服务组件类请求和服务方法名称请求;
根据服务组件名称查找服务组件类和服务方法名称列表,并返回至用户端。
7.根据权利要求5所述的方法,其特征在于,根据用户端发送的所述契约测试信息调用相应服务组件的服务方法,包括:
解析所述契约测试信息,生成服务运行上下文;
根据所述服务运行上下文调用相应服务组件的服务方法。
8.根据权利要求5所述的方法,其特征在于,所述契约参数信息包括:服务组件类、服务组件名称、服务方法名称和用于标志所述服务方法是否为静态方法的静态方法标识;在所述服务方法名称对应的服务方法包括可测试的方法参数时,所述契约参数信息还包括默认方法参数。
9.根据权利要求5所述的方法,其特征在于,所述契约测试信息包括:服务组件类、服务组件名称、服务方法名称和用于标志所述服务方法是否为静态方法的静态方法标识;在所述服务方法名称对应的服务方法包括可测试的方法参数时,所述契约测试信息还包括用户输入的测试方法参数。
10.一种测试服务组件的装置,其特征在于,包括:
选择模块,用于向服务端请求服务组件信息和服务方法信息;
契约参数信息请求模块,用于根据用户选择的服务组件名称和服务方法名称,生成契约参数信息请求并发送给所述服务端;
契约测试信息生成模块,用于根据服务端返回的所述契约参数信息,生成契约测试信息并发送给所述服务端;
结果接收模块,用于接收所述服务端根据所述契约测试信息调用相应服务组件的服务方法后返回的测试结果。
11.根据权利要求10所述的装置,其特征在于,所述选择模块还用于:向服务端发送服务组件名称请求;显示服务端返回的服务组件名称列表;根据用户选择的服务组件名称,向服务端发送服务组件类请求和服务方法名称请求;显示服务端返回的服务组件类和服务方法名称列表。
12.根据权利要求10所述的装置,其特征在于,所述契约参数信息包括:服务组件类、服务组件名称、服务方法名称和用于标志所述服务方法是否为静态方法的静态方法标识;在所述服务方法名称对应的服务方法包括可测试的方法参数时,所述契约参数信息还包括默认方法参数。
13.根据权利要求10所述的装置,其特征在于,所述契约测试信息包括:服务组件类、服务组件名称、服务方法名称和用于标志所述服务方法是否为静态方法的静态方法标识;在所述服务方法名称对应的服务方法包括可测试的方法参数时,所述契约测试信息还包括用户输入的测试方法参数。
14.一种测试服务组件的装置,其特征在于,包括:
选择应答模块,用于根据请求向用户端返回服务组件信息和服务方法信息;
契约参数信息生成模块,用于根据包括服务组件名称和服务方法名称的契约参数信息请求生成契约参数信息并返回至用户端,以便用户端根据所述契约参数信息生成契约测试信息;
测试模块,用于根据用户端发送的所述契约测试信息调用相应服务组件的服务方法,并向所述用户端返回测试结果。
15.根据权利要求14所述的装置,其特征在于,所述选择应答模块还用于接收用户端发送的服务组件名称请求;生成服务组件名称列表并返回至用户端;接收用户端发送的,包括服务组件名称的服务组件类请求和服务方法名称请求;根据服务组件名称查找服务组件类和服务方法名称列表,并返回至用户端。
16.根据权利要求14所述的装置,其特征在于,所述测试模块还用于:解析所述契约测试信息,生成服务运行上下文;根据所述服务运行上下文调用相应服务组件的服务方法。
17.根据权利要求14所述的装置,其特征在于,所述契约参数信息包括:服务组件类、服务组件名称、服务方法名称和用于标志所述服务方法是否为静态方法的静态方法标识;在所述服务方法名称对应的服务方法包括可测试的方法参数时,所述契约参数信息还包括默认方法参数。
18.根据权利要求14所述的装置,其特征在于,所述契约测试信息包括:服务组件类、服务组件名称、服务方法名称和用于标志所述服务方法是否为静态方法的静态方法标识;在所述服务方法名称对应的服务方法包括可测试的方法参数时,所述契约测试信息还包括用户输入的测试方法参数。
19.一种测试服务组件的终端,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4中任一所述的方法。
20.一种测试服务组件的服务器,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求5-9中任一所述的方法。
21.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-4中任一所述的方法。
22.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求5-9中任一所述的方法。
CN201710235946.XA 2017-04-12 2017-04-12 测试服务组件的方法和装置 Active CN108694120B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710235946.XA CN108694120B (zh) 2017-04-12 2017-04-12 测试服务组件的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710235946.XA CN108694120B (zh) 2017-04-12 2017-04-12 测试服务组件的方法和装置

Publications (2)

Publication Number Publication Date
CN108694120A true CN108694120A (zh) 2018-10-23
CN108694120B CN108694120B (zh) 2022-04-12

Family

ID=63843591

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710235946.XA Active CN108694120B (zh) 2017-04-12 2017-04-12 测试服务组件的方法和装置

Country Status (1)

Country Link
CN (1) CN108694120B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111159025A (zh) * 2019-12-23 2020-05-15 武汉联影医疗科技有限公司 应用程序接口测试方法、装置、计算机设备和存储介质
CN111176660A (zh) * 2019-12-31 2020-05-19 中信百信银行股份有限公司 一种面向分布式架构的微服务契约管理方法、装置、计算机设备、和可读存储介质
CN111459801A (zh) * 2020-03-09 2020-07-28 江苏苏宁物流有限公司 Rsf远程服务接口功能测试方法、模块、计算机设备和存储介质
CN112905458A (zh) * 2021-02-08 2021-06-04 中国工商银行股份有限公司 一种接口自动化契约测试方法和测试装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050055442A1 (en) * 2003-06-30 2005-03-10 Microsoft Corporation System and method for managing access points to distributed services
CN104991777A (zh) * 2015-07-14 2015-10-21 普元信息技术股份有限公司 实现Web应用程序自动化测试视图化开发的***及方法
CN105224869A (zh) * 2014-06-12 2016-01-06 腾讯科技(深圳)有限公司 组件测试方法和装置
CN105262614A (zh) * 2015-09-08 2016-01-20 北京思特奇信息技术股份有限公司 一种基于服务插件的业务处理方法及其***
CN105260299A (zh) * 2015-09-17 2016-01-20 安一恒通(北京)科技有限公司 软件测试方法、装置及***
CN105320598A (zh) * 2015-11-24 2016-02-10 广州华多网络科技有限公司 软件测试方法及装置
CN105871911A (zh) * 2016-06-02 2016-08-17 浪潮通用软件有限公司 一种服务调用引擎、方法及***

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050055442A1 (en) * 2003-06-30 2005-03-10 Microsoft Corporation System and method for managing access points to distributed services
CN105224869A (zh) * 2014-06-12 2016-01-06 腾讯科技(深圳)有限公司 组件测试方法和装置
CN104991777A (zh) * 2015-07-14 2015-10-21 普元信息技术股份有限公司 实现Web应用程序自动化测试视图化开发的***及方法
CN105262614A (zh) * 2015-09-08 2016-01-20 北京思特奇信息技术股份有限公司 一种基于服务插件的业务处理方法及其***
CN105260299A (zh) * 2015-09-17 2016-01-20 安一恒通(北京)科技有限公司 软件测试方法、装置及***
CN105320598A (zh) * 2015-11-24 2016-02-10 广州华多网络科技有限公司 软件测试方法及装置
CN105871911A (zh) * 2016-06-02 2016-08-17 浪潮通用软件有限公司 一种服务调用引擎、方法及***

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111159025A (zh) * 2019-12-23 2020-05-15 武汉联影医疗科技有限公司 应用程序接口测试方法、装置、计算机设备和存储介质
CN111176660A (zh) * 2019-12-31 2020-05-19 中信百信银行股份有限公司 一种面向分布式架构的微服务契约管理方法、装置、计算机设备、和可读存储介质
CN111459801A (zh) * 2020-03-09 2020-07-28 江苏苏宁物流有限公司 Rsf远程服务接口功能测试方法、模块、计算机设备和存储介质
CN112905458A (zh) * 2021-02-08 2021-06-04 中国工商银行股份有限公司 一种接口自动化契约测试方法和测试装置
CN112905458B (zh) * 2021-02-08 2024-05-07 中国工商银行股份有限公司 一种接口自动化契约测试方法和测试装置

Also Published As

Publication number Publication date
CN108694120B (zh) 2022-04-12

Similar Documents

Publication Publication Date Title
CN107256195B (zh) 网页前端测试方法及装置
CN109446071A (zh) 接口测试方法、接口测试装置、电子设备及存储介质
CN110310034B (zh) 一种应用于SaaS的服务编排、业务流程处理方法和装置
CN104427627B (zh) 测试数据获取方法、客户端与服务器
CN110442524A (zh) 一种针对带有认证授权的web服务接口测试方法和装置
CN108459953A (zh) 测试方法和装置
CN109558134A (zh) 业务数据校验的方法和装置
CN108694120A (zh) 测试服务组件的方法和装置
CN108805594A (zh) 信息推送方法和装置
CN111221739A (zh) 业务测试方法、装置和***
CN109815105A (zh) 基于Btrace的应用程序测试方法和装置
CN109815107A (zh) 自动化测试的方法和装置
CN109145014A (zh) 生成弹性搜索请求的方法和装置
CN109684188A (zh) 测试方法和装置
CN109656799A (zh) 测试方法和装置
CN109558323A (zh) 用于调试页面的***、方法和装置
CN109783197A (zh) 用于程序运行时环境的调度方法和装置
CN109298948A (zh) 分布式计算方法和***
CN108959087A (zh) 测试方法和装置
CN110011875A (zh) 拨测方法、装置、设备及计算机可读存储介质
CN109582317A (zh) 用于调试寄宿应用的方法和装置
CN110399459B (zh) 在线文档的搜索方法、装置、终端、服务器及存储介质
CN109271160A (zh) 活动规则组建方法、装置和计算机***、介质
CN109753424A (zh) Ab测试的方法和装置
CN116414370A (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