CN107329890A - 基于Mock的测试方法、装置及服务器 - Google Patents

基于Mock的测试方法、装置及服务器 Download PDF

Info

Publication number
CN107329890A
CN107329890A CN201710420165.8A CN201710420165A CN107329890A CN 107329890 A CN107329890 A CN 107329890A CN 201710420165 A CN201710420165 A CN 201710420165A CN 107329890 A CN107329890 A CN 107329890A
Authority
CN
China
Prior art keywords
interface
test
data
target
request
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
CN201710420165.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.)
Beijing Kingsoft Internet Security Software Co Ltd
Original Assignee
Beijing Kingsoft Internet Security Software 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 Kingsoft Internet Security Software Co Ltd filed Critical Beijing Kingsoft Internet Security Software Co Ltd
Priority to CN201710420165.8A priority Critical patent/CN107329890A/zh
Publication of CN107329890A publication Critical patent/CN107329890A/zh
Pending legal-status Critical Current

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
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

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)

Abstract

本发明提出一种基于Mock的测试方法、装置及服务器,其中,方法包括:接收目标接口发送的用于请求获取被测服务模块的测试数据的数据请求,其中,该数据请求中携带用于标识所述被测服务模块的服务标识符,从数据请求中获取服务标识符的取值,从本地数据库中获取与该服务标识符的取值对应的目标测试数据,将该目标测试数据发送给目标接口。其中,在本地数据库中可以预先为不同的服务模块设置有测试数据,使得Mock服务器可以为接口提供与被测服务模块对应的稳定的测试数据,保证了获取到的测试数据符合下一级服务模块的预期,进而不对下一级服务模块的测试结果造成误差,使得各服务模块的自动化测试更加独立,使得测试结果更加准确。

Description

基于Mock的测试方法、装置及服务器
技术领域
本发明涉及自动化测试领域,尤其涉及一种基于Mock的测试方法、装置及服务器。
背景技术
随着软件系统越来越复杂,开发人员在开发过程中或者在开发完成后,都需要对开发的模块或者单元进行测试,以及时发现错误并及时修复,确保开发的程序的正确性和稳定性。
目前,Linux后台服务系统中各个服务模块之间的相互独立较强,因此,在通过自动化测试框架对各服务模块进行测试的过程中,经常可以通过接口调用其他服务模块的数据,然后基于调用到的数据对下一级服务模块进行测试。实际应用中,上一级服务器模块的数据可能存在异常,或者调用过程中出现数据丢失等异常情况,在接口调用到的上一级服务模块的数据不稳定的情况下,基于该调用的数据对下一级服务模块进行测试时,往往会对下一级服务模块的测试结果产生较大的影响,得到的下一级服务模块的测试结果不能真实地反应其性能,导致测试结果不准确。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的第一个目的在于提出一种基于Mock的测试方法,以实现接口能够从上一级的被调用的服务模块中获取到稳定的接口数据,避免接口调用到的上一级服务模块的数据不稳定的情况下,得到的下一级服务模块的测试结果不能真实地反应其性能的问题。
本发明的第二个目的在于提出一种基于Mock的测试装置。
本发明的第三个目的在于提出一种服务器。
本发明的第四个目的在于提出一种非临时性计算机可读存储介质。
本发明的第五个目的在于提出一种计算机程序产品。
为达上述目的,本发明第一方面实施例提出了一种基于Mock的测试方法,包括:
接收目标接口发送的用于请求获取被测服务模块的测试数据的数据请求;所述数据请求中携带用于标识所述被测服务模块的服务标识符;
从所述数据请求中获取所述服务标识符的取值;
从本地数据库中获取与所述服务标识符的取值对应的目标测试数据;
将所述目标测试数据发送给所述目标接口。
作为本发明第一方面实施例的另一种可选的实现方式,所述将所述目标测试数据发送给所述目标接口,包括:
获取所述目标接口的接口类型;
根据所述接口类型向所述目标接口发送所述目标测试数据。
作为本发明第一方面实施例的另一种可选的实现方式,所述获取所述目标接口的接口类型,包括:
从所述数据请求中获取所述目标接口的标识;
根据所述目标接口的标识确定所述接口类型。
作为本发明第一方面实施例的另一种可选的实现方式,所述根据所述接口类型向所述目标接口发送所述目标测试数据,包括:
根据所述接口类型确定向所述目标接口发送所述目标测试数据时所采用的目标格式;
当所述目标格式为协议缓存格式时,则将所述目标测试数据的当前格式转换成所述协议缓存格式;
将格式转换后的所述目标测试数据发送给所述目标接口;或者,
当所述目标格式为明文格式时,则将所述目标测试数据直接发送给所述目标接口。
作为本发明第一方面实施例的另一种可选的实现方式,所述目标接口为测试接口,所述方法还包括:
接收所述测试接口发送的用于对第三方服务器进行测试的测试请求;
根据所述测试请求模拟所述第三方服务器的异常测试场景;
将在所述异常测试场景下产生的测试数据作为所述目标测试数据发送给所述测试接口。
本发明实施例的基于Mock的测试方法,通过接收目标接口发送的用于请求获取被测服务模块的测试数据的数据请求,其中,该数据请求中携带用于标识所述被测服务模块的服务标识符,从数据请求中获取服务标识符的取值,从本地数据库中获取与该服务标识符的取值对应的目标测试数据,将该目标测试数据发送给目标接口。本实施例中,在本地数据库中可以预先为不同的服务模块设置有测试数据,使得Mock服务器可以为接口提供与被测服务模块对应的稳定的测试数据,保证了获取到的测试数据符合下一级服务模块的预期,进而不对下一级服务模块的测试结果造成误差,使得各服务模块的自动化测试更加独立,使得测试结果更加准确。
为达上述目的,本发明第二方面实施例提出了一种基于Mock的测试装置,包括:
请求接收模块,用于接收目标接口发送的用于请求获取被测服务模块的测试数据的数据请求;所述数据请求中携带用于标识所述被测服务模块的服务标识符;
第一获取模块,用于从所述数据请求中获取所述服务标识符的取值;
第二获取模块,用于从本地数据库中获取与所述服务标识符的取值对应的目标测试数据;
发送模块,用于将所述目标测试数据发送给所述目标接口。
作为本发明第二方面实施例的另一种可选的实现方式,所述发送模块,包括:
获取单元,用于获取所述目标接口的接口类型;
发送单元,用于根据所述接口类型向所述目标接口发送所述目标测试数据。
作为本发明第二方面实施例的另一种可选的实现方式,所述获取单元,具体用于从所述数据请求中获取所述目标接口的标识,根据所述目标接口的标识确定所述接口类型。
作为本发明第二方面实施例的另一种可选的实现方式,所述发送单元,具体用于根据所述接口类型确定向所述目标接口发送所述目标测试数据时所采用的目标格式,以及当所述目标格式为协议缓存格式时,则将所述目标测试数据的当前格式转换成所述协议缓存格式,将格式转换后的所述目标测试数据发送给所述目标接口;或者,当所述目标格式为明文格式时,则将所述目标测试数据直接发送给所述目标接口。
作为本发明第二方面实施例的另一种可选的实现方式,所述目标接口为测试接口,所述请求接收模块,还用于接收所述测试接口发送的用于对第三方服务器进行测试的测试请求;
所述的基于Mock的测试装置,还包括:
场景构建模块,用于根据所述测试请求模拟所述第三方服务器的异常测试场景;
所述发送模块,还用于将在所述异常测试场景下产生的测试数据作为所述目标测试数据发送给所述测试接口。
本发明实施例的基于Mock的测试装置,通过接收目标接口发送的用于请求获取被测服务模块的测试数据的数据请求,其中,该数据请求中携带用于标识所述被测服务模块的服务标识符,从数据请求中获取服务标识符的取值,从本地数据库中获取与该服务标识符的取值对应的目标测试数据,将该目标测试数据发送给目标接口。本实施例中,在本地数据库中可以预先为不同的服务模块设置有测试数据,使得Mock服务器可以为接口提供与被测服务模块对应的稳定的测试数据,保证了获取到的测试数据符合下一级服务模块的预期,进而不对下一级服务模块的测试结果造成误差,使得各服务模块的自动化测试更加独立,使得测试结果更加准确。
为达上述目的,本发明第三方面实施例提出了一种服务器,包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述服务器的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于以下步骤:
接收目标接口发送的用于请求获取被测服务模块的测试数据的数据请求;所述数据请求中携带用于标识所述被测服务模块的服务标识符;
从所述数据请求中获取所述服务标识符的取值;
从本地数据库中获取与所述服务标识符的取值对应的目标测试数据;
将所述目标测试数据发送给所述目标接口。
为了实现上述目的,本发明第四方面实施例提出了一种非临时性计算机可读存储介质,当所述存储介质中的指令由服务器端的处理器被执行时,使得服务器端能够执行一种基于Mock的测试方法,所述方法包括:
接收目标接口发送的用于请求获取被测服务模块的测试数据的数据请求;所述数据请求中携带用于标识所述被测服务模块的服务标识符;
从所述数据请求中获取所述服务标识符的取值;
从本地数据库中获取与所述服务标识符的取值对应的目标测试数据;
将所述目标测试数据发送给所述目标接口。
为了实现上述目的,本发明第五方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行一种基于Mock的测试方法,包括:
接收目标接口发送的用于请求获取被测服务模块的测试数据的数据请求;所述数据请求中携带用于标识所述被测服务模块的服务标识符;
从所述数据请求中获取所述服务标识符的取值;
从本地数据库中获取与所述服务标识符的取值对应的目标测试数据;
将所述目标测试数据发送给所述目标接口。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例所提供的一种基于Mock的测试方法的流程示意图;
图2为本发明实施例所提供的应用示意图;
图3为本发明实施例所提供的另一种基于Mock的测试方法的流程示意图;
图4为本发明实施例所提供的一种根据接口类型向目标接口发送目标测试数据的流程示意图;
图5为本发明实施例所提供的另一种基于Mock的测试方法的流程示意图;
图6为本发明实施例所提供的一种基于Mock的测试装置的结构示意图;
图7为本发明实施例所提供的另一种基于Mock的测试装置的结构示意图;
图8为本发明实施例所提供的一种服务器的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的基于Mock的测试方法及装置。
图1为本发明实施例所提供的一种基于Mock的测试方法的流程示意图。如图1所示,该基于Mock的测试方法包括以下步骤:
S101、接收目标接口发送的用于获取测试数据的数据请求;所述数据请求中携带用于标识被测服务模块的服务标识符。
在通过自动化测试框架对Linux后台服务系统测试的过程中,经常可以通过接口调用其他服务模块的数据进行测试。实际应用中,往往需要被调用的服务模块反馈给接口的数据相对固定,以方便构造数据和/或做异常测试,从而可以保证测试结果的准确性。为了使被测的服务模块能够向接口反馈固定的数据,可以构建一个Mock桩程序,通过该Mock桩程序来模拟或者向接口提供测试数据。
本实施例中,该基于Mock的测试方法的执行主体可以为模拟服务器(MockServer),此处称为Mock服务器。该基于Mock的测试方法可以应用在商业服务端,用于对各种商业服务的系统进行自动化测试。
Mock服务器可以接收目标接口发送的数据请求,该数据请求用于请求获取被测服务模块的测试数据。由于Mock服务器可以支持GET请求和POST请求的特点,因此,该数据请求可以为GET请求,也可以为POST请求,本实施例中,Mock服务器具有较强的通用性,可扩展性较强。
进一步地,在该数据请求中携带有被测服务模块的服务标识符。本实施例中,该服务标识符可以为数据请求中的一个特定的字段,例如,当数据请求为GET请求/POST请求时,该服务标识符可以为GET请求/POST请求的path,通过该path可以确定具体的被测服务模块。
S102、从数据请求中获取服务标识符的取值。
本实施例中,为了区分不同的服务模块,可以预先为服务标识符设置不同的取值,通过服务标识符的取值可以识别出具体的服务模块。服务标识符的取值可以至少包括:bs、ts和t。例如,bs可以为一个服务模块的名称缩写。
需要说明的是,服务标识符的具体取值可以根据实际需求设置,取值可以为字符,也可以为数值,此处不进行限制。
在获取到数据请求后,Mock服务器可以对数据请求进行解析,从中提取出特定字段即服务标识符的具体取值。例如,该服务标识符的具体取值可以为ts。
S103、从本地数据库中获取与服务标识符的取值对应的目标测试数据。
为了能够保证接口从上一级服务模块获取到的测试数据,可以符合下一级服务模块的预期,从而保证该测试数据不会对下一级服务模块产生较大的偏差,本实施例中,可以预先在Mock服务器的本地数据库中存储为各个服务模块设置的测试数据,其中,这些测试数据为预先根据测试需求编写的符合测试预期的数据。
具体地,当从数据请求中提取出服务标识符的取值后,Mock服务器可以根据该服务标识符在本地数据库中进行查找,获取与该服务标识符的取值对应的数据,该数据此处称为目标测试数据。
例如,在本地数据库中可以按照服务器标识符的取值,为不同的服务模块设置一个以取值为标识或者后缀的文件,在该文件中存储有服务模块的具体数据。比方,当服务标识符的取值为bs时,Mock服务器可以在本地数据库中查找携带有bs的文件,然后从该文件中读取出具体数据,读取到的数据即为目标测试数据。
S104、将目标测试数据发送给目标接口。
在获取到目标测试数据后,就可以将目标测试数据发送给目标接口,以便于用户或者测试人员来了解被测服务模块的性能。例如,目标接口可以为用户界面(UserInterface,简称UI)的接口,在接收到Mock服务器反馈的目标测试数据后,就可以将目标测试数据在UI上进行显示,用户或者测试人员可以在UI上了解被测服务模块的性能。
可选地,为了便于对故障的排查,本实施例中,Mock服务器可以记录每一次数据请求的处理过程中产生的数据,形成一个完整的日志(log),进一步地,在向目标接口发送目标测试数据后,Mock服务器输出一个这个完整的日志,便于用户或者测试人员了解测试中的问题。如图2所示,为本发明实施例提供的一个日志的示意图。
本实施例提供的基于Mock的测试方法,通过接收目标接口发送的用于请求获取被测服务模块的测试数据的数据请求,其中,该数据请求中携带用于标识所述被测服务模块的服务标识符,从数据请求中获取服务标识符的取值,从本地数据库中获取与该服务标识符的取值对应的目标测试数据,将该目标测试数据发送给目标接口。本实施例中,在本地数据库中可以预先为不同的服务模块设置有测试数据,使得Mock服务器可以为接口提供与被测服务模块对应的稳定的测试数据,保证了获取到的测试数据符合下一级服务模块的预期,进而不对下一级服务模块的测试结果造成误差,使得各服务模块的自动化测试更加独立,使得测试结果更加准确。
图3为本发明实施例提供的另一种基于Mock的测试方法的流程示意图。如图3所示,该基于Mock的测试方法包括以下步骤:
S201、接收目标接口发送的用于获取测试数据的数据请求;所述数据请求中携带用于标识被测服务模块的服务标识符。
S202、从数据请求中获取服务标识符的取值。
S203、从本地数据库中获取与服务标识符的取值对应的目标测试数据。
关于S201~S203的具体介绍,可参见上述实施例中相关内容的记载,此处不再赘述。
S204、获取目标接口的接口类型。
实际应用中,Mock服务器可以接收不同的接口发送的数据请求,其中,不同的接口可以为系统的内部接口,也可以为与第三方对接的外部接口。Mock服务器可以根据从数据请求中获取到目标接口的标识。本实施例中,可以预先为Mock服务器设置配置信息,在该配置信息中设置有接口标识与接口类型之间的对应关系。在获取到目标接口的标识后,Mock服务器可以在上述对应关系中查询与该目标接口的标识对应的接口类型。
S205、根据接口类型向目标接口发送目标测试数据。
本实施例中,不同的接口类型可以能采用不同的方式发送目标测试数据。因此,在获取到目标接口的接口类型后,Mock服务器可以采用与该接口类型所要求的方式向目标接口发送目标测试数据。
如图4所示,该根据接口类型向目标接口发送目标测试数据的具体过程:
S301、根据接口类型确定向目标接口发送目标测试数据时所采用的目标格式。
本实施例中,针对不同的接口类型,Mock服务器可以在向目标接口发送目标测试数据时采用不同的格式。具体所采用的格式可以为明文格式,也可以为协议缓存(protocolbuffer,简称pb)格式,其中,协议缓存格式为一种数据交换的格式,通常用于分布式应用之间的数据通信或者异构环境下的数据交换。
本实施例中,可以在配置信息中进一步地为不同的接口类型设置不同的格式,在获取到目标接口的接口类型后,Mock服务器可以判断向目标接口发送目标测试数据时所采用的目标格式是明文格式还是协议缓存格式。如果采用的目标格式为明文格式,则执行S302;而如果采用的目标格式为协议缓存格式,则执行S303~S304。
S302、当目标格式为明文格式时,则将目标测试数据直接发送给目标接口。
当目标接口为系统的内部接口时,由于不需要向系统外部传输目标测试数据,目标测试数据的传输实在系统内部进行,从而数据传输的安全性较高,因此,Mock服务器可以采用明文格式向目标接口直接发送目标测试数据。
S303、当目标格式为协议缓存格式时,则将目标测试数据的当前格式转换成所述协议缓存格式。
在判断出向目标接口发送目标测试数据时所采用的目标格式为协议缓存格式时,则需要对目标测试数的格式进行转换,即将目标测试数据的当前格式转换成协议缓存格式。
S304、将格式转换后的目标测试数据发送给目标接口。
进一步地,在格式转换完成后,将转换后的目标测试数据发送给目标接口。
本实施例中,在本地数据库中可以预先为不同的服务模块设置有测试数据,使得Mock服务器可以为接口提供与被测服务模块对应的稳定的测试数据,保证了获取到的测试数据符合下一级服务模块的预期,进而不对下一级服务模块的测试结果造成误差,使得各服务模块的自动化测试更加独立,使得测试结果更加准确。而且Mock服务器可以支持明文格式和pb格式的数据交互,使其测试的通用性较高。
图5为本发明实施例提供的另一种基于Mock的测试方法的流程示意图。本实施例中,Mock服务器可以模拟第三方服务器的异常测试场景,当目标接口为一个用于对第三方服务器进行测试的测试接口时,在上述实施例的基础之上,该基于Mock的测试方法还包括以下步骤:
S401、接收测试接口发送的用于对第三方服务器进行测试的测试请求。
实际应用中,第三方服务器中的一些异常测试场景下的数据,无法提供给用于对第三方服务器进行测试的测试接口。本实施例中,为了能够全面地对第三方服务器进行测试,可以通过Mock服务器来构建第三方服务器的一些异常测试场景。具体地,Mock服务器可以接收目标接口即测试接口发送的测试请求,该测试请求用于请求对第三方服务器的异常测试场景进行测试。其中,测试请求中可以包括测试要求等信息。
S402、根据测试请求模拟第三方服务器的异常测试场景。
在接收到测试请求后,Mock服务器可以根据该测试请求来模拟第三方服务器器,即Mock服务器可以根据测试请求中的测试要求,来构建第三方服务器的异常测试场景。
S403、将在异常测试场景下产生的测试数据作为目标测试数据发送给测试接口。
具体地,在构建完成第三方服务器的异常测试场景后,Mock服务器就可以模拟在构建的异常测试场景下第三方服务器的处理逻辑,经过处理逻辑的处理后,Mock服务器可以得到第三方服务器在该异常测试场景下产生的测试数据。进一步地,Mock服务器将该测试数据作为目标测试数据发送给目标接口。目标接口可以将目标测试数据推送给用户或者测试人员,以便于了解异常测试场景下第三方服务器存在的问题,以便于完善第三方服务器。
图6为本发明实施例所提供的一种基于Mock的测试装置的结构示意图。如图6所示,该基于Mock的测试装置包括:请求接收模块11、第一获取模块12、第二获取模块13和发送模块14。
其中,请求接收模块11,用于接收目标接口发送的用于请求获取被测服务模块的测试数据的数据请求;所述数据请求中携带用于标识所述被测服务模块的服务标识符。
第一获取模块12,用于从所述数据请求中获取所述服务标识符的取值。
第二获取模块13,用于从本地数据库中获取与所述服务标识符的取值对应的目标测试数据。
发送模块14,用于将所述目标测试数据发送给所述目标接口。
在图6的基础之上,图7为本发明实施例提供另一种基于Mock的测试装置。该基于Mock的测试装置中的发送模块14,包括:获取单元141和发送单元142。
其中,获取单元141,用于获取所述目标接口的接口类型。
发送单元142,用于根据所述接口类型向所述目标接口发送所述目标测试数据。
进一步地,获取单元141,具体用于从所述数据请求中获取所述目标接口的标识,根据所述目标接口的标识确定所述接口类型。
进一步地,发送单元142,具体用于根据所述接口类型确定向所述目标接口发送所述目标测试数据时所采用的目标格式,以及当所述目标格式为协议缓存格式时,则将所述目标测试数据的当前格式转换成所述协议缓存格式,将格式转换后的所述目标测试数据发送给所述目标接口;或者,当所述目标格式为明文格式时,则将所述目标测试数据直接发送给所述目标接口。
进一步地,当所述目标接口为测试接口时,请求接收模块11,还用于接收所述测试接口发送的用于对第三方服务器进行测试的测试请求。
所述的基于Mock的测试装置,还包括:
场景构建模块15,用于根据所述测试请求模拟所述第三方服务器的异常测试场景。
发送模块14,还用于将在所述异常测试场景下产生的测试数据作为所述目标测试数据发送给所述测试接口。
图8为本发明实施例提供的一种服务器的结构示意图,可以实现本发明图1和图3~图5所示实施例的流程,如图8所示,上述服务器可以包括:壳体21、处理器22、存储器23、电路板24和电源电路25,其中,电路板24安置在壳体21围成的空间内部,处理器22和存储器23设置在电路板24上;电源电路25,用于为上述服务器的各个电路或器件供电;存储器23用于存储可执行程序代码;处理器22通过读取存储器23中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例所述的基于Mock的测试方法。
处理器22对上述步骤的具体执行过程以及处理器22通过运行可执行程序代码来进一步执行的步骤,可以参见本发明图1和图3~图5所示实施例的描述,在此不再赘述。
本实施例中,在本地数据库中可以预先为不同的服务模块设置有测试数据,使得Mock服务器可以为接口提供与被测服务模块对应的稳定的测试数据,保证了获取到的测试数据符合下一级服务模块的预期,进而不对下一级服务模块的测试结果造成误差,使得各服务模块的自动化测试更加独立,使得测试结果更加准确。而且Mock服务器可以支持明文格式和pb格式的数据交互,使其测试的通用性较高。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种基于Mock的测试方法,其特征在于,所述方法由Mock服务器执行,所述方法包括:
接收目标接口发送的用于请求获取被测服务模块的测试数据的数据请求;
所述数据请求中携带用于标识所述被测服务模块的服务标识符;
从所述数据请求中获取所述服务标识符的取值;
从本地数据库中获取与所述服务标识符的取值对应的目标测试数据;
将所述目标测试数据发送给所述目标接口。
2.根据权利要求1所述的基于Mock的测试方法,其特征在于,所述将所述目标测试数据发送给所述目标接口,包括:
获取所述目标接口的接口类型;
根据所述接口类型向所述目标接口发送所述目标测试数据。
3.根据权利要求2所述的基于Mock的测试方法,其特征在于,所述获取所述目标接口的接口类型,包括:
从所述数据请求中获取所述目标接口的标识;
根据所述目标接口的标识确定所述接口类型。
4.根据权利要求3所述的基于Mock的测试方法,其特征在于,所述根据所述接口类型向所述目标接口发送所述目标测试数据,包括:
根据所述接口类型确定向所述目标接口发送所述目标测试数据时所采用的目标格式;
当所述目标格式为协议缓存格式时,则将所述目标测试数据的当前格式转换成所述协议缓存格式;
将格式转换后的所述目标测试数据发送给所述目标接口;或者,
当所述目标格式为明文格式时,则将所述目标测试数据直接发送给所述目标接口。
5.根据权利要求1-4任一项所述的基于Mock的测试方法,其特征在于,所述目标接口为测试接口,所述方法还包括:
接收所述测试接口发送的用于对第三方服务器进行测试的测试请求;
根据所述测试请求模拟所述第三方服务器的异常测试场景;
将在所述异常测试场景下产生的测试数据作为所述目标测试数据发送给所述测试接口。
6.一种基于Mock的测试装置,其特征在于,包括:
请求接收模块,用于接收目标接口发送的用于请求获取被测服务模块的测试数据的数据请求;所述数据请求中携带用于标识所述被测服务模块的服务标识符;
第一获取模块,用于从所述数据请求中获取所述服务标识符的取值;
第二获取模块,用于从本地数据库中获取与所述服务标识符的取值对应的目标测试数据;
发送模块,用于将所述目标测试数据发送给所述目标接口。
7.根据权利要求6所述的基于Mock的测试装置,其特征在于,所述发送模块,包括:
获取单元,用于获取所述目标接口的接口类型;
发送单元,用于根据所述接口类型向所述目标接口发送所述目标测试数据。
8.根据权利要求7所述的基于Mock的测试装置,其特征在于,所述获取单元,具体用于从所述数据请求中获取所述目标接口的标识,根据所述目标接口的标识确定所述接口类型。
9.根据权利要求8所述的基于Mock的测试装置,其特征在于,所述发送单元,具体用于根据所述接口类型确定向所述目标接口发送所述目标测试数据时所采用的目标格式,以及当所述目标格式为协议缓存格式时,则将所述目标测试数据的当前格式转换成所述协议缓存格式,将格式转换后的所述目标测试数据发送给所述目标接口;或者,当所述目标格式为明文格式时,则将所述目标测试数据直接发送给所述目标接口。
10.根据权利要求6-9任一项所述的基于Mock的测试装置,其特征在于,所述目标接口为测试接口,所述请求接收模块,还用于接收所述测试接口发送的用于对第三方服务器进行测试的测试请求;
所述的基于Mock的测试装置,还包括:
场景构建模块,用于根据所述测试请求模拟所述第三方服务器的异常测试场景;
所述发送模块,还用于将在所述异常测试场景下产生的测试数据作为所述目标测试数据发送给所述测试接口。
CN201710420165.8A 2017-06-06 2017-06-06 基于Mock的测试方法、装置及服务器 Pending CN107329890A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710420165.8A CN107329890A (zh) 2017-06-06 2017-06-06 基于Mock的测试方法、装置及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710420165.8A CN107329890A (zh) 2017-06-06 2017-06-06 基于Mock的测试方法、装置及服务器

Publications (1)

Publication Number Publication Date
CN107329890A true CN107329890A (zh) 2017-11-07

Family

ID=60194220

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710420165.8A Pending CN107329890A (zh) 2017-06-06 2017-06-06 基于Mock的测试方法、装置及服务器

Country Status (1)

Country Link
CN (1) CN107329890A (zh)

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108427644A (zh) * 2018-03-27 2018-08-21 深圳市买买提信息科技有限公司 服务测试方法、服务测试系统及服务测试装置
CN108563558A (zh) * 2018-02-26 2018-09-21 南京粤讯电子科技有限公司 一种程序测试方法、测试桩系统以及装置
CN108563575A (zh) * 2018-04-16 2018-09-21 百度在线网络技术(北京)有限公司 应用程序测试方法、装置、终端及计算机可读存储介质
CN108694124A (zh) * 2018-06-19 2018-10-23 链家网(北京)科技有限公司 一种基于Mock的房产交易系统测试数据构造方法及系统
CN108897691A (zh) * 2018-06-29 2018-11-27 百度在线网络技术(北京)有限公司 基于接口模拟服务的数据处理方法、装置、服务器和介质
CN109101430A (zh) * 2018-08-24 2018-12-28 阿里巴巴集团控股有限公司 测试方法、装置和设备
CN109271325A (zh) * 2018-10-26 2019-01-25 携程旅游网络技术(上海)有限公司 应用的测试方法、系统、电子设备和存储介质
CN109324959A (zh) * 2018-08-13 2019-02-12 中国平安人寿保险股份有限公司 一种自动转移数据的方法、服务器及计算机可读存储介质
CN109446063A (zh) * 2018-09-18 2019-03-08 深圳壹账通智能科技有限公司 接口测试方法、装置、计算机设备和存储介质
CN109684198A (zh) * 2018-11-13 2019-04-26 平安科技(深圳)有限公司 待测试数据获取方法、装置、介质、电子设备
CN109726117A (zh) * 2018-11-15 2019-05-07 北京奇艺世纪科技有限公司 一种Mock测试方法、装置、服务器及电子设备
CN110083533A (zh) * 2019-04-16 2019-08-02 贝壳技术有限公司 基于Mock服务的数据处理方法及装置
CN110147326A (zh) * 2019-05-23 2019-08-20 四川新网银行股份有限公司 基于Redis数据库的微服务自动化测试方法
CN110457187A (zh) * 2019-06-28 2019-11-15 武汉迎风聚智科技有限公司 基于备份测试数据可便捷运行的tpc-e测试方法及测试服务器
CN110580224A (zh) * 2019-09-20 2019-12-17 中国银行股份有限公司 一种系统测试方法、装置及设备
CN110765024A (zh) * 2019-10-29 2020-02-07 百度在线网络技术(北京)有限公司 模拟测试方法、装置、电子设备和计算机可读存储介质
CN111124873A (zh) * 2018-10-31 2020-05-08 北京国双科技有限公司 一种Mock数据返回方法及装置
CN111209202A (zh) * 2020-01-06 2020-05-29 北京字节跳动网络技术有限公司 终端应用测试方法和装置
CN111382062A (zh) * 2018-12-30 2020-07-07 贝壳技术有限公司 房产交易系统和外部机构业务系统的联调测试方法及装置
CN111782535A (zh) * 2020-06-30 2020-10-16 京东数字科技控股股份有限公司 测试方法及装置
CN111831552A (zh) * 2020-06-08 2020-10-27 南通大学 一种对实时用户行为系统的自动化测试方法
CN111858335A (zh) * 2020-07-20 2020-10-30 杭州溪塔科技有限公司 一种区块链sdk测试方法和装置
CN112015651A (zh) * 2020-08-28 2020-12-01 北京互金新融科技有限公司 数据处理方法及装置
CN112162915A (zh) * 2020-08-27 2021-01-01 杭州大搜车汽车服务有限公司 一种测试数据生成方法、装置、设备及存储介质
CN112306864A (zh) * 2020-10-19 2021-02-02 北京健康之家科技有限公司 基于微服务的Mock测试方法和系统、存储介质、计算设备
CN112527637A (zh) * 2020-12-02 2021-03-19 成都新希望金融信息有限公司 数据管理方法、装置、服务器及存储介质
CN113050923A (zh) * 2021-04-21 2021-06-29 中国工商银行股份有限公司 前端接口数据模拟方法、装置及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8627296B1 (en) * 2010-09-15 2014-01-07 Google Inc. Unified unit and integration test with automatic mock creation
CN106021085A (zh) * 2016-05-24 2016-10-12 北京金山安全软件有限公司 一种性能测试方法、装置及数据服务器
CN106407123A (zh) * 2016-11-09 2017-02-15 合网络技术(北京)有限公司 一种服务器接口的自动化测试方法及装置
CN106528400A (zh) * 2016-09-22 2017-03-22 深圳峰创智诚科技有限公司 Mock测试方法和装置
CN106648945A (zh) * 2016-09-30 2017-05-10 北京金山安全软件有限公司 一种接口数据测试方法、装置及电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8627296B1 (en) * 2010-09-15 2014-01-07 Google Inc. Unified unit and integration test with automatic mock creation
CN106021085A (zh) * 2016-05-24 2016-10-12 北京金山安全软件有限公司 一种性能测试方法、装置及数据服务器
CN106528400A (zh) * 2016-09-22 2017-03-22 深圳峰创智诚科技有限公司 Mock测试方法和装置
CN106648945A (zh) * 2016-09-30 2017-05-10 北京金山安全软件有限公司 一种接口数据测试方法、装置及电子设备
CN106407123A (zh) * 2016-11-09 2017-02-15 合网络技术(北京)有限公司 一种服务器接口的自动化测试方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
朱士明等: "《计算机网络及应用》", 31 January 2012, 北京理工大学出版社 *

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108563558A (zh) * 2018-02-26 2018-09-21 南京粤讯电子科技有限公司 一种程序测试方法、测试桩系统以及装置
CN108427644A (zh) * 2018-03-27 2018-08-21 深圳市买买提信息科技有限公司 服务测试方法、服务测试系统及服务测试装置
CN108563575B (zh) * 2018-04-16 2019-12-10 百度在线网络技术(北京)有限公司 应用程序测试方法、装置、终端及计算机可读存储介质
CN108563575A (zh) * 2018-04-16 2018-09-21 百度在线网络技术(北京)有限公司 应用程序测试方法、装置、终端及计算机可读存储介质
CN108694124A (zh) * 2018-06-19 2018-10-23 链家网(北京)科技有限公司 一种基于Mock的房产交易系统测试数据构造方法及系统
CN108897691A (zh) * 2018-06-29 2018-11-27 百度在线网络技术(北京)有限公司 基于接口模拟服务的数据处理方法、装置、服务器和介质
CN108897691B (zh) * 2018-06-29 2022-02-15 百度在线网络技术(北京)有限公司 基于接口模拟服务的数据处理方法、装置、服务器和介质
CN109324959A (zh) * 2018-08-13 2019-02-12 中国平安人寿保险股份有限公司 一种自动转移数据的方法、服务器及计算机可读存储介质
CN109324959B (zh) * 2018-08-13 2024-02-09 中国平安人寿保险股份有限公司 一种自动转移数据的方法、服务器及计算机可读存储介质
CN109101430A (zh) * 2018-08-24 2018-12-28 阿里巴巴集团控股有限公司 测试方法、装置和设备
CN109101430B (zh) * 2018-08-24 2022-08-09 创新先进技术有限公司 测试方法、装置和设备
CN109446063A (zh) * 2018-09-18 2019-03-08 深圳壹账通智能科技有限公司 接口测试方法、装置、计算机设备和存储介质
CN109271325A (zh) * 2018-10-26 2019-01-25 携程旅游网络技术(上海)有限公司 应用的测试方法、系统、电子设备和存储介质
CN111124873A (zh) * 2018-10-31 2020-05-08 北京国双科技有限公司 一种Mock数据返回方法及装置
CN109684198A (zh) * 2018-11-13 2019-04-26 平安科技(深圳)有限公司 待测试数据获取方法、装置、介质、电子设备
CN109684198B (zh) * 2018-11-13 2024-03-29 平安科技(深圳)有限公司 待测试数据获取方法、装置、介质、电子设备
CN109726117A (zh) * 2018-11-15 2019-05-07 北京奇艺世纪科技有限公司 一种Mock测试方法、装置、服务器及电子设备
CN111382062B (zh) * 2018-12-30 2023-09-15 贝壳技术有限公司 房产交易系统和外部机构业务系统的联调测试方法及装置
CN111382062A (zh) * 2018-12-30 2020-07-07 贝壳技术有限公司 房产交易系统和外部机构业务系统的联调测试方法及装置
CN110083533A (zh) * 2019-04-16 2019-08-02 贝壳技术有限公司 基于Mock服务的数据处理方法及装置
CN110147326B (zh) * 2019-05-23 2023-05-26 四川新网银行股份有限公司 基于Redis数据库的微服务自动化测试方法
CN110147326A (zh) * 2019-05-23 2019-08-20 四川新网银行股份有限公司 基于Redis数据库的微服务自动化测试方法
CN110457187A (zh) * 2019-06-28 2019-11-15 武汉迎风聚智科技有限公司 基于备份测试数据可便捷运行的tpc-e测试方法及测试服务器
CN110580224A (zh) * 2019-09-20 2019-12-17 中国银行股份有限公司 一种系统测试方法、装置及设备
CN110765024A (zh) * 2019-10-29 2020-02-07 百度在线网络技术(北京)有限公司 模拟测试方法、装置、电子设备和计算机可读存储介质
CN110765024B (zh) * 2019-10-29 2023-08-29 百度在线网络技术(北京)有限公司 模拟测试方法、装置、电子设备和计算机可读存储介质
CN111209202A (zh) * 2020-01-06 2020-05-29 北京字节跳动网络技术有限公司 终端应用测试方法和装置
CN111831552A (zh) * 2020-06-08 2020-10-27 南通大学 一种对实时用户行为系统的自动化测试方法
CN111782535A (zh) * 2020-06-30 2020-10-16 京东数字科技控股股份有限公司 测试方法及装置
CN111782535B (zh) * 2020-06-30 2024-05-17 京东科技控股股份有限公司 测试方法及装置
CN111858335A (zh) * 2020-07-20 2020-10-30 杭州溪塔科技有限公司 一种区块链sdk测试方法和装置
CN112162915A (zh) * 2020-08-27 2021-01-01 杭州大搜车汽车服务有限公司 一种测试数据生成方法、装置、设备及存储介质
CN112015651A (zh) * 2020-08-28 2020-12-01 北京互金新融科技有限公司 数据处理方法及装置
CN112015651B (zh) * 2020-08-28 2023-10-27 北京互金新融科技有限公司 数据处理方法及装置
CN112306864A (zh) * 2020-10-19 2021-02-02 北京健康之家科技有限公司 基于微服务的Mock测试方法和系统、存储介质、计算设备
CN112527637A (zh) * 2020-12-02 2021-03-19 成都新希望金融信息有限公司 数据管理方法、装置、服务器及存储介质
CN113050923A (zh) * 2021-04-21 2021-06-29 中国工商银行股份有限公司 前端接口数据模拟方法、装置及系统

Similar Documents

Publication Publication Date Title
CN107329890A (zh) 基于Mock的测试方法、装置及服务器
US7877732B2 (en) Efficient stress testing of a service oriented architecture based application
CN109302522A (zh) 测试方法、装置以及计算机系统和介质
CN104111885A (zh) 接口测试结果的校验方法和装置
CN109522228B (zh) 接口自动化测试数据构造方法、装置、平台及存储介质
CN106155891A (zh) 接口测试方法、接口描述数据库生成方法及装置
CN106095673A (zh) 基于web接口的自动化测试方法及系统
CN104065528A (zh) 用于分析和检验多个网络设备的功能性的方法和装置
CN108490460A (zh) 基于卫星导航中频数据库的自动化测试方法
CN110321154B (zh) 一种微服务的接口信息展示方法、装置及电子设备
CN107832207A (zh) 接口性能测试方法、装置、存储介质和计算机设备
CN107145437A (zh) 一种java注解测试方法及装置
CN109032923A (zh) 基于调用链的软件测试方法、装置、终端
CN105893227A (zh) 数据处理方法及装置
CN109101430A (zh) 测试方法、装置和设备
CN101587441A (zh) 辅助软件开发的设备、方法和系统
CN107291608B (zh) 测试脚本的生成方法、接口的订阅/注册方法及装置
CN108009080B (zh) 一种代码扫描工具的评估方法及装置
CN110287069A (zh) Esb接口自动化测试方法、服务器及计算机可读存储介质
CN108021505A (zh) 数据上线方法、装置和计算机设备
CN109784818A (zh) 基于bom的产品数据处理方法、装置、设备及存储介质
CN110532779A (zh) 一种漏洞检测的方法、装置、终端及存储介质
CN116955097A (zh) 测试流程的展示方法、装置和测试流程展示系统
CN107273250A (zh) 电子化保单自动承保系统的测试方法及装置
CN109460365B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20171107