CN116244198A - 测试方法、装置、电子设备及可读存储介质 - Google Patents

测试方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN116244198A
CN116244198A CN202310226781.5A CN202310226781A CN116244198A CN 116244198 A CN116244198 A CN 116244198A CN 202310226781 A CN202310226781 A CN 202310226781A CN 116244198 A CN116244198 A CN 116244198A
Authority
CN
China
Prior art keywords
call
sub
parameters
request
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
CN202310226781.5A
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.)
Alibaba China Co Ltd
Original Assignee
Alibaba 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 Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202310226781.5A priority Critical patent/CN116244198A/zh
Publication of CN116244198A publication Critical patent/CN116244198A/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/3684Test management for test design, e.g. generating new test cases
    • 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)
  • Telephonic Communication Services (AREA)

Abstract

本公开涉及测试技术领域,具体涉及一种测试方法、装置、电子设备及可读存储介质,所述方法包括:获取服务请求,服务请求包括请求标识;获取与被测服务对应的主调用的入参,并发起主调用;获取与主调用对应的子调用的入参,并根据子调用的入参获取模拟数据;根据模拟数据获取子调用的出参以及主调用的出参,并根据请求标识记录主调用的入参及出参、子调用的入参及出参。该方案可以确保所记录的数据可以根据请求标识进行查询,从而确保所查询到的数据是根据对应的服务请求请求相应服务时被记录的,以便根据查询到的数据对所发生的问题进行准确定位,从而改善了测试效果。

Description

测试方法、装置、电子设备及可读存储介质
技术领域
本公开涉及测试技术领域,具体涉及一种测试方法、装置、电子设备及可读存储介质。
背景技术
模拟测试就是在测试过程中,对于某些不容易构造或者不容易获取的真实服务,用一个虚拟服务进行替代以便测试的测试方法。其中,可以自定义虚拟服务中需要替代的调用以及该调用应返回的数据,以此来模拟真实服务与其他系统之间的各种交互功能。
相关技术中,可以在进行模拟测试时记录发送的数据以及返回的数据,以便之后根据被记录的数据对被测试对象进行问题定位等。然而申请人发现,当请求服务的次数较多时,基于上述方案记录的数据往往无法对所发生的问题进行准确定位,从而影响了测试效果。
发明内容
为了解决相关技术中的问题,本公开实施例提供一种测试方法、装置、电子设备及可读存储介质。
第一方面,本公开实施例中提供了一种测试方法,包括:
获取服务请求,服务请求包括请求标识,其中服务请求用于请求被测服务;
获取与被测服务对应的主调用的入参,并发起主调用;
获取与主调用对应的子调用的入参,并根据子调用的入参获取模拟数据;
根据模拟数据获取子调用的出参以及主调用的出参,并根据请求标识记录主调用的入参及出参、子调用的入参及出参。
第二方面,本公开实施例中提供了一种测试装置,包括:
请求获取模块,被配置为获取服务请求,服务请求包括请求标识,服务请求用于请求被测服务;
调用发起模块,被配置为获取与被测服务对应的主调用的入参,并发起主调用;
数据获取模块,被配置为获取与主调用对应的子调用的入参,并发起子调用,以获取与子调用对应的模拟数据;
数据记录模块,被配置为根据模拟数据获取子调用的出参以及主调用的出参,并根据请求标识记录主调用的入参及出参、子调用的入参及出参。
第三方面,本公开实施例提供了一种电子设备,包括存储器和处理器,其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现如第一方面或第一方面任一种实现方式中任一项所述的方法。
第四方面,本公开实施例中提供了一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现如第一方面或第一方面任一种实现方式中任一项所述的方法。
根据本公开实施例提供的技术方案,通过获取服务请求,服务请求包括请求标识;获取与被测服务对应的主调用的入参,并发起主调用;获取与主调用对应的子调用的入参,并根据子调用的入参获取模拟数据;根据模拟数据获取子调用的出参以及主调用的出参,并根据请求标识记录主调用的入参及出参、子调用的入参及出参。其中,由于请求标识用于指示服务请求所请求的被测服务,因此在查询所记录的数据时,可以根据请求标识进行查询,从而确保所查询到的数据是根据对应的服务请求请求相应服务时所记录的,以便根据查询到的数据对所发生的问题进行准确定位,从而改善了测试效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:
图1示出根据本公开的实施例的测试方法的流程图。
图2示出根据本公开的实施例的测试方法的流程图。
图3示出根据本公开的实施例的测试装置的结构框图。
图4示出根据本公开的实施例的电子设备的结构框图。
图5示出适于用来实现根据本公开实施例的方法的计算机系统的结构示意图。
具体实施方式
下文中,将参考附图详细描述本公开的示例性实施例,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施例无关的部分。
在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
在本公开中,如涉及对用户信息或用户数据的获取操作或向他人展示用户信息或用户数据的操作,则所述操作均为经用户授权、确认,或由用户主动选择的操作。
在本公开的一种实现方式中,为了便于对被测试对象进行问题定位,可以在进行模拟测试(也被称为mock测试)时记录发送的数据以及返回的数据,以便之后根据被记录的数据进行分析。示例性的,当被测试对象为某项服务时,在进行模拟测试时,可以记录主调用的入参、出参以及该主调用触发的子调用的入参、出参,其中主调用的出参以及子调用的出参是通过对模拟测试中返回的数据进行解析得到的。在模拟测试结束之后,可以根据主调用的入参进行检索,以获取所记录的主调用的入参、出参以及该次主调用触发的所有子调用的入参、出参,以便进行进一步分析。
然而申请人发现,当进行模拟测试时,同时请求服务的次数较多时,不同的服务请求的测试需求可能不同,因此在对问题进行定位时,需确定问题定位所针对的具体服务请求。考虑到在上述方案中仅记录了主调用的入参、出参以及该主调用触发的子调用的入参、出参,因此查询所记录的数据并根据所查询的数据进行问题分析时,无法确定查询到的数据包括具体哪次服务请求所反馈的数据,从而无法根据该数据对进行测试时可能发生的问题进行定位及分析,影响了测试效果。
为了解决上述问题,在本公开提供的技术方案中,通过获取服务请求,其中,服务请求包括请求标识,且该服务请求用于请求被测服务;获取与被测服务对应的主调用的入参,并发起主调用;获取与主调用对应的子调用的入参,并根据子调用的入参获取模拟数据;根据模拟数据获取子调用的出参以及主调用的出参,并根据请求标识记录主调用的入参及出参、子调用的入参及出参。其中,由于请求标识用于指示服务请求所请求的被测服务,因此在查询所记录的数据时,可以根据请求标识进行查询,从而确保所查询到的数据是根据对应的服务请求请求相应服务时所记录的,以便根据查询到的数据对所发生的问题进行准确定位,影响了测试效果改善了测试效果。
图1示出根据本公开的实施例的测试方法的流程图。如图1所示,所述测试方法包括以下步骤S101-S104:
在步骤S101中,获取服务请求。
其中,服务请求包括请求标识,且该服务请求用于请求被测服务。
在步骤S102中,获取与被测服务对应的主调用的入参,并发起主调用。
在步骤S103中,获取与主调用对应的子调用的入参,并根据子调用的入参获取模拟数据。
在步骤S104中,根据模拟数据获取子调用的出参以及主调用的出参,并根据请求标识记录主调用的入参及出参、子调用的入参及出参。
在本公开的一种实施方式中,获取服务请求,可以理解为读取事先储存的服务请求,也可以理解为接收发送的服务请求。示例性的,测试控制端可以部署有测试控制平台,测试控制平台可以通过测试控制端的显示屏展示测试控制页面,当该测试控制页面检测到相应的触发动作(例如检测到用户输入相应的测试控制指令)时,测试控制平台可以通过该测试控制端发送相应的服务请求。
在本公开的一种实施方式中,请求标识,可以被理解为用于指示与其唯一对应的服务请求。
在本公开的一种实施方式中,主调用,可以被理解为系统提供服务请求所请求的被测服务的接口方法。子调用,可以被理解为系统提供被测服务的接口方法(即主调用)被调用后,该系统中向其他系统或数据库发起的调用。
在本公开的一种实施方式中,根据子调用的入参获取模拟数据,可以被理解为根据子调用的入参在数据库中进行查找,以获取与该子调用匹配的模拟数据。也可以被理解为发送包括子调用的入参的模拟数据索取请求,并接收其他装置或系统(例如代理服务器)发送的模拟数据。
示例性的,以测试对象为酒店业务平台,且被测试的功能为下单功能为例进行说明,下单服务请求可以包括服务指示信息,该服务指示信息可以用于指示用户要求酒店业务运营方提供的具体服务,例如客房清洁服务等。酒店业务平台可以对该下单服务请求进行解析,以获取该下单服务请求的请求标识以及对应的主调用的入参,并发起主调用。酒店业务平台可以响应于该主调用向模拟测试服务器发起子调用,即向模拟测试服务器发送包括该子调用的入参的业务请求,其中,模拟测试服务器可以被理解为用于模拟酒店业务服务器的服务器或虚拟机。模拟测试服务器可以根据子调用的入参在预先获取的数据库中进行查询,并返回查询到的数据即模拟数据,该模拟数据可以被理解为包括酒店服务供应方对下单请求的反馈信息,例如该反馈信息可以用于确认酒店服务供应方是否提供该用户要求的客房清洁服务。酒店业务平台可以根据接收到的数据进行解析,以获取子调用的出参以及主调用的出参,其中该主调用的出参可以包括上述反馈信息,之后可以根据下单服务请求的请求标识记录主调用的入参及出参、子调用的入参及出参。
根据本公开实施例提供的技术方案,通过获取服务请求,并获取指示服务请求的请求标识;获取与被测服务对应的主调用的入参,并发起主调用;获取与主调用对应的子调用的入参,并根据子调用的入参获取模拟数据;根据模拟数据获取子调用的出参以及主调用的出参,并根据请求标识记录主调用的入参及出参、子调用的入参及出参。其中,由于请求标识用于指示服务请求所请求的被测服务,因此在查询所记录的数据时,可以根据请求标识进行查询,从而确保所查询到的数据是根据对应的服务请求请求相应服务时所记录的,以便根据查询到的数据对所发生的问题进行准确定位,从而改善了测试效果。
在本公开的一种实现方式中,根据子调用的入参获取模拟数据之前,方法还包括:
获取用户标识,用户标识用于指示发起服务请求的用户;
根据子调用的入参获取模拟数据,包括:
根据用户标识以及子调用的入参获取模拟数据。
根据本公开实施例提供的技术方案,通过获取用户标识,并根据用户标识以及子调用的入参获取模拟数据,可以确保在子调用的入参相同时,对不同的用户反馈的模拟数据也可以不同,并且与用户对应,从而在进行模拟匹配时实现用户隔离,丰富了测试功能,改善了测试效果。
在本公开的一种实现方式中,根据用户标识以及子调用的入参获取模拟数据,包括:
根据子调用的入参获取与用户标识对应的至少一条模拟规则,并根据子调用的入参与至少一条模拟规则进行匹配;
当子调用的入参满足至少一条模拟规则中的任一条模拟规则时,将任一条模拟规则对应的模拟数据确定为与子调用对应的模拟数据。
在本公开的一种实施方式中,模拟规则以及与模拟规则对应的模拟数据可以为预先设置的,也可以为从其他装置或系统处获取。
示例性的,仍以测试对象为酒店业务平台,且被测试的功能为下单功能为例进行说明,在对下单功能进行测试时,可以获取相应的下单服务请求,该下单服务请求可以包括相应的服务指示信息,该服务指示信息用于指示用户要求酒店业务运营方提供服务的服务类型以及具体时间段,例如服务类型可以包括更换床上用品、补充洗漱用品、清洁地面卫生等。之后可以获取相应主调用的入参,并发起主调用,与该主调用对应的子调用的入参可以包括该服务指示信息或与该服务指示信息对应的相应数据。考虑到不同的酒店服务供应方可提供服务的服务类型以及时间段不同,因此在预先设定模拟规则时,可以通过不同的用户标识对不同的酒店服务供应方进行标识,并对相应酒店服务供应方能够提供的服务类型以及时间段进行设置,即设置与每个用户标识对应的至少一条模拟规则,每条模拟规则中分别用于指示当用户要求在相应的时段提供相应的服务类型时,酒店服务供应方针对该下单服务请求的反馈信息。
根据本公开实施例提供的技术方案,通过根据子调用的入参获取与用户标识对应的至少一条模拟规则,并根据子调用的入参与至少一条模拟规则进行匹配;当子调用的入参满足至少一条模拟规则中的任一条模拟规则时,将任一条模拟规则对应的模拟数据确定为与子调用对应的模拟数据,可以简化获取匹配模拟数据的步骤,尽量减少了运算量,降低了数据处理的成本。
在本公开的一种实现方式中,根据子调用的入参获取与用户标识对应的至少一条模拟规则,包括:
根据子调用的入参、消息头以及请求方式与至少一条模拟规则进行匹配;
当子调用的入参满足至少一条模拟规则中的任一条模拟规则时,将任一条模拟规则对应的模拟数据确定为与子调用对应的模拟数据,包括:
当子调用的入参、消息头以及请求方式均满足至少一条模拟规则中的同一条模拟规则时,将任一条模拟规则对应的模拟数据确定为与子调用对应的模拟数据。
根据本公开实施例提供的技术方案,通过根据子调用的入参、消息头以及请求方式与至少一条模拟规则进行匹配;当子调用的入参、消息头以及请求方式均满足至少一条模拟规则中的同一条模拟规则时,将任一条模拟规则对应的模拟数据确定为与子调用对应的模拟数据,可以提高匹配得到的匹配模拟数据的可靠性,改善了测试效果。
在本公开的一种实现方式中,根据请求标识记录主调用的入参及出参、子调用的入参及出参之前,方法还包括:
转发服务请求,并获取被测服务的返回数据;
当子调用的入参未满足至少一条模拟规则中的任一条模拟规则时,根据返回数据数据获取子调用的出参以及主调用的出参。
在本公开的一种实施方式中,转发服务请求,可以被理解为向代理服务器转发该服务请求,以便代理服务器件将该服务请求透传至被测服务的服务响应方。
需要说明的是,可以在服务请求为特定类型的服务请求时,对其进行转发。示例性的,当服务请求是基于超文本传输协议(Hyper Text Transfer Protocol,http)的请求,或是基于高速服务框架(High-speed Service Framework,hsf)得到的请求时,考虑到测试平台可能无法处理上述两种类型的服务请求,可以对该服务请求进行转发。
根据本公开实施例提供的技术方案,当子调用的入参未满足任一模拟规则时,可以理解为预先未对该子调用对应的模拟数据进行配置,为了在这种情况下不中断测试进程,通过转发服务请求,并获取被测服务的返回数据,当子调用的入参未满足至少一条模拟规则中的任一条模拟规则时,根据返回数据数据获取子调用的出参以及主调用的出参,可以确保无论是否对相应子调用对应的模拟数据进行预先配置,均可以针对被测服务返回相应的返回数据,确保测试不会终端,从而改善了测试效果。
在本公开的一种实现方式中,根据子调用的入参与至少一条模拟规则进行匹配之前,方法还包括:
获取规则配置信息,并根据规则配置信息配置至少一条与用户标识对应的模拟规则。
在本公开的一种实施方式中,获取规则配置信息,可以被理解为读取事先储存的规则配置信息,也可以被理解为接收其他装置或系统发送的规则配置信息。示例性的,可以接收部署有测试控制平台的测试控制端发送的规则配置信息,测试控制平台可以通过该测试控制端的人机交互装置(例如键盘、鼠标、触摸屏等)获取用户输入的规则配置信息。
示例性的,仍以测试对象为酒店业务平台,且被测试的功能为下单功能为例进行说明,当下单请求中的服务指示信息用于指示用户要求酒店业务运营方提供服务的服务类型以及具体时间段时,为了便于测试方对酒店服务供应方可提供服务的服务类型以及时间段进行修改,可以接收用户方的测试人员通过测试控制端输入的规则配置信息,该规则配置信息可以用于指示对应的酒店服务供应方可提供服务的具体服务类型以及具体时间段,例如,规则配置信息可以用于指示A酒店在上午9点至下午9点之间,可以提供更换床上用品、补充洗漱用品、清洁地面卫生等类型的服务,在上午11点至下午1点、下午5点至下午8点之间可以提供送餐类型的服务。根据该规则配置信息可以对与A酒店的用户标识对应的至少一条模拟规则进行修改。
根据本公开实施例提供的技术方案,通过获取规则配置信息,并根据规则配置信息配置至少一条模拟规则,可以便于用户对模拟规则进行配置或修改,改善了测试效果。
在本公开的一种实现方式中,发起主调用,包括:
将请求标识以及用户标识写入与主调用的入参,并根据主调用的入参发起主调用;
根据子调用的入参获取模拟数据之前,方法还包括:
根据子调用的入参解析得到请求标识以及用户标识,并将请求标识以及用户标识写入与子调用的入参。
在本公开的一种实施方式中,将请求标识与用户标识写入子调用的入参,可以被理解为,通过鹰眼从线程局部变量ThreadLocal中读取请求标识与请求标识,并将读取的请求标识与用户标识写入子调用的入参中,其中ThreadLocal中的请求标识与用户标识可以为在发生主调用时通过鹰眼写入的。
根据本公开实施例提供的技术方案,通过将请求标识以及用户标识写入与主调用的入参,并根据主调用的入参发起主调用,并根据子调用的入参解析得到请求标识以及用户标识,并将请求标识以及用户标识写入与子调用的入参,可以在不影响子调用的入参的正常功能的前提下,较为方便的在后续步骤中根据需求通过解析子调用的入参获取请求标识以及用户标识,降低了处理成本。
在本公开的一种实现方式中,根据模拟数据获取子调用的出参以及主调用的出参,并根据请求标识记录主调用的入参及出参、子调用的入参及出参,包括:
根据模拟数据获取子调用的出参,并根据请求标识记录子调用的入参及出参;
根据子调用的出参获取主调用的出参,并根据请求标识记录主调用的入参及出参。
根据本公开实施例提供的技术方案,通过根据模拟数据获取子调用的出参,并根据请求标识记录子调用的入参及出参;根据子调用的出参获取主调用的出参,并根据请求标识记录主调用的入参及出参,从而将记录子调用的出参、入参与记录主调用的出参、入参通过不同的步骤实现,避免一次记录过多数据而导致记录出错,提高了所记录的数据的可靠性,改善了测试效果。
在本公开的一种实现方式中,方法还包括:
获取数据查询请求,并根据数据查询请求获取查询请求标识;
根据查询用户标识在被记录的数据中进行查询,并展示查询结果。
在本公开的一种实施方式中,获取数据查询请求,可以被理解为接收其他装置或系统发送的规则配置信息。示例性的,可以接收部署有测试控制平台的测试控制端发送的规则配置信息,测试控制平台可以通过该测试控制端的人机交互装置(例如键盘、鼠标、触摸屏等)获取用户输入的数据查询请求。
在本公开的一种实施方式中,展示查询结果,可以被理解为通过对应的人机交互装置例如显示屏,扬声器等展示该查询结果,也可以被理解为向对应的终端发送该查询结果,并通过该终端上的人机交互装置展示该查询结果。
根据本公开实施例提供的技术方案,通过获取数据查询请求,并根据数据查询请求获取查询请求标识;根据查询用户标识在被记录的数据中进行查询,并展示查询结果,可以较为方便的查询指定用户在请求指定服务时,主调用的出参、入参以及对应的子调用的出参、入参,以便进一步进行分析,从而改善了测试效果。
图2示出根据本公开的实施例的测试方法的流程图。如图1所示,所述测试方法包括以下步骤S201–S209:
在步骤S201中,通过测试控制平台获取规则配置信息。
在步骤S202中,根据规则配置信息在数据库中配置至少一条模拟规则。
在步骤S203中,获取服务请求;
其中,服务请求包括请求标识以及用户标识,请求标识用于指示服务请求所请求的被测服务,用户标识用于指示发起服务请求的用户。
在步骤S204中,转发服务请求,并获取被测服务的返回数据。
在步骤S205中,将请求标识与用户标识写入与被测服务对应的主调用的入参,并发起主调用。
在步骤S206中,确定与主调用对应的子调用,将请求标识与用户标识写入子调用的入参。
在步骤S207中,根据用户标识、子调用的入参、消息头以及请求方式与数据库中的至少一条模拟规则进行匹配。
在步骤S208中,当用户标识、子调用的入参、消息头以及请求方式均满足任一条模拟规则时,将任一条模拟规则对应的模拟数据确定为匹配模拟数据。
在步骤S209中,当用户标识、子调用的入参、消息头以及请求方式未满足任一模拟规则时,根据返回数据数据获取子调用的出参以及主调用的出参。
在步骤S210中,根据模拟数据获取子调用的出参,并根据请求标识以记录子调用的出参以及子调用的入参。
在步骤S211中,根据子调用的出参获取主调用的出参,并根据请求标识记录主调用的出参以及主调用的入参。
在步骤S212中,获取数据查询请求,并根据数据查询请求获取查询请求标识。
在步骤S213中,根据查询请求标识在被记录的数据中进行查询,并展示查询结果。
图3示出根据本公开的实施例的测试装置的结构框图。其中,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。
如图3所示,所述测试装置300包括:
请求获取模块301,被配置为获取服务请求,其中,服务请求包括请求标识,且该服务请求用于请求被测服务;
调用发起模块302,被配置为获取与被测服务对应的主调用的入参,并发起主调用;
数据获取模块303,被配置为获取与主调用对应的子调用的入参,并发起子调用,以获取与子调用对应的模拟数据;
数据记录模块304,被配置为根据模拟数据获取子调用的出参以及主调用的出参,并根据请求标识记录主调用的入参及出参、子调用的入参及出参。
根据本公开实施例提供的技术方案,通过获取服务请求,其中,服务请求包括请求标识,且该服务请求用于请求被测服务;获取与被测服务对应的主调用的入参,并发起主调用;获取与主调用对应的子调用的入参,并根据子调用的入参获取模拟数据;根据模拟数据获取子调用的出参以及主调用的出参,并根据请求标识记录主调用的入参及出参、子调用的入参及出参。其中,由于请求标识用于指示服务请求所请求的被测服务,因此在查询所记录的数据时,可以根据请求标识进行查询,从而确保所查询到的数据是根据对应的服务请求请求相应服务时所记录的,以便根据查询到的数据对所发生的问题进行准确定位,从而改善了测试效果。
本公开还公开了一种电子设备,图4示出根据本公开的实施例的电子设备的结构框图。
如图4所示,所述电子设备包括存储器和处理器,其中,存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现根据本公开的实施例的方法。
本公开实施例中提供了一种测试方法,包括:
获取服务请求,其中,服务请求包括请求标识,且该服务请求用于请求被测服务;
获取与被测服务对应的主调用的入参,并发起主调用;
获取与主调用对应的子调用的入参,并根据子调用的入参获取模拟数据;
根据模拟数据获取子调用的出参以及主调用的出参,并根据请求标识记录主调用的入参及出参、子调用的入参及出参。
在本公开的一种实现方式中,根据子调用的入参获取模拟数据之前,方法还包括:
获取用户标识,用户标识用于指示发起服务请求的用户;
根据子调用的入参获取模拟数据,包括:
根据用户标识以及子调用的入参获取模拟数据。
在本公开的一种实现方式中,根据用户标识以及子调用的入参获取模拟数据,包括:
根据子调用的入参获取与用户标识对应的至少一条模拟规则,并根据子调用的入参与至少一条模拟规则进行匹配;
当子调用的入参满足至少一条模拟规则中的任一条模拟规则时,将任一条模拟规则对应的模拟数据确定为与子调用对应的模拟数据。
在本公开的一种实现方式中,根据子调用的入参获取与用户标识对应的至少一条模拟规则,包括:
根据子调用的入参、消息头以及请求方式与至少一条模拟规则进行匹配;
当子调用的入参满足至少一条模拟规则中的任一条模拟规则时,将任一条模拟规则对应的模拟数据确定为与子调用对应的模拟数据,包括:
当子调用的入参、消息头以及请求方式均满足至少一条模拟规则中的同一条模拟规则时,将任一条模拟规则对应的模拟数据确定为与子调用对应的模拟数据。
在本公开的一种实现方式中,根据请求标识记录主调用的入参及出参、子调用的入参及出参之前,方法还包括:
转发服务请求,并获取被测服务的返回数据;
当子调用的入参未满足至少一条模拟规则中的任一条模拟规则时,根据返回数据数据获取子调用的出参以及主调用的出参。
在本公开的一种实现方式中,根据子调用的入参与至少一条模拟规则进行匹配之前,方法还包括:
获取规则配置信息,并根据规则配置信息配置至少一条与用户标识对应的模拟规则。
在本公开的一种实现方式中,发起主调用,包括:
将请求标识以及用户标识写入与主调用的入参,并根据主调用的入参发起主调用;
根据子调用的入参获取模拟数据之前,方法还包括:
根据子调用的入参解析得到请求标识以及用户标识,并将请求标识以及用户标识写入与子调用的入参。
在本公开的一种实现方式中,根据模拟数据获取子调用的出参以及主调用的出参,并根据请求标识记录主调用的入参及出参、子调用的入参及出参,包括:
根据模拟数据获取子调用的出参,并根据请求标识记录子调用的入参及出参;
根据子调用的出参获取主调用的出参,并根据请求标识记录主调用的入参及出参。
在本公开的一种实现方式中,方法还包括:
获取数据查询请求,并根据数据查询请求获取查询请求标识;
根据查询用户标识在被记录的数据中进行查询,并展示查询结果。
图5示出适于用来实现根据本公开实施例的方法的计算机系统的结构示意图。
如图5所示,计算机系统包括处理单元,其可以根据存储在只读存储器(ROM)中的程序或者从存储部分加载到随机访问存储器(RAM)中的程序而执行上述实施例中的各种方法。在RAM中,还存储有计算机系统操作所需的各种程序和数据。处理单元、ROM以及RAM通过总线彼此相连。输入/输出(I/O)接口也连接至总线。
以下部件连接至I/O接口:包括键盘、鼠标等的输入部分;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分;包括硬盘等的存储部分;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分。通信部分经由诸如因特网的网络执行通信过程。驱动器也根据需要连接至I/O接口。可拆卸介质,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器上,以便于从其上读出的计算机程序根据需要被安装入存储部分。其中,所述处理单元可实现为CPU、GPU、TPU、FPGA、NPU等处理单元。
特别地,根据本公开的实施例,上文描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行上述方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过可编程硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中电子设备或计算机系统中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (10)

1.一种测试方法,包括:
获取服务请求,所述服务请求包括请求标识,其中所述服务请求用于请求被测服务;
获取与所述被测服务对应的主调用的入参,并发起所述主调用;
获取与所述主调用对应的子调用的入参,并根据所述子调用的入参获取模拟数据;
根据所述模拟数据获取所述子调用的出参以及所述主调用的出参,并根据所述请求标识记录所述主调用的入参及出参、所述子调用的入参及出参。
2.根据权利要求1所述的测试方法,其中,所述根据所述子调用的入参获取模拟数据之前,所述方法还包括:
获取用户标识,所述用户标识用于指示发起所述服务请求的用户;
所述根据所述子调用的入参获取模拟数据,包括:
根据所述用户标识以及所述子调用的入参获取所述模拟数据。
3.根据权利要求2所述的测试方法,其中,所述根据所述用户标识以及所述子调用的入参获取所述模拟数据,包括:
根据所述子调用的入参获取与所述用户标识对应的至少一条模拟规则,并根据所述子调用的入参与所述至少一条模拟规则进行匹配;
当所述子调用的入参满足所述至少一条模拟规则中的任一条模拟规则时,将所述任一条模拟规则对应的模拟数据确定为与所述子调用对应的模拟数据。
4.根据权利要求3所述的测试方法,其中,所述根据所述子调用的入参获取与所述用户标识对应的至少一条模拟规则,包括:
根据所述子调用的入参、消息头以及请求方式与所述至少一条模拟规则进行匹配;
所述当所述子调用的入参满足所述至少一条模拟规则中的任一条模拟规则时,将所述任一条模拟规则对应的模拟数据确定为与所述子调用对应的模拟数据,包括:
当所述子调用的入参、消息头以及请求方式均满足所述至少一条模拟规则中的同一条模拟规则时,将所述同一条模拟规则对应的模拟数据确定为与所述子调用对应的模拟数据。
5.根据权利要求3所述的测试方法,其中,所述根据所述请求标识记录所述主调用的入参及出参、所述子调用的入参及出参之前,所述方法还包括:
转发所述服务请求,并获取所述被测服务的返回数据;
当所述子调用的入参未满足所述至少一条模拟规则中的任一条模拟规则时,根据所述返回数据数据获取所述子调用的出参以及所述主调用的出参。
6.根据权利要求3所述的测试方法,其中,所述发起所述主调用,包括:
将所述请求标识以及所述用户标识写入与所述主调用的入参,并根据所述主调用的入参发起所述主调用;
所述根据所述子调用的入参获取模拟数据之前,所述方法还包括:
根据所述子调用的入参解析得到所述请求标识以及所述用户标识,并将所述请求标识以及所述用户标识写入与所述子调用的入参。
7.根据权利要求1-6中任一项所述的测试方法,其中,所述根据所述模拟数据获取所述子调用的出参以及所述主调用的出参,并根据所述请求标识记录所述主调用的入参及出参、所述子调用的入参及出参,包括:
根据所述模拟数据获取所述子调用的出参,并根据所述请求标识记录所述子调用的入参及出参;
根据所述子调用的出参获取所述主调用的出参,并根据所述请求标识记录所述主调用的入参及出参。
8.一种测试装置,包括:
请求获取模块,被配置为获取服务请求,所述服务请求包括请求标识,所述服务请求用于请求被测服务;
调用发起模块,被配置为获取与所述被测服务对应的主调用的入参,并发起所述主调用;
数据获取模块,被配置为获取与所述主调用对应的子调用的入参,并发起所述子调用,以获取与所述子调用对应的模拟数据;
数据记录模块,被配置为根据所述模拟数据获取所述子调用的出参以及所述主调用的出参,并根据所述请求标识记录所述主调用的入参及出参、所述子调用的入参及出参。
9.一种电子设备,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现权利要求1-7中任一项所述的方法步骤。
10.一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现权利要求1-7中任一项所述的方法步骤。
CN202310226781.5A 2023-03-06 2023-03-06 测试方法、装置、电子设备及可读存储介质 Pending CN116244198A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310226781.5A CN116244198A (zh) 2023-03-06 2023-03-06 测试方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310226781.5A CN116244198A (zh) 2023-03-06 2023-03-06 测试方法、装置、电子设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN116244198A true CN116244198A (zh) 2023-06-09

Family

ID=86625900

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310226781.5A Pending CN116244198A (zh) 2023-03-06 2023-03-06 测试方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN116244198A (zh)

Similar Documents

Publication Publication Date Title
US10678683B2 (en) System and method for automated service layer testing and regression
US7305465B2 (en) Collecting appliance problem information over network and providing remote technical support to deliver appliance fix information to an end user
US10999333B2 (en) Contemporaneous feedback during web-conferences
CN110659206A (zh) 基于微服务的模拟架构建立方法、装置、介质及电子设备
CN111221727B (zh) 测试方法、装置、电子设备和计算机可读介质
CN110704476A (zh) 数据处理方法、装置、设备及存储介质
CN116048987A (zh) 流程业务的处理方法、装置、电子设备、系统和存储介质
US20230048310A1 (en) System and method for identifying members of a dynamic target segment
CN112749219A (zh) 数据抽取方法、装置、电子设备、存储介质及程序产品
US11615363B2 (en) Digital chat conversation and virtual agent analytics
CN113010208B (zh) 一种版本信息的生成方法、装置、设备及存储介质
CN107885872B (zh) 用于生成信息的方法和装置
KR101926855B1 (ko) 콜센터 질의응답 서비스 제공 장치
CN116737535A (zh) 接口测试方法、装置、计算机设备和存储介质
CN116244198A (zh) 测试方法、装置、电子设备及可读存储介质
CN116126684A (zh) 一种审批流程的在线测试方法、装置及可读存储介质
US20100161579A1 (en) Collaborative self-service contact architecture with automatic blog content mapping capability
CN115904527A (zh) 数据处理方法、装置、设备及介质
CN111338935B (zh) 用于联调的方法和系统
CN115422202A (zh) 业务模型的生成方法、业务数据查询方法、装置及设备
WO2021234019A1 (en) Database management methods and associated apparatus
CN109982143B (zh) 一种确定视频播放时延的方法、装置、介质及设备
CN114238155B (zh) 测试方法、测试平台、测试装置、服务器及存储介质
CN116301869B (zh) 前端页面配置管控系统、方法、设备、介质
CN114281849B (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