CN109636543A - 一种区块链测试方法和装置 - Google Patents
一种区块链测试方法和装置 Download PDFInfo
- Publication number
- CN109636543A CN109636543A CN201811593963.1A CN201811593963A CN109636543A CN 109636543 A CN109636543 A CN 109636543A CN 201811593963 A CN201811593963 A CN 201811593963A CN 109636543 A CN109636543 A CN 109636543A
- Authority
- CN
- China
- Prior art keywords
- bill
- transaction
- block chain
- measured
- price
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0633—Lists, e.g. purchase orders, compilation or processing
- G06Q30/0635—Processing of requisition or of purchase orders
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请公开了一种区块链测试方法和装置。该方法包括:确定已发布订单中相匹配的买单和卖单;调用待测区块链的第一接口进行所述相匹配的买单和卖单的交易,并基于所述待测区块链的第二接口返回的交易单校验所述交易的交易结果;基于校验结果,确定所述待测区块链的交易测试结果。可见,本申请通过调用预授权相关接口进行买单和卖单的交易并校验交易结果,以实现对待测区块链的交易进行的测试。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种区块链测试方法和装置。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,其本质上是一个去中心化的数据库。
目前,还不存在针对区块链的交易的相关测试方案,因此,需要提供一种区块链交易测试方案。
发明内容
本说明书实施例提供一种区块链测试方法和装置,用于对区块链的交易进行测试。
本说明书实施例还提供一种区块链测试方法,包括:
确定已发布订单中相匹配的买单和卖单;
调用待测区块链的第一接口进行所述相匹配的买单和卖单的交易,并基于所述待测区块链的第二接口返回的交易单校验所述交易的交易结果;
基于校验结果,确定所述待测区块链的交易测试结果。
可选的,所述交易单中的信息包括:参与交易的账户标识和交易额;
其中,基于所述待测区块链的第二接口返回的交易单校验所述交易的交易结果包括:
确定所述账户标识对应的账户的余额变化信息;
确定所述余额变化信息是否与所述交易额相匹配,若是,则确定所述交易的交易结果为交易成功;否则确定所述交易的交易结果为交易失败。
可选的,基于校验结果,确定所述待测区块链的交易测试结果包括:
基于校验结果,确定所述交易中交易成功的交易数量和交易失败的交易数量;
基于所述交易成功的交易数量和交易失败的交易数量,确定所述待测区块链的交易测试结果。
可选的,其特征在于,在确定已发布订单中相匹配的买单和卖单之前,还包括:
生成待发布订单集,所述待发布订单集包括:第一数量的买单和第二数量的卖单,所述第一数量和所述第二数量基于测试需求确定;
调用所述待测区块链的第三接口对所述待发布订单集中的订单进行发单。
可选的,所述第一数量的买单的价格从预设最低买价自增,所述第二数量的卖单的价格从预设最低卖价自增;或者,
所述第一数量的买单的价格从预设最高买价自减,所述第二数量的卖单的价格从预设最高卖价自减;或者,
所述第一量的买单的价格从预设最低买价自增,所述第二数量的卖单的价格从预设最高卖价自减;或者,
所述第一量的买单的价格从预设最高买价自减,所述第二数量的卖单的价格从预设最低卖价自增。
可选的,还包括:
确定所述第三接口返回的发单结果;
基于所述发单结果,确定所述待测区块链的发单测试结果。
可选的,基于所述发单结果,确定所述待测区块链的发单测试结果包括:
基于所述发单结果,确定发单成功的订单数量和发单失败的订单数量;
基于所述发单成功的订单数量和所述发单失败的订单数量,确定所述待测区块链的发单测试结果。
可选的,基于所述发单结果,确定所述待测区块链的发单测试结果包括:
若基于所述发单结果,确定存在如下任意一种情况,则确定发单测试结果为异常:
挂单数量和/或挂单价格超限;
挂单中买单的数量和卖单的数量的比例超限;
挂单中不存在相匹配的买单和卖单;
其中,挂单为发布成功的买单和卖单。
可选的,还包括:
调用所述待测区块链的第四接口,获取发单和/或交易过程中相关对象的预设性能指标;
其中,相关对象的预设性能指标包括:所述待测区块链的CPU使用率、所述待测区块链的前端的响应时长、所述待测区块链的数据库的压力中的至少一个。
本说明书实施例还提供一种区块链测试装置,包括:
第一确定模块,用于确定已发布订单中相匹配的买单和卖单;
交易校验模块,用于调用待测区块链的第一接口进行所述相匹配的买单和卖单的交易,并基于所述待测区块链的第二接口返回的交易单校验所述交易的交易结果;
第二确定模块,用于基于校验结果,确定所述待测区块链的交易测试结果。
可选的,所述交易单中的信息包括:参与交易的账户标识和交易额;
其中,交易校验模块,具体用于:
确定所述账户标识对应的账户的余额变化信息;确定所述余额变化信息是否与所述交易额相匹配,若是,则确定所述交易的交易结果为交易成功;否则确定所述交易的交易结果为交易失败。
可选的,所述第二确定模块,具体用于:
基于校验结果,确定所述交易中交易成功的交易数量和交易失败的交易数量;基于所述交易成功的交易数量和交易失败的交易数量,确定所述待测区块链的交易测试结果。
可选的,装置还包括:
发单模块,用于生成待发布订单集,所述待发布订单集包括:第一数量的买单和第二数量的卖单,所述第一数量和所述第二数量基于测试需求确定;调用所述待测区块链的第三接口对所述待发布订单集中的订单进行发单。
可选的,所述第一数量的买单的价格从预设最低买价自增,所述第二数量的卖单的价格从预设最低卖价自增;或者,
所述第一数量的买单的价格从预设最高买价自减,所述第二数量的卖单的价格从预设最高卖价自减;或者,
所述第一量的买单的价格从预设最低买价自增,所述第二数量的卖单的价格从预设最高卖价自减;或者,
所述第一量的买单的价格从预设最高买价自减,所述第二数量的卖单的价格从预设最低卖价自增。
可选的,还包括:
发单测试模块,用于确定所述第三接口返回的发单结果;基于所述发单结果,确定所述待测区块链的发单测试结果。
可选的,所述发单测试模块,具体用于:
基于所述发单结果,确定发单成功的订单数量和发单失败的订单数量;基于所述发单成功的订单数量和所述发单失败的订单数量,确定所述待测区块链的发单测试结果。
可选的,所述发单测试模块,具体用于:
若基于所述发单结果,确定存在如下任意一种情况,则确定发单测试结果为异常:
挂单数量和/或挂单价格超限;
挂单中买单的数量和卖单的数量的比例超限;
挂单中不存在相匹配的买单和卖单;
其中,挂单为发布成功的买单和卖单。
可选的,装置还包括:
性能测试模块,用于调用所述待测区块链的第四接口,获取发单和/或交易过程中相关对象的预设性能指标;
其中,相关对象的预设性能指标包括:所述待测区块链的CPU使用率、所述待测区块链的前端的响应时长、所述待测区块链的数据库的压力中的至少一个。
本说明书实施例还提供一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述的区块链测试方法的步骤。
本说明书实施例还提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述的区块链测试方法的步骤。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
通过调用待测区块链的第一接口进行相匹配买单和卖单的交易,并基于所述待测区块链的第二接口返回的交易单校验所述交易的交易结果,进而确定交易测试结果,由此,可实现对所述待测区块链上的交易的测试,填补了本领域的技术空白。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本说明书提供的一种应用场景的示意图;
图2为本说明书一实施例提供的一种区块链测试方法的流程示意图;
图3为本说明书另一实施例提供的一种区块链测试方法的流程示意图;
图4为本说明书另一实施例提供的挂单测试的流程示意图;
图5为本说明书一实施例提供的一种区块链测试装置的结构示意图;
图6为本说明书一实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
针对背景技术部分的陈述的目前不存在对区块链的交易相关的测试方案的情况,本发明提供了一种区块链测试方法,通过调用待测区块链的第一接口进行相匹配买单和卖单的交易,并基于所述待测区块链的第二接口返回的交易单校验所述交易的交易结果,进而确定交易测试结果,由此,可实现对所述待测区块链上的交易的测试,填补了本领域的技术空白。
其中,区块链本质上是一个去中心化的数据库;第一接口和第二接口可以为区块链的同一数据接口,也可以为区块链的两个不同数据接口;交易单是指用于记录交易具体情况的单据,其中记录的数据可基于交易的不同而动态调整。
下面参见图1对本发明的应用场景进行示例性说明。
该应用场景中包括:区块链110和测试设备120,区块链110开放有第一接口111和第二接口112;其中:
测试设备120,用于获取发布在区块链110上的订单(包括:买单和卖单),并确定其中的价格相匹配的买单和卖单(记为匹配单);然后,调用第一接口111进行各匹配单的交易,并通过第二接口112获取各匹配单的交易单;然后,基于交易单校验各匹配单的交易的交易结果,以得到区块链的交易测试结果。
其中,测试设备120可以为测试方的、用于测试客户的区块链产品的终端设备,
以下结合附图,详细说明本申请各实施例提供的技术方案。
图2为本说明书一实施例提供的一种区块链测试方法的流程示意图,该方法可由图1中的测试设备120执行,参见图2,该方法具体可以包括如下步骤:
步骤220、确定已发布订单中相匹配的买单和卖单;
其中,已发布订单可以为客户提供的已成功发布在区块链上的订单,也可以为由测试方生成并通过区块链相关接口发布成功的订单;相匹配的买单和卖单是指的买价和卖价相等,或买价大于卖价的订单。
其中,通过区块链相关接口发布订单的步骤具体可以示例为:
步骤S1、生成待发布订单集,所述待发布订单集包括:第一数量的买单和第二数量的卖单,所述第一数量和所述第二数量基于测试需求确定;
其中,测试需求包括:客户的测试需求和补充测试需求;前者是指客户提出的需求,可以示例为:匹配单的数量、匹配单的交易成功率等;
后者是针对实际交易过程中,交易对象的价值不断变化的情况,补充的需求,可以示例为:所述第一数量的买单的价格从预设最高买价自减,所述第二数量的卖单的价格从预设最高卖价自减;或者,所述第一量的买单的价格从预设最低买价自增,所述第二数量的卖单的价格从预设最高卖价自减;或者,所述第一量的买单的价格从预设最高买价自减,所述第二数量的卖单的价格从预设最低卖价自增。
步骤S2、调用所述待测区块链的第三接口对所述待发布订单集中的订单进行发单。
其中,第三接口可以为客户授权的、用于发布订单的数据接口,以供测试方通过该接口发布匹配单。
进一步地,本实施例还可接收第三接口返回的发单结果,并基于所述发单结果,确定所述待测区块链的发单测试结果。其实现方式可以为:
基于所述发单结果,确定发单成功的订单数量和发单失败的订单数量;基于所述发单成功的订单数量和所述发单失败的订单数量,确定所述待测区块链的发单测试结果。具体可以示例为:
假设发布了1000笔订单,其中,预期相匹配的订单为400对,预期无法匹配的订单为200笔。进而,基于第三接口返回的发单结果,确定实际相匹配的订单对的数量,然后,对比预期相匹配的订单对的数量相匹配的订单对的数量,若符合预设要求(例如:数量相同),则确定发单测试结果为通过,否则确定发单测试结果为未通过。
另外,若基于所述发单结果,确定存在如下任意一种情况,则确定发单测试结果为异常:
挂单数量和/或挂单价格超限(例如:数量和/或价格为0);挂单中买单的数量和卖单的数量的比例超限(例如:只有买单和卖单中的一种,而没有另一种);挂单中不存在相匹配的买单和卖单;
其中,挂单为发布成功的买单和卖单。
步骤240、调用待测区块链的第一接口进行所述相匹配的买单和卖单的交易,并基于所述待测区块链的第二接口返回的交易单校验所述交易的交易结果;
其中,所述交易单中的信息包括:参与交易的账户标识和交易额;相应的,步骤240的一种实现方式可以为:
确定所述账户标识对应的账户的余额变化信息;确定所述余额变化信息是否与所述交易额相匹配,若是,则确定所述交易的交易结果为交易成功;否则确定所述交易的交易结果为交易失败。
步骤260、基于校验结果,确定所述待测区块链的交易测试结果。其一种实现方式可以为:
基于校验结果,确定所述交易中交易成功的交易数量和交易失败的交易数量;基于所述交易成功的交易数量和交易失败的交易数量,确定所述待测区块链的交易测试结果。具体可以示例为:
首先,解析客户需求说明,以确定客户要求的交易结果(例如:交易成功率为100);然后,基于校验结果,确定交易成功的交易数量和交易失败的交易数量,进而,确定是否满足客户要求的交易结果;若是,则确定交易测试结果为通过,否则确定交易测试结果为未通过。
进一步地,在进行上述发单和交易的过程中,本方法还调用所述待测区块链的第四接口,获取发单和/或交易过程中相关对象的预设性能指标;
其中,相关对象的预设性能指标包括:所述待测区块链的CPU使用率、所述待测区块链的前端的响应时长、所述待测区块链的数据库的压力中的至少一个。
基于此,通过获取待测区块中参与发单-交易的各个节点的性能指标,以确定各个节点的能力,进而对待测区块链进行全链路测试。
可见,本实施例通过调用待测区块链的第一接口进行相匹配买单和卖单的交易,并基于所述待测区块链的第二接口返回的交易单校验所述交易的交易结果,进而确定交易测试结果,由此,可实现对所述待测区块链上的交易的测试,填补了本领域的技术空白。
图3为本说明书另一实施例提供的一种区块链测试方法的流程示意图,参见图3,该方法具体可以包括如下步骤:
步骤302、生成订单;其具体实现方式可以为:
基于客户需求或自定义的测试方式,生成预设数量的买单和卖单。
步骤304、订单发布测试;
其中,该测试适用于所有币币交易,如:A/BTC;B/ETH;C/USDT等;在该测试过程中出现的主要异常包括:
(1)、挂单的数量、价格为0;
(2)、只有买单,没有卖单;
(3)、只有卖单,没有买单;
(4)、买单和卖单都有,但没有相匹配的订单。
针对这些异常,下面参见图4对该测试进行示例性说明:
步骤420、虚拟出预设数量的卖单和买单;
步骤440、通过第一post接口发布买单,通过第二post接口发布卖单;
其中,挂单参数包括:签名、自增数、交易币种、购买数量、购买价格等等;相应地,发单方式可以为:
步骤460、接收第一post接口和第二post接口返回的发单结果;
其中,返回结果可包括:id(挂单id)和result(true、false),例如:
{“result”:ture,“id”:123}
步骤480、基于发单结果,确定挂单测试结果。
即,基于发单结果中的id和result确定订单是否发布成功。
步骤306、确定匹配单;
其中,匹配单为发布成功的订单中价格相匹配的买单和卖单对。
步骤308、匹配单交易测试;
其中,该测试过程主要应用以下测试用例:
(1)、卖单最低价高于买单最高价;
(2)、买单与卖单价格有一定匹配度,主要包含:
买单订单数<卖单订单数;
买单订单数>卖单订单数;
买单订单数=卖单订单数。
基于这些测试用例,当完成匹配单的交易后,可通过调用账户接口,确认新购买的币是否已进入到个人账户中。具体可以示例为:
假设有10个买单和10个卖单,分别记为:buy1~buy 10,sell 1~sell 10,若buy1的价格=sell 7的价格,则两者可完成交易。然后,通过get接口获取成交记录(包括:交易时间、交易数量等)和钱包信息(包括:金额变动数量),以校验交易账号下的余额的是否发生对应的变化,若是,则交易成功,否则交易失败。
步骤310、性能测试;具体实现方式可以为:
调用步骤302-步骤308中的发单和交易相关数据,由前端不断生成对应的单数据,以确定前端的响应时长;在前端的单数据量达标后,监控对应的服务器的性能数据(例如:CPU使用率),以及数据库的压力数据。
步骤312、确定测试结果;
即,基于发单测试、匹配单交易测试和性能测试的结果,得到一测试结果,并提供给客户。
可见,本实施例针对区块链交易过程中可能出现的异常来设计测试用例,并进行测试,以实现对区块链交易相关的测试,填补了本领域的技术空白。
另外,对于上述方法实施方式,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施方式并不受所描述的动作顺序的限制,因为依据本发明实施方式,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施方式均属于优选实施方式,所涉及的动作并不一定是本发明实施方式所必须的。
图5为本说明书一实施例提供的一种区块链测试装置的结构示意图,参见图5,该装置具体可以包括:第一确定模块51、交易校验模块52和第二确定模块53,其中:
第一确定模块51,用于确定已发布订单中相匹配的买单和卖单;
交易校验模块52,用于调用待测区块链的第一接口进行所述相匹配的买单和卖单的交易,并基于所述待测区块链的第二接口返回的交易单校验所述交易的交易结果;
第二确定模块53,用于基于校验结果,确定所述待测区块链的交易测试结果。
可选的,所述交易单中的信息包括:参与交易的账户标识和交易额;
其中,交易校验模块52,具体用于:
确定所述账户标识对应的账户的余额变化信息;确定所述余额变化信息是否与所述交易额相匹配,若是,则确定所述交易的交易结果为交易成功;否则确定所述交易的交易结果为交易失败。
可选的,所述第二确定模块53,具体用于:
基于校验结果,确定所述交易中交易成功的交易数量和交易失败的交易数量;基于所述交易成功的交易数量和交易失败的交易数量,确定所述待测区块链的交易测试结果。
可选的,装置还包括:
发单模块,用于生成待发布订单集,所述待发布订单集包括:第一数量的买单和第二数量的卖单,所述第一数量和所述第二数量基于测试需求确定;调用所述待测区块链的第三接口对所述待发布订单集中的订单进行发单。
可选的,所述第一数量的买单的价格从预设最低买价自增,所述第二数量的卖单的价格从预设最低卖价自增;或者,
所述第一数量的买单的价格从预设最高买价自减,所述第二数量的卖单的价格从预设最高卖价自减;或者,
所述第一量的买单的价格从预设最低买价自增,所述第二数量的卖单的价格从预设最高卖价自减;或者,
所述第一量的买单的价格从预设最高买价自减,所述第二数量的卖单的价格从预设最低卖价自增。
可选的,还包括:
发单测试模块,用于确定所述第三接口返回的发单结果;基于所述发单结果,确定所述待测区块链的发单测试结果。
可选的,所述发单测试模块,具体用于:
基于所述发单结果,确定发单成功的订单数量和发单失败的订单数量;基于所述发单成功的订单数量和所述发单失败的订单数量,确定所述待测区块链的发单测试结果。
可选的,所述发单测试模块,具体用于:
若基于所述发单结果,确定存在如下任意一种情况,则确定发单测试结果为异常:
挂单数量和/或挂单价格超限;
挂单中买单的数量和卖单的数量的比例超限;
挂单中不存在相匹配的买单和卖单;
其中,挂单为发布成功的买单和卖单。
可选的,装置还包括:
性能测试模块,用于调用所述待测区块链的第四接口,获取发单和/或交易过程中相关对象的预设性能指标;
其中,相关对象的预设性能指标包括:所述待测区块链的CPU使用率、所述待测区块链的前端的响应时长、所述待测区块链的数据库的压力中的至少一个。
可见,本实施例通过调用待测区块链的第一接口进行相匹配买单和卖单的交易,并基于所述待测区块链的第二接口返回的交易单校验所述交易的交易结果,进而确定交易测试结果,由此,可实现对所述待测区块链上的交易的测试,填补了本领域的技术空白。而且,对于上述装置实施方式而言,由于其与方法实施方式基本相似,所以描述的比较简单,相关之处参见方法实施方式的部分说明即可。另外,应当注意的是,在本发明的装置的各个部件中,根据其要实现的功能而对其中的部件进行了逻辑划分,但是,本发明不受限于此,可以根据需要对各个部件进行重新划分或者组合。
图6为本说明书一实施例提供的一种电子设备的结构示意图,参见图6,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成区块链测试装置。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
网络接口、处理器和存储器可以通过总线系统相互连接。总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器可能包含高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器。
处理器,用于执行所述存储器存放的程序,并具体执行:
确定已发布订单中相匹配的买单和卖单;
调用待测区块链的第一接口进行所述相匹配的买单和卖单的交易,并基于所述待测区块链的第二接口返回的交易单校验所述交易的交易结果;
基于校验结果,确定所述待测区块链的交易测试结果。
上述如本申请图5所示实施例揭示的区块链测试装置或管理者(Master)节点执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(CentralProcessing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
区块链测试装置还可执行图2-4的方法,并实现管理者节点执行的方法。
基于相同的发明创造,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行图2-4对应的实施例提供的区块链测试方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种区块链测试方法,其特征在于,包括:
确定已发布订单中相匹配的买单和卖单;
调用待测区块链的第一接口进行所述相匹配的买单和卖单的交易,并基于所述待测区块链的第二接口返回的交易单校验所述交易的交易结果;
基于校验结果,确定所述待测区块链的交易测试结果。
2.根据权利要求1所述的方法,其特征在于,所述交易单中的信息包括:参与交易的账户标识和交易额;
其中,基于所述待测区块链的第二接口返回的交易单校验所述交易的交易结果包括:
确定所述账户标识对应的账户的余额变化信息;
确定所述余额变化信息是否与所述交易额相匹配,若是,则确定所述交易的交易结果为交易成功;否则确定所述交易的交易结果为交易失败。
3.根据权利要求2所述的方法,其特征在于,基于校验结果,确定所述待测区块链的交易测试结果包括:
基于校验结果,确定所述交易中交易成功的交易数量和交易失败的交易数量;
基于所述交易成功的交易数量和交易失败的交易数量,确定所述待测区块链的交易测试结果。
4.根据权利要求1至3中任一项所述的方法,其特征在于,在确定已发布订单中相匹配的买单和卖单之前,还包括:
生成待发布订单集,所述待发布订单集包括:第一数量的买单和第二数量的卖单,所述第一数量和所述第二数量基于测试需求确定;
调用所述待测区块链的第三接口对所述待发布订单集中的订单进行发单。
5.根据权利要求4所述的方法,其特征在于,
所述第一数量的买单的价格从预设最低买价自增,所述第二数量的卖单的价格从预设最低卖价自增;或者,
所述第一数量的买单的价格从预设最高买价自减,所述第二数量的卖单的价格从预设最高卖价自减;或者,
所述第一量的买单的价格从预设最低买价自增,所述第二数量的卖单的价格从预设最高卖价自减;或者,
所述第一量的买单的价格从预设最高买价自减,所述第二数量的卖单的价格从预设最低卖价自增。
6.根据权利要求4所述的方法,其特征在于,还包括:
确定所述第三接口返回的发单结果;
基于所述发单结果,确定所述待测区块链的发单测试结果。
7.根据权利要求6所述的方法,其特征在于,基于所述发单结果,确定所述待测区块链的发单测试结果包括:
基于所述发单结果,确定发单成功的订单数量和发单失败的订单数量;
基于所述发单成功的订单数量和所述发单失败的订单数量,确定所述待测区块链的发单测试结果。
8.根据权利要求6所述的方法,其特征在于,基于所述发单结果,确定所述待测区块链的发单测试结果包括:
若基于所述发单结果,确定存在如下任意一种情况,则确定发单测试结果为异常:
挂单数量和/或挂单价格超限;
挂单中买单的数量和卖单的数量的比例超限;
挂单中不存在相匹配的买单和卖单;
其中,挂单为发布成功的买单和卖单。
9.根据权利要求4所述的方法,其特征在于,还包括:
调用所述待测区块链的第四接口,获取发单和/或交易过程中相关对象的预设性能指标;
其中,相关对象的预设性能指标包括:所述待测区块链的CPU使用率、所述待测区块链的前端的响应时长、所述待测区块链的数据库的压力中的至少一个。
10.一种区块链测试装置,其特征在于,包括:
第一确定模块,用于确定已发布订单中相匹配的买单和卖单;
交易校验模块,用于调用待测区块链的第一接口进行所述相匹配的买单和卖单的交易,并基于所述待测区块链的第二接口返回的交易单校验所述交易的交易结果;
第二确定模块,用于基于校验结果,确定所述待测区块链的交易测试结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811593963.1A CN109636543A (zh) | 2018-12-25 | 2018-12-25 | 一种区块链测试方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811593963.1A CN109636543A (zh) | 2018-12-25 | 2018-12-25 | 一种区块链测试方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109636543A true CN109636543A (zh) | 2019-04-16 |
Family
ID=66077541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811593963.1A Pending CN109636543A (zh) | 2018-12-25 | 2018-12-25 | 一种区块链测试方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109636543A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111444090A (zh) * | 2020-03-24 | 2020-07-24 | 腾讯科技(深圳)有限公司 | 区块链中的合约测试方法、装置、电子设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080243669A1 (en) * | 2007-04-02 | 2008-10-02 | Driscoll James R | Test trading |
CN106548330A (zh) * | 2016-10-27 | 2017-03-29 | 上海亿账通区块链科技有限公司 | 基于区块链的交易验证方法及系统 |
CN106598824A (zh) * | 2016-11-25 | 2017-04-26 | 深圳前海微众银行股份有限公司 | 区块链的性能分析方法及装置 |
CN107632930A (zh) * | 2017-09-06 | 2018-01-26 | 南京南瑞继保电气有限公司 | 一种电力交易系统的测试方法、装置、仿真器和计算机存储介质 |
CN107943626A (zh) * | 2017-11-08 | 2018-04-20 | 中国银联股份有限公司 | 一种交易系统的性能测试方法及相关服务器 |
TW201828203A (zh) * | 2017-01-26 | 2018-08-01 | 現代財富控股有限公司 | 以智能合約數位化可量化資產並交易之系統及其方法 |
CN108520402A (zh) * | 2018-04-09 | 2018-09-11 | 济南浪潮高新科技投资发展有限公司 | 一种基于区块链的交易方法和交易装置 |
CN109074602A (zh) * | 2018-05-31 | 2018-12-21 | 深圳市元征科技股份有限公司 | 一种二手车交易方法及服务器 |
-
2018
- 2018-12-25 CN CN201811593963.1A patent/CN109636543A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080243669A1 (en) * | 2007-04-02 | 2008-10-02 | Driscoll James R | Test trading |
CN106548330A (zh) * | 2016-10-27 | 2017-03-29 | 上海亿账通区块链科技有限公司 | 基于区块链的交易验证方法及系统 |
CN106598824A (zh) * | 2016-11-25 | 2017-04-26 | 深圳前海微众银行股份有限公司 | 区块链的性能分析方法及装置 |
TW201828203A (zh) * | 2017-01-26 | 2018-08-01 | 現代財富控股有限公司 | 以智能合約數位化可量化資產並交易之系統及其方法 |
CN107632930A (zh) * | 2017-09-06 | 2018-01-26 | 南京南瑞继保电气有限公司 | 一种电力交易系统的测试方法、装置、仿真器和计算机存储介质 |
CN107943626A (zh) * | 2017-11-08 | 2018-04-20 | 中国银联股份有限公司 | 一种交易系统的性能测试方法及相关服务器 |
CN108520402A (zh) * | 2018-04-09 | 2018-09-11 | 济南浪潮高新科技投资发展有限公司 | 一种基于区块链的交易方法和交易装置 |
CN109074602A (zh) * | 2018-05-31 | 2018-12-21 | 深圳市元征科技股份有限公司 | 一种二手车交易方法及服务器 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111444090A (zh) * | 2020-03-24 | 2020-07-24 | 腾讯科技(深圳)有限公司 | 区块链中的合约测试方法、装置、电子设备及存储介质 |
CN111444090B (zh) * | 2020-03-24 | 2024-04-26 | 腾讯科技(深圳)有限公司 | 区块链中的合约测试方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230385841A1 (en) | Systems and methods for detecting out-of-pattern transactions | |
JP5889300B2 (ja) | オンライン取引ユーザーの信頼性評価の方法およびシステム | |
US10089646B1 (en) | Systems, devices, and methods for managing a payment transaction | |
US20130173320A1 (en) | Method and system utilizing merchant sales activity to provide indicative measurements of merchant and business performance | |
US20140257977A1 (en) | Systems, devices, and methods for managing a payment transaction | |
US11727407B2 (en) | Systems and methods for detecting out-of-pattern transactions | |
CN109063985A (zh) | 一种业务的风险决策方法及装置 | |
CN109978538A (zh) | 确定欺诈用户、训练模型、识别欺诈风险的方法及装置 | |
US20140250011A1 (en) | Account type detection for fraud risk | |
US20200387835A1 (en) | Identification and Suggestion of Rules Using Machine Learning | |
EP1374123A2 (en) | Automated fundraising accounting system | |
CN110458688A (zh) | 一种业务处理方法、装置及设备 | |
CN108647981A (zh) | 一种目标对象关联关系确定方法和装置 | |
CN110428304A (zh) | 一种订单结算系统、方法及装置 | |
CN111986001A (zh) | 基于区块链的订单融资方法、装置及系统 | |
CN109285072A (zh) | 货运代理的购付汇处理方法及系统 | |
CN109146493A (zh) | 消费数据处理方法及装置 | |
US20110184854A1 (en) | Merchant rate lookup | |
CN109636543A (zh) | 一种区块链测试方法和装置 | |
CN108492112A (zh) | 判定虚假资源转移及虚假交易的方法、装置及电子设备 | |
Peng et al. | FinancialCloud: Open cloud framework of derivative pricing | |
CN109409875A (zh) | 一种账单校验方法、装置及电子设备 | |
CN109447788A (zh) | 贷款方法、设备和存储介质 | |
CN110675260A (zh) | 基于区块链的农产品交易数据处理方法及装置 | |
CN110990888A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210720 Address after: 100016 no.4301, No.52 Jiuxianqiao hospital, Chaoyang District, Beijing Applicant after: BEIJING TESTIN INFORMATION TECHNOLOGY Co.,Ltd. Address before: 100041 room 9579, building 3, 3 Xijing Road, Badachu hi tech park, Shijingshan District, Beijing Applicant before: BEIJING TESTIN NETWORK TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190416 |
|
RJ01 | Rejection of invention patent application after publication |