CN115454819A - 区块链跨链系统的测试方法、装置、设备及存储介质 - Google Patents

区块链跨链系统的测试方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN115454819A
CN115454819A CN202210982035.4A CN202210982035A CN115454819A CN 115454819 A CN115454819 A CN 115454819A CN 202210982035 A CN202210982035 A CN 202210982035A CN 115454819 A CN115454819 A CN 115454819A
Authority
CN
China
Prior art keywords
cross
chain system
chain
test
blockchain
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
CN202210982035.4A
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.)
Hangzhou Qulian Technology Co Ltd
Original Assignee
Hangzhou Qulian 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 Hangzhou Qulian Technology Co Ltd filed Critical Hangzhou Qulian Technology Co Ltd
Priority to CN202210982035.4A priority Critical patent/CN115454819A/zh
Publication of CN115454819A publication Critical patent/CN115454819A/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请涉及一种区块链系统的测试方法、装置、设备及存储介质。由于对区块链跨链系统测试用的案例场景库为基于本次对区块链跨链系统测试用的期望影响比例所确定,所以基于案例场景库生成的测试案例实际上为混合多种异常场景的测试案例,以此实现了对区块链跨链系统测试的覆盖度。

Description

区块链跨链系统的测试方法、装置、设备及存储介质
技术领域
本申请涉及计算机领域,尤其涉及一种区块链系统的测试方法、装置、设备及存储介质。
背景技术
对于区块链跨链系统这类分布式系统,其长时间稳定地提供服务是非常重要的一项能力和评判指标。在实际运行过程中可能会遇到网络异常抖动、cpu负载过高、存储空间不够等问题,如果区块链跨链系统不能很好地处理这些可能的故障和异常情况,那么它的稳定性将遇到很大的挑战,特别是如果节点共识层面出现问题,将使得整个系统服务陷入不可用的状态,后果十分严重。这种情况下系统的容错和恢复能力(即系统鲁棒性)需要得到十分细致和完备的测试,只有测试通过的系统才能有把握应对线上真实环境的挑战。
发明内容
本申请提供了一种区块链系统的测试方法、装置、设备及存储介质,用以实现对区块链跨链系统的测试。
第一方面,提供一种区块链跨链系统的测试方法,包括:
基于本次对区块链跨链系统测试用的期望影响比例,确定对所述区块链跨链系统进行测试的案例场景库,所述案例场景库中包括至少一个案例场景;
生成与所述案例场景库对应的测试案例;
当确认所述区块链跨链系统的运行正常时,向所述区块链跨链系统施加所述测试案例,并收集所述区块链跨链系统的测试结果;
分析所述测试结果,得到所述区块链跨链系统正常运行与异常运行的临界点。
可选地,基于本次对区块链跨链系统进行测试用的期望影响比例,确定对所述区块链跨链系统进行测试的案例场景库,包括:
确定与所述区块链跨链系统的框架匹配的第一案例场景;
获取所述第一案例场景对所述区块链跨链系统的第一影响比例;
基于所述影响比例和所述第一影响比例,确定剩余影响比例;
确定与所述剩余影响比例匹配的第二案例场景;
基于所述第一案例场景和所述第二案例场景得到所述案例场景库。
可选地,确认所述区块链跨链系统的运行正常,包括:
采集使用参数以及获取所述区块链跨链系统的节点集群的状态,所述使用参数表征所述区块链跨链系统的硬件资源和操作系统的使用情况;
当所述使用参数在预设的参数范围内,且所述节点集群的状态为正常状态时,确认所述区块链跨链系统的运行正常。
可选地,获取所述区块链跨链系统的节点集群的状态,包括:
通过超文本传输协议请求,访问所述区块链跨链系统中任意一个区块链节点的健康服务接口,获取所述任意一个区块链节点的状态;
将所述任意一个区块链节点的状态,作为所述区块链跨链系统的节点集群的状态。
可选地,采集使用参数,包括:
获取所述测试案例中的测试指标项;
确定与所述测试指标项对应的指标获取命令;
采用所述指标获取命令,从所述硬件资源和所述操作系统中,获取所述使用参数。
可选地,收集所述区块链跨链系统的测试结果,包括:
当确定所述案例场景中包括测试结果具有偶然性的目标案例场景时,按照与所述目标案例场景对应的采集周期,收集所述区块链跨链系统的测试结果。
可选地,分析所述测试结果,得到所述区块链跨链系统正常运行与异常运行的临界点之后,还包括:
获取所述区块链跨链系统运行于所述临界点时的运行参数;
当所述运行参数与所述案例场景中的指标参数的参数差大于参数阈值时,向用户进行提示,以使得所述用户重新部署所述区块链跨链系统的运行环境。
第二方面,提供一种区块链跨链系统的测试装置,包括:
确定模块,用于基于本次对区块链跨链系统测试用的期望影响比例,确定对所述区块链跨链系统进行测试的案例场景库,所述案例场景库中包括至少一个案例场景;
生成模块,用于生成与所述案例场景库对应的测试案例;
测试模块,用于当确认所述区块链跨链系统的运行正常时,向所述区块链跨链系统施加所述测试案例,并收集所述区块链跨链系统的测试结果;
分析模块,用于分析所述测试结果,得到所述区块链跨链系统正常运行与异常运行的临界点。
第三方面,提供一种电子设备,包括:处理器、存储器和通信总线,其中,处理器和存储器通过通信总线完成相互间的通信;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述存储器中所存储的程序,实现第一方面所述的区块链跨链系统的测试方法。
第四方面,提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的区块链跨链系统的测试方法。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的该方法,由于对区块链跨链系统测试用的案例场景库为基于本次对区块链跨链系统测试用的期望影响比例所确定,所以基于案例场景库生成的测试案例实际上为混合多种异常场景的测试案例,以此实现了对区块链跨链系统测试的覆盖度。
采用本申请实施例提供的方法,以灵活主动制造各种异常的混合情况,在系统上线之前充分地测试出来其鲁棒性边界,并能快速还原测试场景进行回归验证,也可以为系统上线后的运维、健康检查、故障应对提供一定的应对方案。主动制造故障场景,结合节点健康检查实时监控区块链跨链系统的运行情况,可以方便测试到系统的稳定性边界。考虑了实际线上复杂的运行环境,可以混合多种异常常景共同实施,大大提高测试的覆盖度。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中区块链跨链系统的测试方法的一种流程示意图;
图2为本申请实施例中区块链跨链系统的测试方法的又一种流程示意图;
图3为本申请实施例中区块链跨链系统的测试装置的结构示意图;
图4为本申请实施例中电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
相关技术中,面对区块链跨链系统这类分布式系统的稳定性问题,一般来说是做一些前期的工作来应对,例如添加监控告警平台、扩容演练、主备冗余等,但是这些为系统未来可能风险做的准备都是被动的,即要么是通过监控进程、资源等信息提前预警,要么是针对已知的异常场景进行多活部署,以在可接受的范围内恢复服务,这都是被动的应对方式。而且就算考虑到了异常场景的测试,绝大多数测试实施方案也只是针对一种或少数几种进行单独测试,没有考虑到多种异常场景混合实施的场景,异常场景覆盖度并不足够,所以在系统投产或试运行开始之后,还是会面临较多的潜在风险。与其被动等待,不如在前期测试就主动制造各种可能的异常场景,并进行混合实施,探索和测试区块链跨链系统的稳定性边界,只有我们清晰地探知到区块链跨链系统的鲁棒能力的极限,才能更针对性地采取措施提前解决问题,也能提前制定好各种应对预案。
总的说来,其它现有的技术主要有如下缺点:
主要通过监控加预警、主备多活等传统模式被动应对异常场景,不够主动,也无法测试出系统的鲁棒性边界;
少数通过主动实施异常场景的测试方案,没有考虑到多异常场景混合实施的情况,测试覆盖度不够,系统上线依然面临长时间稳定运行的风险,且应对措施也比较单一。
为了解决相关技术中存在的技术问题,本申请实施例提供一种区块链跨链系统的测试方法,该方法可应用于电子设备中。
本申请实施例所描述电子设备可以包括终端或者服务器,本申请实施例不做限定。终端可以是诸如手机、平板电脑、笔记本电脑、掌上电脑、PAD(Personal DigitalAssistant,个人数字助理)、PMP(Portable Media Player,便捷式多媒体播放器)、导航装置等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。
如图1所示,该方法可以包括以下步骤:
步骤101、基于本次对区块链跨链系统测试用的期望影响比例,确定对区块链跨链系统进行测试的案例场景库,案例场景库中包括至少一个案例场景。
本实施例中,对区块链跨链系统测试用的期望影响比例可以人为预先设置或根据实际需求设置,本实施例对此不作具体限定。比如可以设置期望影响比例可以为100%。
本实施例中,案例场景库中的案例场景包括但不限于网络抖动、CPU满载、磁盘空间不足等场景。
应理解,由于案例场景库中包括多个案例场景,所以采用本实施例的方案能够实现混合多种异常场景共同实施,大大提高测试的覆盖度。
本实施例中,确定案例场景库时,一个可选实施例中,确定与区块链跨链系统的框架匹配的第一案例场景;获取第一案例场景对区块链跨链系统的第一影响比例;基于影响比例和第一影响比例,确定剩余影响比例;确定与剩余影响比例匹配的第二案例场景;基于第一案例场景和第二案例场景得到案例场景库。
本实施例中,每个案例场景对应一个影响比例,不同案例场景的影响比例可以预先设置。因此在得到剩余影响比例之后,可以采用剩余影响比例查询预先设置的各案例场景的影响比例,以找到影响比例组合之后能够为剩余影响比例的多个案例场景,并将这些案例场景作为第二案例场景。也就是说,在本实施例中,第二案例场景可以包括多个案例场景。
一个例子中,存在案例场景1、案例场景2和案例场景3,案例场景1的影响比例为20%,案例场景2的影响比例为30%,案例场景3的影响比例为40%,如果剩余影响比例为50%,由于案例场景1和案例场景2的影响比例之和为50%,所以可以确定第二案例场景包括案例场景1和案例场景2。
本实施例中,第一案例场景也可以包括多个案例场景,相应的,第一影响比例为第一案例场景所包括的多个案例场景对应的影响比例之和。
本实施例中,不同区块链跨链系统的框架不同,这就导致不同区块链跨链系统所能适配的基础的案例场景有差异。这里的基础的案例场景指的是区块链跨链系统所必须做的案例场景。应用中,可以预先设置不同的区块链跨链系统的框架所适配的基础的案例场景,并建立区块链跨链系统的框架与基础的案例场景之间的对应关系,因此当需要确定区块链跨链系统的基础的案例场景时,可以采用区块链跨链系统的框架查询该对应关系,以得到区块链跨链系统所适配的基础的案例场景。
应理解,剩余影响比例为影响比例与第一影响比例的比例差。
步骤102、生成与案例场景库对应的测试案例。
应理解,这里案例场景库生成了一个测试案例,即案例场景库中的至少一个案例场景共同生成一个测试案例,以此实现了对区块链跨链系统混合多种异常场景的共同实施。
步骤103、当确认区块链跨链系统的运行正常时,向区块链跨链系统施加测试案例,并收集区块链跨链系统的测试结果。
本实施例中,区块链跨链系统的运行由承载区块链跨链系统的硬件资源和操作,以及区块链跨链系统的节点集群的状态共同表征。
具体实现时,一个可选实施例中,采集使用参数以及获取区块链跨链系统的节点集群的状态,使用参数表征区块链跨链系统的硬件资源和操作系统的使用情况;当使用参数在预设的参数范围内,且节点集群的状态为正常状态时,确认区块链跨链系统的运行正常。
应理解,预设的参数范围可以人为基于经验或根据实际需要设置,本实施例不作具体限定。
本实施例中,由于区块链跨链系统的各节点满足共识机制,所以可以基于区块链跨链系统中任意一个节点的状态,确定区块链跨链系统的节点集群的状态。
具体实现时,一个可选实施例中,通过超文本传输协议请求,访问区块链跨链系统中任意一个区块链节点的健康服务接口,获取任意一个区块链节点的状态;将任意一个区块链节点的状态,作为区块链跨链系统的节点集群的状态。
本实施例中,在采集表征硬件资源和操作系统的使用情况的使用参数时,可以使用指标获取命令实现。
具体实现时,一个可选实施例中,获取测试案例中的测试指标项;确定与测试指标项对应的指标获取命令;采用指标获取命令,从硬件资源和操作系统中,获取使用参数。
应理解,测试指标项指示需要测试的指标。以磁盘空间不足这一场景对应的测试案例为例,这一场景下的测试案例中的测试指标项可以为磁盘的空间大小。
应用中,可以预先设置不同的测试指标项所对应的指标获取命令,比如设置网络延时可以使用ping命令,cpu负载可以使用top命令等。
应理解,测试结果收集是在测试实施开始时就启动并执行的,由于有的测试的结果具有一定的偶然性,因此可以按照固定时间(例如2s)间隔记录和收集区块链节点系统在对应测试案例下的表现,在表格上进行记录。
具体实现时,一个可选实施例中,当确定案例场景中包括测试结果具有偶然性的目标案例场景时,按照与目标案例场景对应的采集周期,收集区块链跨链系统的测试结果。
应理解,这里的采集周期可以预先设置,本实施例对此不作具体限定。
步骤104、分析测试结果,得到区块链跨链系统正常运行与异常运行的临界点。
本实施例通过分析区块链跨链系统正常运行与异常运行的临界点可以明确在特定异常场景下区块链跨链系统的稳定性的临界范围。比如例如网络延迟大于5s且磁盘使用率高于95%时,区块链系统节点运行异常的概率为100%。
本实施例中,还可以在区块链跨链系统在临界点时的运行参数不满足要求时,向用户进行提示,以使得用户更新区块链跨链系统的代码,针对之前测试结果中反馈的稳定性脆弱点,进行回归测试。应理解,这里的用户可以为区块链跨链系统的开发人员。
具体实现时,一个可选实施例中,获取区块链跨链系统运行于临界点时的运行参数;当运行参数与案例场景中的指标参数的参数差大于参数阈值时,向用户进行提示,以使得用户重新部署区块链跨链系统的运行环境。
本实施例提供的技术方案中,由于对区块链跨链系统测试用的案例场景库为基于本次对区块链跨链系统测试用的期望影响比例所确定,所以基于案例场景库生成的测试案例实际上为混合多种异常场景的测试案例,以此实现了对区块链跨链系统测试的覆盖度。
为了方便理解,给出如图2所示的区块链跨链系统的测试方法的流程示意图。在图2中,该方法可以包括混沌测试设计、混沌测试实施、混沌测试结果收集、混沌测试结果分析以及混沌测试回归分析几个阶段,以下针对这几个阶段分别展开描述。
混沌测试设计:这个阶段主要是确定区块链系统的部署架构和预期目标,根据预期的目标和人力、时间等资源明确混沌测试的范围,从而形成针对本次测试的实施计划和场景案例库(例如本次测试重点是针对网络抖动、cpu满载、磁盘空间不足等异常场景),对于重点关注的几种场景,可以将它们按一定策略进行组合(例如网络抖动场景必不可少,cpu满载时内存使用不低于80%等),形成多维度的混沌测试案例场景。例如在模拟网络抖动时,也可以同时注入cpu或内存满载的场景,监测区块链节点的运行状态。总的来说,就是在前置需求和人力、时间确定的情况下,按照测试需求尽量设计多维度、有侧重点的测试场景实施计划,以便达到较好的测试效果。
混沌测试实施:这是混沌测试的关键阶段,在执行混沌测试之前需要确认区块链系统运行是正常的(可以根据硬件监控工具和区块链节点健康服务接口来判断节点集群的运行状态,具体判断方法是:1.硬件监控工具获取硬件资源和操作系统的使用情况;2.通过http请求访问区块链节点健康服务接口,如节点集群状态正常会返回normal的信息,如节点集群状态异常则会返回abnormal的信息)。
接下来按照上一步制定的混沌测试计划和方案依次实施测试案例,在实施过程中需要确认混沌测试的案例确实已经施加在区块链节点之上,例如施加了网络延迟5s和cpu使用率95%的混合场景,那么可以根据Linux命令行获取相应的指标来判断(例如网络延时可以使用ping命令,cpu负载可以使用top命令等),一般来说实施了混沌测试案例的期间,被施加影响的区块链节点状态和服务器的硬件指标会有对应的影响出现。需要额外注意的是,在后续每次实施混沌测试案例之前,还要判断上一个场景的脚本已经执行完毕,其对应的异常影响已经消失,具体的判断方法参考上面的描述即可。
混沌测试结果收集:此阶段是在混沌测试实施开始时就启动并执行的,前面描述的如何让判断区块链节点运行状态的方法,是这个阶段的重点操作,可以按照固定时间(例如2s)间隔记录和收集区块链节点系统在对应测试案例下的表现,在表格上进行记录。需要注意的是,有时混沌测试的结果具有一定的偶然性(例如网络丢包的场景,在系统稳定性的临界点附近可能几次执行混沌测试的结果不完全一样),这时一般要重复执行3-5次左右,得到一个大概的规律。
混沌测试结果分析:在收集了混沌测试结果之后,实施人员可以先根据前面记录表格的数据进行初步分析,模拟出混沌测试实施过程中区块链节点的运行状态变化图,这样可以很清晰地观察到区块链节点正常运行与异常运行的临界点,明确在特定异常场景下区块链跨链系统的稳定性的临界范围(例如网络延迟大于5s且磁盘使用率高于95%时,区块链系统节点运行异常的概率为100%),对于需要优化的场景,反馈给对应的开发人员。
混沌测试回归:在开发人员修改完成后,还需要更新区块链跨链系统的代码,针对之前测试结果中反馈的稳定性脆弱点,进行回归测试。
基于同一构思,本申请实施例中提供了一种区块链跨链系统的测试装置,该装置的具体实施可参见方法实施例部分的描述,重复之处不再赘述,如图3所示,该装置主要包括:
确定模块301,用于基于本次对区块链跨链系统测试用的期望影响比例,确定对区块链跨链系统进行测试的案例场景库,案例场景库中包括至少一个案例场景;
生成模块302,用于生成与案例场景库对应的测试案例;
测试模块303,用于当确认区块链跨链系统的运行正常时,向区块链跨链系统施加测试案例,并收集区块链跨链系统的测试结果;
分析模块304,用于分析测试结果,得到区块链跨链系统正常运行与异常运行的临界点。
确定模块301用于:
确定与区块链跨链系统的框架匹配的第一案例场景;
获取第一案例场景对区块链跨链系统的第一影响比例;
基于影响比例和第一影响比例,确定剩余影响比例;
确定与剩余影响比例匹配的第二案例场景;
基于第一案例场景和第二案例场景得到案例场景库。
测试模块303用于:
采集使用参数以及获取区块链跨链系统的节点集群的状态,使用参数表征区块链跨链系统的硬件资源和操作系统的使用情况;
当使用参数在预设的参数范围内,且节点集群的状态为正常状态时,确认区块链跨链系统的运行正常。
测试模块303用于:
通过超文本传输协议请求,访问区块链跨链系统中任意一个区块链节点的健康服务接口,获取任意一个区块链节点的状态;
将任意一个区块链节点的状态,作为区块链跨链系统的节点集群的状态。
测试模块303用于:
获取测试案例中的测试指标项;
确定与测试指标项对应的指标获取命令;
采用指标获取命令,从硬件资源和操作系统中,获取使用参数。
测试模块303用于:
当确定案例场景中包括测试结果具有偶然性的目标案例场景时,按照与目标案例场景对应的采集周期,收集区块链跨链系统的测试结果。
该装置还用于:
分析测试结果,得到区块链跨链系统正常运行与异常运行的临界点之后,获取区块链跨链系统运行于临界点时的运行参数;
当运行参数与案例场景中的指标参数的参数差大于参数阈值时,向用户进行提示,以使得用户重新部署区块链跨链系统的运行环境。
基于同一构思,本申请实施例中还提供了一种电子设备,如图4所示,该电子设备主要包括:处理器401、存储器402和通信总线403,其中,处理器401和存储器402通过通信总线403完成相互间的通信。其中,存储器402中存储有可被处理器401执行的程序,处理器401执行存储器402中存储的程序,实现如下步骤:
基于本次对区块链跨链系统测试用的期望影响比例,确定对区块链跨链系统进行测试的案例场景库,案例场景库中包括至少一个案例场景;生成与案例场景库对应的测试案例;当确认区块链跨链系统的运行正常时,向区块链跨链系统施加测试案例,并收集区块链跨链系统的测试结果;分析测试结果,得到区块链跨链系统正常运行与异常运行的临界点。
上述电子设备中提到的通信总线403可以是外设部件互连标准(PeripheralComponent Interconnect,简称PCI)总线或扩展工业标准结构(Extended IndustryStandard Architecture,简称EISA)总线等。该通信总线403可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器402可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器401的存储装置。
上述的处理器401可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等,还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当该计算机程序在计算机上运行时,使得计算机执行上述实施例中所描述的区块链跨链系统的测试方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。该计算机可以时通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、微波等)方式向另外一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如软盘、硬盘、磁带等)、光介质(例如DVD)或者半导体介质(例如固态硬盘)等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种区块链跨链系统的测试方法,其特征在于,包括:
基于本次对区块链跨链系统测试用的期望影响比例,确定对所述区块链跨链系统进行测试的案例场景库,所述案例场景库中包括至少一个案例场景;
生成与所述案例场景库对应的测试案例;
当确认所述区块链跨链系统的运行正常时,向所述区块链跨链系统施加所述测试案例,并收集所述区块链跨链系统的测试结果;
分析所述测试结果,得到所述区块链跨链系统正常运行与异常运行的临界点。
2.根据权利要求1所述的方法,其特征在于,基于本次对区块链跨链系统进行测试用的期望影响比例,确定对所述区块链跨链系统进行测试的案例场景库,包括:
确定与所述区块链跨链系统的框架匹配的第一案例场景;
获取所述第一案例场景对所述区块链跨链系统的第一影响比例;
基于所述影响比例和所述第一影响比例,确定剩余影响比例;
确定与所述剩余影响比例匹配的第二案例场景;
基于所述第一案例场景和所述第二案例场景得到所述案例场景库。
3.根据权利要求1所述的方法,其特征在于,确认所述区块链跨链系统的运行正常,包括:
采集使用参数以及获取所述区块链跨链系统的节点集群的状态,所述使用参数表征所述区块链跨链系统的硬件资源和操作系统的使用情况;
当所述使用参数在预设的参数范围内,且所述节点集群的状态为正常状态时,确认所述区块链跨链系统的运行正常。
4.根据权利要求3所述的方法,其特征在于,获取所述区块链跨链系统的节点集群的状态,包括:
通过超文本传输协议请求,访问所述区块链跨链系统中任意一个区块链节点的健康服务接口,获取所述任意一个区块链节点的状态;
将所述任意一个区块链节点的状态,作为所述区块链跨链系统的节点集群的状态。
5.根据权利要求3所述的方法,其特征在于,采集使用参数,包括:
获取所述测试案例中的测试指标项;
确定与所述测试指标项对应的指标获取命令;
采用所述指标获取命令,从所述硬件资源和所述操作系统中,获取所述使用参数。
6.根据权利要求1所述的方法,其特征在于,收集所述区块链跨链系统的测试结果,包括:
当确定所述案例场景中包括测试结果具有偶然性的目标案例场景时,按照与所述目标案例场景对应的采集周期,收集所述区块链跨链系统的测试结果。
7.根据权利要求1-6任一项所述的方法,其特征在于,分析所述测试结果,得到所述区块链跨链系统正常运行与异常运行的临界点之后,还包括:
获取所述区块链跨链系统运行于所述临界点时的运行参数;
当所述运行参数与所述案例场景中的指标参数的参数差大于参数阈值时,向用户进行提示,以使得所述用户重新部署所述区块链跨链系统的运行环境。
8.一种区块链跨链系统的测试装置,其特征在于,包括:
确定模块,用于基于本次对区块链跨链系统测试用的期望影响比例,确定对所述区块链跨链系统进行测试的案例场景库,所述案例场景库中包括至少一个案例场景;
生成模块,用于生成与所述案例场景库对应的测试案例;
测试模块,用于当确认所述区块链跨链系统的运行正常时,向所述区块链跨链系统施加所述测试案例,并收集所述区块链跨链系统的测试结果;
分析模块,用于分析所述测试结果,得到所述区块链跨链系统正常运行与异常运行的临界点。
9.一种电子设备,其特征在于,包括:处理器、存储器和通信总线,其中,处理器和存储器通过通信总线完成相互间的通信;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述存储器中所存储的程序,实现权利要求1-7任一项所述的区块链跨链系统的测试方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的区块链跨链系统的测试方法。
CN202210982035.4A 2022-08-16 2022-08-16 区块链跨链系统的测试方法、装置、设备及存储介质 Pending CN115454819A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210982035.4A CN115454819A (zh) 2022-08-16 2022-08-16 区块链跨链系统的测试方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210982035.4A CN115454819A (zh) 2022-08-16 2022-08-16 区块链跨链系统的测试方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN115454819A true CN115454819A (zh) 2022-12-09

Family

ID=84298185

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210982035.4A Pending CN115454819A (zh) 2022-08-16 2022-08-16 区块链跨链系统的测试方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN115454819A (zh)

Similar Documents

Publication Publication Date Title
CN109062809B (zh) 一种线上测试用例生成方法、装置及电子设备
CN110088744B (zh) 一种数据库维护方法及其系统
CN109543891B (zh) 容量预测模型的建立方法、设备及计算机可读存储介质
CN112052172B (zh) 第三方通道的快速测试方法、装置和电子设备
CN111897724A (zh) 一种适用于云平台的自动化测试方法及装置
KR20160000758A (ko) 품질테스트장치 및 방법
US10635575B2 (en) Testing of enterprise resource planning systems
CN107621963B (zh) 一种软件部署方法、软件部署系统及电子设备
CN114844768A (zh) 信息分析方法、装置及电子设备
CN111143151B (zh) 业务监控方法、装置以及电子设备
CN105912467B (zh) 一种性能测试方法及装置
CN116738091A (zh) 页面监控方法、装置、电子设备及存储介质
CN107342917B (zh) 用于检测网络设备性能的方法和装置
CN115454819A (zh) 区块链跨链系统的测试方法、装置、设备及存储介质
CN115509918A (zh) 一种软件测试方法、装置、电子设备及存储介质
CN113392021A (zh) 集群可靠性测试结果分析的方法、装置、设备及可读介质
Chan et al. Debugging incidents in Google's distributed systems
CN108712284B (zh) 一种故障业务的定位方法、装置、及业务服务器
CN108845932B (zh) 一种网络库的单元测试方法、装置、存储介质及终端
CN112882948A (zh) 一种应用的稳定性测试方法、装置、系统及存储介质
CN110442508B (zh) 测试任务处理方法、装置、设备和介质
CN112631929A (zh) 测试用例生成方法、装置、存储介质及电子设备
CN111611520B (zh) 一种流量作弊的监测方法、装置、电子设备及存储介质
CN111324846B (zh) 信息处理方法、装置、电子设备及计算机可读存储介质
CN111324505B (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