CN113138914B - 资源交互系统测试方法、装置、存储介质和计算机设备 - Google Patents

资源交互系统测试方法、装置、存储介质和计算机设备 Download PDF

Info

Publication number
CN113138914B
CN113138914B CN202010059976.1A CN202010059976A CN113138914B CN 113138914 B CN113138914 B CN 113138914B CN 202010059976 A CN202010059976 A CN 202010059976A CN 113138914 B CN113138914 B CN 113138914B
Authority
CN
China
Prior art keywords
test
state
service processing
interaction system
resource interaction
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.)
Active
Application number
CN202010059976.1A
Other languages
English (en)
Other versions
CN113138914A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010059976.1A priority Critical patent/CN113138914B/zh
Publication of CN113138914A publication Critical patent/CN113138914A/zh
Application granted granted Critical
Publication of CN113138914B publication Critical patent/CN113138914B/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
    • G06F11/3672Test management
    • G06F11/3676Test management for coverage analysis
    • 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

本申请涉及一种资源交互系统测试方法、装置、存储介质和计算机设备,所述方法包括:获取测试路径以及测试账户数据;根据测试路径确定至少两条测试支路,并确定各测试支路的测试初始状态和待跳转测试状态;根据测试初始状态、待跳转测试状态以及测试账户数据生成各测试支路的业务处理提示,业务处理提示包括委托请求和回包;发送业务处理提示至资源交互系统,业务处理提示用于指示资源交互系统对测试账户数据进行业务处理,得到并反馈处理结果;接收资源交互系统反馈的处理结果,根据处理结果和业务处理提示进行结果校验,得到各测试支路的测试结果。本申请提供的方案可以实现对资源交互系统的状态机模型的精确覆盖测试,提高了测试精度。

Description

资源交互系统测试方法、装置、存储介质和计算机设备
技术领域
本申请涉及计算机技术领域,特别是涉及一种资源交互系统测试方法、装置、存储介质和计算机设备。
背景技术
随着计算机技术的发展,出现了资源交互系统测试技术。资源交互系统用于连接用户及资源交换服务器,负责将用户的订单委托提交至资源交换服务器,并接收资源交换服务器的回包,在过程中实时更新用户的资源转移数据。常用的资源交互系统测试方法为通过构造用户委托请求,后端对接资源交换服务器测试环境对资源交互系统进行测试。举例说明,如图1所示,当资源交互系统为交易服务系统时,常用的测试方法为通过APP发送用户委托请求至交易服务系统,使交易服务系统通过网关向交易所模拟器发送委托请求,交易所模拟器在接收到委托请求后,通过网关返回交易所回包至交易服务系统。
然而,常用的资源交互系统测试方法需要繁琐设置测试数据,由于设定的测试数据种类和覆盖面有限,在测试时会无法精确覆盖资源交互系统中的状态机模型,从而导致测试精度低。
发明内容
基于此,有必要针对常用的资源交互系统测试方法的测试精度低的技术问题,提供一种资源交互系统测试方法、装置、存储介质和计算机设备。
一种资源交互系统测试方法,包括:
获取测试路径以及测试账户数据;
根据测试路径确定至少两条测试支路,并确定各测试支路的测试初始状态和待跳转测试状态;
根据测试初始状态、待跳转测试状态以及测试账户数据生成各测试支路的业务处理提示,业务处理提示包括委托请求和回包;
发送业务处理提示至资源交互系统,业务处理提示用于指示资源交互系统对测试账户数据进行业务处理,得到并反馈处理结果;
接收资源交互系统反馈的处理结果,根据处理结果和业务处理提示进行结果校验,得到各测试支路的测试结果。
一种资源交互系统测试装置,包括:
获取模块,用于获取测试路径以及测试账户数据;
第一处理模块,用于根据测试路径确定至少两条测试支路,并确定各测试支路的测试初始状态和待跳转测试状态;
第二处理模块,用于根据测试初始状态、待跳转测试状态以及测试账户数据生成各测试支路的业务处理提示,业务处理提示包括委托请求和回包;
发送模块,用于发送业务处理提示至资源交互系统,业务处理提示用于指示资源交互系统对测试账户数据进行业务处理,得到并反馈处理结果;
校验模块,用于接收资源交互系统反馈的处理结果,根据处理结果和业务处理提示进行结果校验,得到各测试支路的测试结果。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取测试路径以及测试账户数据;
根据测试路径确定至少两条测试支路,并确定各测试支路的测试初始状态和待跳转测试状态;
根据测试初始状态、待跳转测试状态以及测试账户数据生成各测试支路的业务处理提示,业务处理提示包括委托请求和回包;
发送业务处理提示至资源交互系统,业务处理提示用于指示资源交互系统对测试账户数据进行业务处理,得到并反馈处理结果;
接收资源交互系统反馈的处理结果,根据处理结果和业务处理提示进行结果校验,得到各测试支路的测试结果。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时实现以下步骤:
获取测试路径以及测试账户数据;
根据测试路径确定至少两条测试支路,并确定各测试支路的测试初始状态和待跳转测试状态;
根据测试初始状态、待跳转测试状态以及测试账户数据生成各测试支路的业务处理提示,业务处理提示包括委托请求和回包;
发送业务处理提示至资源交互系统,业务处理提示用于指示资源交互系统对测试账户数据进行业务处理,得到并反馈处理结果;
接收资源交互系统反馈的处理结果,根据处理结果和业务处理提示进行结果校验,得到各测试支路的测试结果。
上述资源交互系统测试方法、装置、存储介质和计算机设备,获取测试路径以及测试账户数据,通过测试路径确定测试支路,并确定测试支路的测试初始状态和待跳转测试状态,根据测试初始状态、待跳转测试状态以及测试账户数据生成各测试支路的业务处理提示,发送业务处理提示至资源交互系统,指示资源交互系统对测试账户数据进行业务处理,得到并反馈处理结果,接收资源交互系统反馈的处理结果,根据处理结果和业务处理提示进行结果校验,得到各测试支路的测试结果。整个过程,通过测试路径以及测试账户数据构造了业务处理提示,模拟委托请求和回包对资源交互系统进行测试,可以实现对资源交互系统中的状态机模型中的任意状态跳转进行测试,实现了对资源交互系统的状态机模型的精确覆盖测试,提高了测试精度。
附图说明
图1为一个实施例中资源交互系统测试方法的示意图;
图2为一个实施例中资源交互系统测试方法的应用环境图;
图3为一个实施例中资源交互系统测试方法的流程示意图;
图4为另一个实施例中资源交互系统测试方法的示意图;
图5为又一个实施例中资源交互系统测试方法的示意图;
图6为再一个实施例中资源交互系统测试方法的示意图;
图7为另一个实施例中资源交互系统测试方法的流程示意图;
图8为一个实施例中资源交互系统测试装置的结构框图;
图9为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图2为一个实施例中资源交互系统测试方法的应用环境图。参照图2,该资源交互系统测试方法应用于资源交互系统测试系统。该资源交互系统测试系统包括资源交互系统210以及服务器220。资源交互系统210和服务器220通过网络连接。服务器220获取测试路径以及测试账户数据,根据测试路径确定至少两条测试支路,并确定各测试支路的测试初始状态和待跳转测试状态,根据测试初始状态、待跳转测试状态以及测试账户数据生成各测试支路的业务处理提示,业务处理提示包括委托请求和回包,发送业务处理提示至资源交互系统210,业务处理提示用于指示资源交互系统210对测试账户数据进行业务处理,得到并反馈处理结果,接收资源交互系统210反馈的处理结果,根据处理结果和业务处理提示进行结果校验,得到各测试支路的测试结果。资源交互系统210和服务器220可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
如图3所示,在一个实施例中,提供了一种资源交互系统测试方法。本实施例主要以该方法应用于上述图2中的服务器220来举例说明。参照图3,该资源交互系统测试方法具体包括如下步骤S302至S310。
S302:获取测试路径以及测试账户数据。
其中,测试路径是指测试人员根据资源交互系统的状态机模型得到的测试顺序,与状态机模型相对应。如图4所示为资源交互系统的状态机模型,在状态机模型中包括多个订单状态,包括挂单中待成交、挂单中部分成交、已挂单待成交、已挂单部分成交等。测试人员根据状态机模型可对测试顺序进行规划,得到测试路径并输入服务器。测试账户数据包括测试账户、账户登录态等,账户登录态是指测试账户为登录状态时的数据。比如,测试账户具体可以是用于测试的模拟账户,账户登录态具体可以是用于测试的模拟登录状态。
S304:根据测试路径确定至少两条测试支路,并确定各测试支路的测试初始状态和待跳转测试状态。
其中,测试支路是指由测试路径中任意两个可连通的状态节点构成的支路,测试路径中的各状态节点与状态机模型中的各订单状态对应。比如,如图4所示,在状态机模型中,挂单中待成交至已挂单待成交可以为一条测试支路。又比如,已挂单待成交至已挂单部分成交可以为一条测试支路。再比如,挂单中待成交至已挂单部分成交可以为一条测试支路。测试初始状态是指测试支路的起始状态。比如,在挂单中待成交至已挂单待成交的测试支路中测试初始状态是挂单中待成交。又比如,在已挂单待成交至已挂单部分成交的测试支路中测试初始状态是已挂单待成交。再比如,在挂单中待成交至已挂单部分成交的测试支路中测试初始状态是挂单中待成交。待跳转测试状态是指在测试支路中与起始状态对应的最终状态。比如,在挂单中待成交至已挂单待成交的测试支路中待跳转测试状态是挂单中待成交。又比如,在已挂单待成交至已挂单部分成交的测试支路中待跳转测试状态是已挂单待成交。再比如,在挂单中待成交至已挂单部分成交的测试支路中待跳转测试状态是挂单中待成交。
在一个实施例中,根据测试路径确定至少两条测试支路,并确定各测试支路的测试初始状态和待跳转测试状态包括:
获取测试路径中的各状态节点之间的连接关系;
根据各状态节点之间的连接关系得到至少两条测试支路,并确定各测试支路的测试初始状态和待跳转测试状态。
其中,各状态节点是指测试路径中的各订单状态。比如,状态节点具体可以是挂单中待成交、已挂单待成交、已挂单部分成交等。各状态节点之间的连接关系用于表示各状态节点之间的连通性,连接关系具体可以为可连通和不可连通。比如,如图4所示,在状态机模型中可连通的状态节点之间通过带箭头的连接线连接,通过状态机模型可以看出,挂单中待成交与已挂单待成交是可连通的,撤单中全部成交和已撤单已过期部分成交是不可连通的。
服务器通过获取测试路径中各状态节点之间的连接关系,就可以知道各状态节点是可连通的还是不可连通的,从而可以通过任意两个可连通的状态节点得到一条测试支路。具体的,测试路径中任意两个可连通的状态节点都可以构成一条测试支路,服务器会遍历测试路径,得到所有的测试支路。在得到测试支路之后,服务器会根据各测试支路的起始状态确定测试初始状态,并根据各测试支路的最终状态确定待跳转测试状态。
上述实施例,通过获取测试路径中的各状态节点之间的连接关系,可以实现对测试支路的获取,并进一步确定各测试支路的测试初始状态和待跳转测试状态。
S306:根据测试初始状态、待跳转测试状态以及测试账户数据生成各测试支路的业务处理提示,业务处理提示包括委托请求和回包。
其中,业务处理提示用于指示资源交互系统对测试账户数据进行业务处理,通过业务处理提示,可对与业务处理提示对应的测试支路进行测试。具体的,业务处理提示可以是委托请求,也可以是回包。比如,如图4所示,在状态机模型中当业务处理提示为下单成功回包时,资源交互系统会根据下单成功回包对测试账户数据进行业务处理,使订单状态从挂单中待成交进行跳转,若订单状态能够从挂单中待成交跳转至已挂单待成交,则可以通过测试,若订单状态不能够从挂单中待成交跳转至已挂单待成交,则不能通过测试。委托请求是指进行业务处理的订单委托请求,具体可以是下单、改单、撤单等。回包是指与委托请求对应的反馈消息,具体可以是下单成功回包、部分成交回包、全部成交回包等。
在一个实施例中,根据测试初始状态、待跳转测试状态以及测试账户数据生成各测试支路的业务处理提示包括:
检测测试初始状态;
当测试初始状态不为预设状态机模型的初始状态时,根据测试初始状态获取历史测试用例,根据历史测试用例、待跳转测试状态以及测试账户数据生成测试支路的业务处理提示;
当测试初始状态为预设状态机模型的初始状态时,根据待跳转测试状态和测试账户数据生成测试支路的业务处理提示。
其中,预设状态机模型的初始状态是指状态机模型中最初的状态,如图4所示,具体可以为状态机模型中的INIT状态。历史测试用例是指从预设状态机模型的初始状态跳转至测试初始状态的测试用例。比如,如图4所示,当测试初始状态为已挂单部分成交时,历史测试用例是指从INIT状态到已挂单部分成交的测试用例。服务器会检测测试初始状态,当测试初始状态不为预设状态机模型中的初始状态时,根据测试初始状态获取历史测试用例,根据历史测试用例、待跳转测试状态以及测试账户数据生成测试支路的业务处理提示。其中,根据测试初始状态获取历史测试用例是指获取从预设状态机模型的初始状态跳转至测试初始状态的测试用例。当测试初始状态为预设状态机模型的初始状态时,服务器会直接根据待跳转测试状态和测试账户数据生成测试支路的业务处理提示。
上述实施例,通过对测试初始状态的检测能够实现对生成业务处理提示所需数据的确定,从而能够得到准确的业务处理提示。
S308:发送业务处理提示至资源交互系统,业务处理提示用于指示资源交互系统对测试账户数据进行业务处理,得到并反馈处理结果。
其中,处理结果包括处理返回码和处理标识,处理返回码用于确定处理结果,可以为处理成功,也可以为处理失败。处理标识是与当前业务处理对应的标识,当业务处理提示为委托请求时处理标识可以为订单标识,当业务处理提示为回包时处理标识可以为委托标识。服务器通过处理标识就可以到资源交互系统的数据库中获取待校验数据。业务处理提示包括委托请求和回包,当业务处理提示为委托请求时,资源交互系统会根据委托请求对测试账户数据进行下单、改单、撤单等处理,改变订单状态,得到处理结果和待校验数据。当业务处理提示为回包时,资源交互系统会根据回包对测试账户数据进行业务处理,改变订单状态,得到处理结果和待校验数据。
在一个实施例中,业务处理提示携带历史测试用例数据、初始测试指令以及业务处理指令,初始测试指令用于指示资源交互系统根据历史测试用例得到测试初始状态,业务处理指令用于指示资源交互系统根据测试初始状态对测试账户数据进行业务处理,得到并反馈处理结果;
或,业务处理提示携带测试初始状态数据以及业务处理指令,业务处理指令用于指示资源交互系统根据测试初始状态数据对测试账户数据进行业务处理,得到并反馈处理结果。
其中,当业务处理提示携带历史测试用例数据、初始测试指令以及业务处理指令时,初始测试指令用于指示资源交互系统根据历史测试用例与服务器进行交互得到测试初始状态,业务处理指令用于指示资源交互系统根据测试初始状态对测试账户数据进行业务处理,得到并反馈处理结果。历史测试用例数据能让资源交互系统通过与服务器交互将与测试账户数据对应的状态从预设状态机模型中的初始状态跳转至测试初始状态,在交互的过程中,服务器会不断给资源交互系统发送委托请求或者回包,让资源交互系统进行对应业务处理,从而实现准确的状态跳转。当业务处理提示携带测试初始状态数据以及业务处理指令时,业务处理指令用于指示资源交互系统根据测试初始状态数据对测试账户数据进行业务处理,得到并反馈处理结果。
具体的,资源交互系统在根据测试初始状态数据对测试账户数据进行业务处理时,会得到订单状态数据和资源转移数据,并生成处理结果,将处理结果中的处理标识、订单状态数据和资源转移数据写入预设的数据库,并反馈处理结果至服务器。
其中,当成功完成业务处理时会生成处理成功的处理结果,当未成功完成业务处理时会生成处理失败的处理结果。订单状态数据是指在资源交互系统对测试账户数据进行业务处理之后,得到的与测试账户数据对应的当前订单状态。比如,当业务处理提示为下单成功回包时,订单状态数据可以是已挂单待成交。又比如,当业务处理提示为撤单请求时,订单状态数据可以是撤单中待成交。再比如,当业务处理提示为改单请求时,订单状态数据可以是改单中待成交。资源转移数据是指在资源交互系统对测试账户数据进行业务处理之后,得到的与测试账户数据对应的账户数据。比如,资源转移数据具体可以是订单流水、委托金额/数量、冻结金额/数量、成交金额/数量、账户可用资金、账户持仓数量等。
上述实施例,业务处理提示用于指示资源交互系统对测试账户数据进行业务处理,得到并反馈处理结果,实现了对处理结果的获取。
在一个实施例中,业务处理提示还用于指示资源交互系统向预设的Mock桩发起目标委托请求,目标委托请求用于指示Mock桩返回接收成功回包消息至资源交互系统。
其中,Mock桩用于模拟与资源交互系统进行数据交换的网关,反馈接收成功回包消息给资源交互系统,Mock桩的类型可根据资源交互系统与网管服务之间的请求协议确定。比如,Mock桩具体可以是基于TCP/HTTP协议的Mock桩,将资源交互系统对接的网关的ip/port替换为Mock桩后,当资源交互系统向网关发起目标委托请求时,Mock桩会负责模拟网关返回接收成功回包消息。举例说明,如图5所示,当资源交互系统为交易服务系统时,Mock桩用于模拟网关,返回接收成功回包消息至交易服务系统。
上述实施例,业务处理提示用于指示资源交互系统向预设的Mock桩发起目标委托请求,目标委托请求用于指示Mock桩返回接收成功回包消息至资源交互系统,使资源交互系统能正确接收到成功回包消息,保证了资源交互系统的正常运行。
S310:接收资源交互系统反馈的处理结果,根据处理结果和业务处理提示进行结果校验,得到各测试支路的测试结果。
其中,结果校验是指对资源交互系统根据业务处理提示对测试账户数据进行业务处理后得到的订单状态数据和资源转移数据以及处理结果进行校验。通过比对订单状态数据、资源转移数据以及处理结果与期望校验结果,就可以实现校验。其中,期望校验结果是指服务器根据业务处理提示和预设状态机模型确定的预期正确执行结果,即当资源交互系统能正确对测试账户数据进行业务处理后得到的订单状态数据和资源转移数据以及处理结果。各测试支路的测试结果是指资源交互系统的处理结果,当资源交互系统能正确处理时,对应该测试支路的测试结果为通过测试,当资源交互系统不能正确处理时,对应该测试支路的测试结果为不通过测试。
在一个实施例中,接收资源交互系统反馈的处理结果,根据处理结果和业务处理提示进行结果校验,得到各测试支路的测试结果包括:
接收资源交互系统反馈的处理结果;
根据处理结果获取待校验数据,并根据业务处理提示确定期望校验结果;
比对待校验数据和期望校验结果,得到各测试支路的测试结果。
其中,待校验数据是指资源交互系统在对测试账户数据进行业务处理后,得到的订单状态数据和资源转移数据,由于资源交互系统在得到订单状态数据和资源转移数据后会将处理结果中的处理标识、订单状态数据和资源转移数据写入预设的数据库中,所以服务器通过处理结果中的处理标识就可以从资源交互系统的数据库中获取到待校验数据。通过比对待校验数据和期望校验结果,就可以得到各测试支路的测试结果。
上述实施例,通过处理结果获取待校验数据,并根据业务处理提示确定期望校验结果,通过比对待校验数据和期望校验结果,得到各测试支路的测试结果,实现了对各测试支路的测试结果的确定。
在一个实施例中,测试结果包括订单状态数据测试数据、返回码测试数据以及资源转移测试数据。
其中,订单状态数据测试数据通过比对待校验数据中的订单状态数据和期望校验结果中的期望订单状态数据得到。返回码测试数据通过比对待校验数据中的处理返回码和期望校验结果中的期望返回码得到。资源转移测试数据通过比对待校验数据中的资源转移数据和期望校验结果中的期望资源转移数据得到。
其中,期望订单状态数据是指服务器根据业务处理提示和预设状态机模型确定的预期订单状态。比如,在如图4所示的状态机模型中,当业务处理提示为下单成功回包且测试初始状态为挂单中待成交时,服务器会确定预期订单状态为已挂单待成交。期望返回码是指当资源交互系统正确对测试账户数据进行业务处理之后应该得到的返回码。比如,期望返回码具体可以为表示处理成功的返回码。期望资源转移数据是指服务器根据测试账户数据中的初始资源转移数据、业务处理提示和预设状态机模型确定的,当资源交互系统正确对测试账户数据进行业务处理之后应该得到的资源转移数据。比如,当资源交互系统为券商交易系统时,期望资源转移数据具体可以是订单流水、委托金额/数量、冻结金额/数量、成交金额/数量、账户可用资金、账户持仓数量等。
具体的,期望资源转移数据可由服务器通过校验公式得到。比如,当资源交互系统为券商交易系统且业务处理提示为买入委托时,校验公式可以为:委托金额=委托价格*委托数量、冻结金额(后)=冻结金额(前)+委托金额以及可用金额(后)=可用金额(前)-委托金额。又比如,当资源交互系统为券商交易系统且业务处理提示为买入成交回包时,校验公式可以为:成交金额=成交价格*成交数量、冻结金额(后)=冻结金额(前)-委托金额、可用金额(后)=可用金额(前)+(委托金额-成交金额)以及可用持仓(后)=可用持仓(前)+成交数量。
上述资源交互系统测试方法,获取测试路径以及测试账户数据,通过测试路径确定测试支路,并确定测试支路的测试初始状态和待跳转测试状态,根据测试初始状态、待跳转测试状态以及测试账户数据生成各测试支路的业务处理提示,发送业务处理提示至资源交互系统,指示资源交互系统对测试账户数据进行业务处理,得到并反馈处理结果,接收资源交互系统反馈的处理结果,根据处理结果和业务处理提示进行结果校验,得到各测试支路的测试结果。整个过程,通过测试路径以及测试账户数据构造了业务处理提示,模拟委托请求和回包对资源交互系统进行测试,可以实现对资源交互系统中的状态机模型中的任意状态跳转进行测试,实现了对资源交互系统的状态机模型的精确覆盖测试,提高了测试精度。
在一个实施例中,如图6所示,以券商交易系统测试为例来说明本申请的方案。
在进行测试时,服务器首先进行数据准备,数据准备包括获取测试路径以及测试账户数据、初始化订单以及查询账户钱券,其中,测试账户数据包括测试账户、账户登录态等。初始化订单是指服务器根据各测试支路的测试初始状态确定的测试初始状态的订单信息,具体的,服务器会获取测试路径中各状态节点之间的连接关系,根据各状态节点之间的连接关系得到两条测试支路,并确定各测试支路的测试初始状态,对测试初始状态进行检测,当测试初始状态不为预设状态机模型的初始状态时,服务器需要根据测试初始状态获取历史测试用例,根据历史测试用例和初始状态得到测试初始状态的订单信息,当测试初始状态为预设状态机模型的初始状态时,服务器直接根据初始状态得到测试初始状态的订单信息。在得到测试初始状态的订单信息之后,服务器会模拟用户委托/交易所回包(即得到业务处理提示),模拟用户委托/交易所回包包括:根据测试路径确定各测试支路的待跳转测试状态,根据测试初始状态的订单信息、待跳转测试状态以及测试账户数据生成各测试支路的用户委托/交易所回包。在得到用户委托/交易所回包后,服务器会发送用户委托/交易所回包至资源交互系统,用户委托/交易所回包用于指示资源交互系统对测试账户数据进行业务处理,得到并反馈处理结果,处理结果中包括处理返回码和处理标识。服务器在接收到资源交互系统反馈的处理结果后,会对处理结果中的返回码进行返回码校验,并通过处理标识获取资源交互系统进行业务处理后得到的账户钱券以及委托信息(包括订单状态),对账户钱券和订单状态进行校验。
在一个实施例中,如图7所示,通过一个最详细实施例来说明本申请的方案,该实施例包括步骤S702至步骤S722。
S702:获取测试路径以及测试账户数据;
S704:获取测试路径中的各状态节点之间的连接关系;
S706:根据各状态节点之间的连接关系得到至少两条测试支路,并确定各测试支路的测试初始状态和待跳转测试状态;
S708:检测测试初始状态;
S710:判断测试初始状态是否为预设状态机模型的初始状态,当判断结果为否时跳转至步骤S712,当判断结果为是时跳转至步骤S714;
S712:根据测试初始状态获取历史测试用例,根据历史测试用例、待跳转测试状态以及测试账户数据生成测试支路的业务处理提示,跳转至步骤S716;
S714:根据待跳转测试状态和测试账户数据生成测试支路的业务处理提示,业务处理提示包括委托请求和回包,跳转至步骤S716;
S716:发送业务处理提示至资源交互系统,业务处理提示用于指示资源交互系统对测试账户数据进行业务处理,得到并反馈处理结果;
S718:接收资源交互系统反馈的处理结果;
S720:根据处理结果获取待校验数据,并根据业务处理提示确定期望校验结果;
S722:比对待校验数据和期望校验结果,得到各测试支路的测试结果。
图7为一个实施例中资源交互系统测试方法的流程示意图。应该理解的是,虽然图7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图7中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
如图8所示,在一个实施例中,提供了一种资源交互系统测试装置,该装置包括获取模块802、第一处理模块804、第二处理模块806、发送模块808以及校验模块810。
获取模块802,用于获取测试路径以及测试账户数据。
第一处理模块804,用于根据测试路径确定至少两条测试支路,并确定各测试支路的测试初始状态和待跳转测试状态。
在一个实施例中,第一处理模块包括:
获取单元,用于获取测试路径中的各状态节点之间的连接关系;
状态处理单元,用于根据各状态节点之间的连接关系得到至少两条测试支路,并确定各测试支路的测试初始状态和待跳转测试状态。
第二处理模块806,用于根据测试初始状态、待跳转测试状态以及测试账户数据生成各测试支路的业务处理提示,业务处理提示包括委托请求和回包。
在一个实施例中,第二处理模块包括:
检测单元,用于检测测试初始状态;
第一处理单元,用于当测试初始状态不为预设状态机模型的初始状态时,根据测试初始状态获取历史测试用例,根据历史测试用例、待跳转测试状态以及测试账户数据生成测试支路的业务处理提示;
第二处理单元,用于当测试初始状态为预设状态机模型的初始状态时,根据待跳转测试状态和测试账户数据生成测试支路的业务处理提示。
发送模块808,用于发送业务处理提示至资源交互系统,业务处理提示用于指示资源交互系统对测试账户数据进行业务处理,得到并反馈处理结果。
在一个实施例中,业务处理提示携带历史测试用例数据、初始测试指令以及业务处理指令,初始测试指令用于指示资源交互系统根据历史测试用例得到测试初始状态,业务处理指令用于指示资源交互系统根据测试初始状态对测试账户数据进行业务处理,得到并反馈处理结果;
或,业务处理提示携带测试初始状态数据以及业务处理指令,业务处理指令用于指示资源交互系统根据测试初始状态数据对测试账户数据进行业务处理,得到并反馈处理结果。
在一个实施例中,业务处理提示还用于指示资源交互系统向预设的Mock桩发起目标委托请求,目标委托请求用于指示Mock桩返回接收成功回包消息至资源交互系统。
校验模块810,用于接收资源交互系统反馈的处理结果,根据处理结果和业务处理提示进行结果校验,得到各测试支路的测试结果。
在一个实施例中,校验模块包括:
接收单元,用于接收资源交互系统反馈的处理结果;
数据获取单元,用于根据处理结果获取待校验数据,并根据业务处理提示确定期望校验结果;
比对单元,用于比对待校验数据和期望校验结果,得到各测试支路的测试结果。
在一个实施例中,测试结果包括订单状态数据测试数据、返回码测试数据以及资源转移测试数据。
上述资源交互系统测试装置,获取测试路径以及测试账户数据,通过测试路径确定测试支路,并确定测试支路的测试初始状态和待跳转测试状态,根据测试初始状态、待跳转测试状态以及测试账户数据生成各测试支路的业务处理提示,发送业务处理提示至资源交互系统,指示资源交互系统对测试账户数据进行业务处理,得到并反馈处理结果,接收资源交互系统反馈的处理结果,根据处理结果和业务处理提示进行结果校验,得到各测试支路的测试结果。整个过程,通过测试路径以及测试账户数据构造了业务处理提示,模拟委托请求和回包对资源交互系统进行测试,可以实现对资源交互系统中的状态机模型中的任意状态跳转进行测试,实现了对资源交互系统的状态机模型的精确覆盖测试,提高了测试精度。
图9示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图2中的服务器220。如图9所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现资源交互系统测试方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行资源交互系统测试方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的资源交互系统测试装置可以实现为一种计算机程序的形式,计算机程序可在如图9所示的计算机设备上运行。计算机设备的存储器中可存储组成该资源交互系统测试装置的各个程序模块,比如,图8所示的获取模块、第一处理模块、第二处理模块、发送模块和校验模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的资源交互系统测试方法中的步骤。
例如,图9所示的计算机设备可以通过如图8所示的资源交互系统测试装置中的获取模块执行获取测试路径以及测试账户数据。计算机设备可通过第一处理模块执行根据测试路径确定至少两条测试支路,并确定各测试支路的测试初始状态和待跳转测试状态。计算机设备可通过第二处理模块执行根据测试初始状态、待跳转测试状态以及测试账户数据生成各测试支路的业务处理提示,业务处理提示包括委托请求和回包。计算机设备可通过发送模块执行发送业务处理提示至资源交互系统,业务处理提示用于指示资源交互系统对测试账户数据进行业务处理,得到并反馈处理结果。计算机设备可通过校验模块执行接收资源交互系统反馈的处理结果,根据处理结果和业务处理提示进行结果校验,得到各测试支路的测试结果。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述资源交互系统测试方法的步骤。此处资源交互系统测试方法的步骤可以是上述各个实施例的资源交互系统测试方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述资源交互系统测试方法的步骤。此处资源交互系统测试方法的步骤可以是上述各个实施例的资源交互系统测试方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (16)

1.一种资源交互系统测试方法,包括:
获取测试路径以及测试账户数据;所述测试路径是指根据资源交互系统的状态机模型得到的测试顺序;
根据所述测试路径确定至少两条测试支路,并确定各测试支路的测试初始状态和待跳转测试状态;所述测试支路是指由所述测试路径中任意两个可连通的状态节点构成的支路;
根据所述测试初始状态、所述待跳转测试状态以及所述测试账户数据生成各测试支路的业务处理提示,所述业务处理提示包括委托请求和回包;所述回包是指与所述委托请求对应的反馈消息;
发送所述业务处理提示至资源交互系统,所述业务处理提示用于指示资源交互系统对测试账户数据进行业务处理,得到并反馈处理结果;
接收资源交互系统反馈的处理结果,根据所述处理结果和所述业务处理提示进行结果校验,得到各测试支路的测试结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述测试路径确定至少两条测试支路,并确定各测试支路的测试初始状态和待跳转测试状态包括:
获取测试路径中的各状态节点之间的连接关系;
根据各状态节点之间的连接关系得到至少两条测试支路,并确定各测试支路的测试初始状态和待跳转测试状态。
3.根据权利要求1所述的方法,其特征在于,所述根据所述测试初始状态、所述待跳转测试状态以及所述测试账户数据生成各测试支路的业务处理提示包括:
检测所述测试初始状态;
当所述测试初始状态不为预设状态机模型的初始状态时,根据所述测试初始状态获取历史测试用例,根据所述历史测试用例、所述待跳转测试状态以及所述测试账户数据生成测试支路的业务处理提示;
当所述测试初始状态为预设状态机模型的初始状态时,根据所述待跳转测试状态和所述测试账户数据生成测试支路的业务处理提示。
4.根据权利要求1所述的方法,其特征在于,所述接收资源交互系统反馈的处理结果,根据所述处理结果和所述业务处理提示进行结果校验,得到各测试支路的测试结果包括:
接收资源交互系统反馈的处理结果;
根据所述处理结果获取待校验数据,并根据所述业务处理提示确定期望校验结果;
比对所述待校验数据和所述期望校验结果,得到各测试支路的测试结果。
5.根据权利要求4所述的方法,其特征在于,所述测试结果包括订单状态数据测试数据、返回码测试数据以及资源转移测试数据。
6.根据权利要求1所述的方法,其特征在于,所述业务处理提示携带历史测试用例数据、初始测试指令以及业务处理指令,所述初始测试指令用于指示所述资源交互系统根据所述历史测试用例得到测试初始状态,所述业务处理指令用于指示所述资源交互系统根据所述测试初始状态对测试账户数据进行业务处理,得到并反馈所述处理结果;
或,所述业务处理提示携带测试初始状态数据以及业务处理指令,所述业务处理指令用于指示所述资源交互系统根据所述测试初始状态数据对测试账户数据进行业务处理,得到并反馈处理结果。
7.根据权利要求1所述的方法,其特征在于,所述业务处理提示还用于指示资源交互系统向预设的Mock桩发起目标委托请求,所述目标委托请求用于指示所述Mock桩返回接收成功回包消息至所述资源交互系统。
8.一种资源交互系统测试装置,其特征在于,所述装置包括:
获取模块,用于获取测试路径以及测试账户数据;所述测试路径是指根据资源交互系统的状态机模型得到的测试顺序;
第一处理模块,用于根据所述测试路径确定至少两条测试支路,并确定各测试支路的测试初始状态和待跳转测试状态;所述测试支路是指由所述测试路径中任意两个可连通的状态节点构成的支路;
第二处理模块,用于根据所述测试初始状态、所述待跳转测试状态以及所述测试账户数据生成各测试支路的业务处理提示,所述业务处理提示包括委托请求和回包;所述回包是指与所述委托请求对应的反馈消息;
发送模块,用于发送所述业务处理提示至资源交互系统,所述业务处理提示用于指示资源交互系统对测试账户数据进行业务处理,得到并反馈处理结果;
校验模块,用于接收资源交互系统反馈的处理结果,根据所述处理结果和所述业务处理提示进行结果校验,得到各测试支路的测试结果。
9.根据权利要求8所述的装置,其特征在于,所述第一处理模块包括:
获取模块,用于获取测试路径中的各状态节点之间的连接关系;
状态处理单元,用于根据各状态节点之间的连接关系得到至少两条测试支路,并确定各测试支路的测试初始状态和待跳转测试状态。
10.根据权利要求8所述的装置,其特征在于,所述第二处理模块包括:
检测单元,用于检测所述测试初始状态;
第一处理单元,用于当所述测试初始状态不为预设状态机模型的初始状态时,根据所述测试初始状态获取历史测试用例,根据所述历史测试用例、所述待跳转测试状态以及所述测试账户数据生成测试支路的业务处理提示;
第二处理单元,用于当所述测试初始状态为预设状态机模型的初始状态时,根据所述待跳转测试状态和所述测试账户数据生成测试支路的业务处理提示。
11.根据权利要求8所述的装置,其特征在于,所述校验模块包括:
接收单元,用于接收资源交互系统反馈的处理结果;
数据获取单元,用于根据所述处理结果获取待校验数据,并根据所述业务处理提示确定期望校验结果;
比对单元,用于比对所述待校验数据和所述期望校验结果,得到各测试支路的测试结果。
12.根据权利要求11所述的装置,其特征在于,所述测试结果包括订单状态数据测试数据、返回码测试数据以及资源转移测试数据。
13.根据权利要求8所述的装置,其特征在于,所述业务处理提示携带历史测试用例数据、初始测试指令以及业务处理指令,所述初始测试指令用于指示所述资源交互系统根据所述历史测试用例得到测试初始状态,所述业务处理指令用于指示所述资源交互系统根据所述测试初始状态对测试账户数据进行业务处理,得到并反馈所述处理结果;
或,所述业务处理提示携带测试初始状态数据以及业务处理指令,所述业务处理指令用于指示所述资源交互系统根据所述测试初始状态数据对测试账户数据进行业务处理,得到并反馈处理结果。
14.根据权利要求8所述的装置,其特征在于,所述业务处理提示还用于指示资源交互系统向预设的Mock桩发起目标委托请求,所述目标委托请求用于指示所述Mock桩返回接收成功回包消息至所述资源交互系统。
15.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
16.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
CN202010059976.1A 2020-01-19 2020-01-19 资源交互系统测试方法、装置、存储介质和计算机设备 Active CN113138914B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010059976.1A CN113138914B (zh) 2020-01-19 2020-01-19 资源交互系统测试方法、装置、存储介质和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010059976.1A CN113138914B (zh) 2020-01-19 2020-01-19 资源交互系统测试方法、装置、存储介质和计算机设备

Publications (2)

Publication Number Publication Date
CN113138914A CN113138914A (zh) 2021-07-20
CN113138914B true CN113138914B (zh) 2024-04-26

Family

ID=76808766

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010059976.1A Active CN113138914B (zh) 2020-01-19 2020-01-19 资源交互系统测试方法、装置、存储介质和计算机设备

Country Status (1)

Country Link
CN (1) CN113138914B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9396160B1 (en) * 2013-02-28 2016-07-19 Amazon Technologies, Inc. Automated test generation service
CN106708739A (zh) * 2016-12-30 2017-05-24 桂林电子科技大学 基于扩展状态机模型的Web服务测试用例生成方法及系统
WO2017181591A1 (zh) * 2016-04-20 2017-10-26 乐视控股(北京)有限公司 测试方法及系统
CN107450919A (zh) * 2017-07-25 2017-12-08 上海壹账通金融科技有限公司 业务流程管理方法、设备及计算机可读存储介质
CN107818051A (zh) * 2017-11-27 2018-03-20 北京新能源汽车股份有限公司 一种测试用例的跳转分析方法、装置及服务器
CN109669868A (zh) * 2018-12-17 2019-04-23 南昌弘为企业管理有限公司 软件测试的方法及系统
CN110008117A (zh) * 2019-03-12 2019-07-12 深圳壹账通智能科技有限公司 页面测试方法、装置、计算机设备和存储介质
US10452523B1 (en) * 2017-12-11 2019-10-22 Intuit Inc. System and method for state based intelligent test generation
CN110389894A (zh) * 2019-05-27 2019-10-29 南京祖母绿智能科技有限公司 测试用例生成的方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8683446B2 (en) * 2007-07-09 2014-03-25 International Business Machines Corporation Generation of test cases for functional testing of applications
US8904239B2 (en) * 2012-02-17 2014-12-02 American Express Travel Related Services Company, Inc. System and method for automated test configuration and evaluation

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9396160B1 (en) * 2013-02-28 2016-07-19 Amazon Technologies, Inc. Automated test generation service
WO2017181591A1 (zh) * 2016-04-20 2017-10-26 乐视控股(北京)有限公司 测试方法及系统
CN106708739A (zh) * 2016-12-30 2017-05-24 桂林电子科技大学 基于扩展状态机模型的Web服务测试用例生成方法及系统
CN107450919A (zh) * 2017-07-25 2017-12-08 上海壹账通金融科技有限公司 业务流程管理方法、设备及计算机可读存储介质
CN107818051A (zh) * 2017-11-27 2018-03-20 北京新能源汽车股份有限公司 一种测试用例的跳转分析方法、装置及服务器
US10452523B1 (en) * 2017-12-11 2019-10-22 Intuit Inc. System and method for state based intelligent test generation
CN109669868A (zh) * 2018-12-17 2019-04-23 南昌弘为企业管理有限公司 软件测试的方法及系统
CN110008117A (zh) * 2019-03-12 2019-07-12 深圳壹账通智能科技有限公司 页面测试方法、装置、计算机设备和存储介质
CN110389894A (zh) * 2019-05-27 2019-10-29 南京祖母绿智能科技有限公司 测试用例生成的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
金融系统生产模拟比对自动化测试研究与应用;阳骁尧;王步锋;张同虎;成银乾;李冬晓;刘正;郭晓骞;;中国金融电脑;20180507(第05期);全文 *

Also Published As

Publication number Publication date
CN113138914A (zh) 2021-07-20

Similar Documents

Publication Publication Date Title
CN112073269B (zh) 区块链网络测试方法、装置、服务器及存储介质
CN106407121B (zh) 一种跨平台数据互通一致性测试方法及应用测试服务器
RU2430409C2 (ru) Методология измерения покрытия в структурном состоянии взаимного соединения
CN109814910A (zh) 自动化灰度发布方法、装置、计算机系统及存储介质
US7996818B1 (en) Method for testing using client specified references
CN107977308A (zh) 接口测试方法及装置
CN109634837A (zh) 自动化测试方法、装置、设备及存储介质
CN109684150A (zh) 存储颗粒控制器的性能测试系统、测试方法及仿真平台
CN112732499A (zh) 一种基于微服务架构的测试方法、装置及计算机系统
CN112711640A (zh) 一种业务受理流程配置的方法及装置
CN109040255A (zh) 物联网设备接入方法、装置、设备及存储介质
CN112035350A (zh) 针对区块链系统的测试方法、装置及计算机设备
CN114185808A (zh) 自动化测试方法、装置、电子设备及计算机可读存储介质
CN108197914B (zh) 一种信息获取方法、装置及服务器
CN108829495A (zh) 多数据库修改事务的验证方法、装置、设备及存储介质
CN112561690B (zh) 信用卡分期业务接口的测试方法、系统、设备及存储介质
CN113138914B (zh) 资源交互系统测试方法、装置、存储介质和计算机设备
US6963997B2 (en) Transaction logging and intelligent error reporting in an expectation-based memory agent checker
CN111949537A (zh) 接口的测试方法、装置、设备和介质
US20210374042A1 (en) Automatic portable device testing method and system
CN106294146B (zh) 参数替换测试方法及装置
CN114398267A (zh) 自动化测试方法以及装置、存储介质、电子装置
CN108229127A (zh) 预先产生验证数据以区分客户端的系统及其方法
CN111538664A (zh) 一种支付标记化应用的测试系统及方法
CN110309112A (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