CN114385488A - 区块链测试方法、装置、设备及存储介质 - Google Patents
区块链测试方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114385488A CN114385488A CN202111552322.3A CN202111552322A CN114385488A CN 114385488 A CN114385488 A CN 114385488A CN 202111552322 A CN202111552322 A CN 202111552322A CN 114385488 A CN114385488 A CN 114385488A
- Authority
- CN
- China
- Prior art keywords
- block chain
- testing
- test
- test case
- configuration information
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 204
- 230000006870 function Effects 0.000 claims abstract description 57
- 238000000034 method Methods 0.000 claims abstract description 38
- 238000013515 script Methods 0.000 claims description 81
- 230000006399 behavior Effects 0.000 claims description 25
- 230000008569 process Effects 0.000 claims description 14
- 238000006243 chemical reaction Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 8
- 230000003542 behavioural effect Effects 0.000 claims description 2
- 230000000977 initiatory effect Effects 0.000 claims 1
- 238000004458 analytical method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000008571 general function Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- XSQUKJJJFZCRTK-NJFSPNSNSA-N UREA C 14 Chemical compound N[14C](N)=O XSQUKJJJFZCRTK-NJFSPNSNSA-N 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test 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为本申请实施例中区块链测试方法的一种流程示意图;
图2为本申请实施例中测试系统的结构示意图;
图3为本申请实施例中内置框架的结构示意图;
图4为本申请实施例中区块链测试方法的另一种流程示意图;
图5为本申请实施例中区块链测试装置的结构示意图;
图6为本申请实施例中电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例提供一种区块链测试方法,该方法可应用于任一电子设备;
本申请实施例所描述电子设备可以包括智能手机(如Android手机、iOS手机、Windows Phone手机等)、平板电脑、掌上电脑、笔记本电脑、视频矩阵、监控平台、移动互联网设备(MID,Mobile Internet Devices)或穿戴式设备等,上述仅是举例,而非穷举,包含但不限于上述装置,当然,上述电子设备还可以为服务器,例如,云服务器。
如图1所示,该方法可以包括以下步骤:
步骤101、获取区块链匹配的逻辑拓扑和用于启动区块链的配置信息,逻辑拓扑用于指示区块链的节点类型以及节点间关系。
本实施例中,区块链的节点类型可以包括共识节点、转发节点、轻节点和自定义节点。
本实施例中,启动区块链的配置信息包括区块链节点启动所需的启动文件信息、端口开放信息等一系列需要的节点操作。
步骤102、获取对区块链的区块链功能进行测试的测试用例。
应用中,对区块链的区块链功能进行测试的测试用例由测试脚本进行表达。测试脚本是测试人员所写的脚本具体内容,支持通过配置文件入yaml格式书写,也支持通过不同语言如python、java、go等书写,各种接口及标准库的调用在基础层的内置框架中实现,脚本内的这些内容会通过后续的转换器和sdk进行统一格式,方便不同语言的测试人员写用例。
转换器实现定义了一些规则及脚本审查,各语言需要通过预先设计的规则进行脚本书写,然后根据内部转换代码统一输出为固定的格式,如果脚本审查不通过,会将出现问题的位置标记并将脚本置为失败,最终将所有脚本通过配置webhook上传给智能平台。
一个具体实施例中,获取对区块链的区块链功能进行测试的测试用例之前,获取编写指示测试用例的测试脚本的编写规则;确定与编写规则对应的转换规则;按照转换规则对测试脚本进行转换,并将转换后的测试脚本中的测试用例作为对区块链功能进行测试的测试用例。
步骤103、基于逻辑拓扑和配置信息启动区块链,并在启动区块链后,按照测试用例对区块链功能进行测试。
应用中,测试脚本的正常运行需要测试脚本对应的行为配置参数的支持,因此按照测试用例对区块链功能进行测试时,获取指示测试用例的测试脚本所对应的行为配置参数;按照行为配置参数运行测试脚本,以实现对区块链功能的测试。
其中,测试脚本对应的行为配置参数包括但不限于多线程调度、脚本错误重试、日志回显结构及等级等。
本实施例中,在基于逻辑拓扑和配置信息启动区块链时,先通过配置的方式将节点与集群的能力进行了行为的描述与接口的提供,再用代码的方式,详细描述了改行为和接口的具体实现方式,这里实现的通用的功能,如节点的启停与连接、集群启停还有异常模拟等。如果需要其它自定义的行为,则配置中写入对应的接口与描述,在代码中进行具体实现即可。
一个具体实施例中,基于逻辑拓扑和配置信息,确定区块链的行为描述和实现接口;调用实现接口,按照行为描述启动区块链。
本申请实施例提供的技术方案中,获取区块链匹配的逻辑拓扑和用于启动区块链的配置信息,逻辑拓扑用于指示区块链的节点类型以及节点间关系;获取对区块链的区块链功能进行测试的测试用例;基于逻辑拓扑和配置信息启动区块链,并在启动区块链后,按照测试用例对区块链功能进行测试。本实施例由于能够获取区块链的逻辑拓扑和启动区块链的配置信息,并能基于该逻辑拓扑和配置信息启动区块链,所以实现了对不同区块链的区块链功能的测试。
本申请另一实施例中,对区块链功能进行测试后,还可以通过收集日志对测试过程进行分析。
一个具体实施例中,按照测试用例对区块链功能进行测试之后,收集测试脚本中的测试日志;采用预先训练的网络模型分析测试日志,获得测试脚本在运行过程中出现的错误。
以下以电子设备中部署的具体的测试系统为例对本申请中的区块链测试方法展开描述。
请参见图2,图2为本申请实施例中提出的测试系统的结构示意图,该测试系统包括智能平台、脚本层、系统层和基础层共四个部分。
以下分别针对这四个部分展开介绍:
关于智能平台:
智能平台作为整个系统的上层设计,主要提供一些统计及智能分析的能力。
日志收集是根据配置文件,选择显示日志等级及调用栈信息,将每个脚本中的日志统一收集上传至智能平台数据库中,用于后续的数据分析工作。
AI分析根据每个脚本中错误的内容通过强化学习及GMM算法,进行机器学习的训练,确定出相应的版本问题、脚本问题、环境问题等,最终显示到可视化框架,并由测试人员根据日志结果进行二次确认。同时,AI分析中的提供了外置接口,通过该接口可以实现自定义的分析能力。
统计结果是将所有的日志结果根据AI分析分类显示到可视化框架,并支持历史记录查询功能。另外,在调用初始,可以根据配置文件来配置脚本覆盖率的收集及结果展示或根据自定义的埋点,收集所需的数据,最终接入可视化框架或第三方测试报告应用中。
可视化框架通过服务绑定进行前端页面的展示,可以显示某一个脚本的具体回显或相关历史回显,另外在总览页面统计了每日所有脚本的个数、错误的个数、错误原因和一些自定义选项。如果希望使用第三方应用直接显示测试报告,如allure、pytest-html、jest-html-reporters等,也可在服务绑定阶段进行自定义的配置。
关于脚本层:
脚本层为测试人员根据各区块链系统进行设置测试用例后,通过配置文件或者代码实现测试功能的一层。
触发器由一系列配置文件组成,主要为了定义脚本运行一些行为配置,如多线程调度、脚本错误重试、日志回显结构及等级等。
测试脚本是测试人员所写的脚本具体内容,支持通过配置文件入yaml格式书写,也支持通过不同语言如python、java、go等书写,各种接口及标准库的调用在基础层的内置框架中实现,脚本内的这些内容会通过后续的转换器和sdk进行统一格式,方便不同语言的测试人员写用例。
转换器实现定义了一些规则及脚本审查,各语言需要通过预先设计的规则进行脚本书写,然后根据内部转换代码统一输出为固定的格式,如果脚本审查不通过,会将出现问题的位置标记并将脚本置为失败,最终将所有脚本通过配置webhook上传给智能平台。
关于系统层:
系统层是一系列的目标被测系统,被测系统的部署和配置主要依赖基础层的实现。
关于基础层:
基础层该测试系统中最重要的一层,主要是一些底层的逻辑实现及接口提供。
逻辑拓补是设计被测系统的初始环节,根据指定的逻辑拓扑图及配置项,划分节点类型及节点间的关系,比如可以定义某些节点是共识节点、转发节点、轻节点和自定义节点等。每个节点中通过配置项进行配置所需的启动文件信息、端口开放信息等一系列需要的节点操作。根据规则完成逻辑拓扑图及配置项后,会进行系统规则检查,不通过的地方将被标记出来。如果检查通过,会将内容引入内置框架或扩展框架,进行下一步处理。
内置框架是基础层的核心,内部封装了很多接口及方法。请参见图3,图3为内置框架的内部结构划分:
内置框架包括配置项、管理中心(Manager)和接口(Helper)。
配置项中除了将逻辑拓扑中的内容转换成相应的配置,用于节点及链的启动前准备,还可以通过额外的路径指定将更详细的自定义配置内容可以加入其中,启动过程中,会根据该路径指定的文件进行读取配置内容,方便不同类型的区块链系统接入进来。
Manager是对节点、集群的封装。先通过配置的方式将节点与集群的能力进行了行为的描述与接口的提供,再用代码的方式,详细描述了改行为和接口的具体实现方式,这里实现的通用的功能,如节点的启停与连接、集群启停还有异常模拟等。如果需要其它自定义的行为,则配置中写入对应的接口与描述,在代码中进行具体实现即可。
Helper为测试脚本写作提供了大量的方法与接口,包括统一的标准库、链上方式方式(如jsonrpc、grpc、websocket等)、合约的编译、部署、调用及各语言的sdk包。对于扩展方法也可根据根据功能,自行写入不同模块之中,后续会进行统一的检查及编译,用来测试脚本的调用。
扩展框架是基于内置框架额外提供的方式,为了满足不同测试人员的需要,可以集成Pytest、Httprunner、Robot Framework、Jest等测试框架。
基于上述测试系统的具体流程如图4所示:
(1).根据逻辑拓扑和触发器配置进行配置初始化及预加载。
(2).通过预加载的配置,加载需要调度的脚本,sdk的加载会根据脚本语言进行识别。
(3).运行测试脚本,测试脚本会根据脚本结构中的setup及teardown,运行准备环境、清理环境的内容。准备环境中,节点与链启动依赖预加载的配置。脚本所有的命令均由ssh、ftp、接口调用(rpc、websocket等)方式进行运行与实现。脚本的回显及部分调用栈会根据触发器配置进行显示与归档,并且如果出现的错误,可以根据触发器配置进行重跑。
(4).所有脚本调度完成后,将日志结果统一发送给智能平台进行分析处理。
(5).测试人员通过智能平台查看调度情况与具体日志内容,并根据错误原因确认AI分析结果,如果分析有误,可手动重填,然后将相应的BUG提单链接附到备注中。
本实施例,利用一套测试框架及系统实现对区块链系统内各功能的测试,通过自定义的拓扑结构及配置文件,可以对区块链系统的节点、网络、共识、合约、存储等各方面的功能进行全面的测试。针对区块链系统的特点适配了相关模板与接口,并接入自定义的日志系统,使得测试的流程可视化,并能及时的发现异常的问题。例如:如果要测试某区块链的功能(以太坊或fabric),使用该框架的自定义拓扑结构及配置文件,关联绑定相关节点,并根据脚本模板的介绍,可采用配置文件或代码语言两种形式进行测试用例的运行,执行过程及结果显示可以在用例配置中自行定义,最终由框架自定义的日志系统或者通过配置接口指定外接的日志系统,输出相关日志文档,实现对区块链系统的整体功能测试。
基于同一构思,本申请实施例中提供了一种区块链测试装置,该装置的具体实施可参见方法实施例部分的描述,重复之处不再赘述,如图5所示,该装置主要包括:
逻辑拓扑模块501,用于获取区块链匹配的逻辑拓扑和用于启动区块链的配置信息,逻辑拓扑用于指示区块链的节点类型以及节点间关系;
测试脚本模块502,用于获取对区块链的区块链功能进行测试的测试用例;
内置框架模块503,用于基于逻辑拓扑和配置信息启动区块链,并在启动区块链后,按照测试用例对区块链功能进行测试。
可选地,该装置还用于:
获取对区块链的区块链功能进行测试的测试用例之前,获取编写指示测试用例的测试脚本的编写规则;
确定与编写规则对应的转换规则;
按照转换规则对测试脚本进行转换,并将转换后的测试脚本中的测试用例作为对区块链功能进行测试的测试用例。
可选地,内置框架模块503用于:
获取指示测试用例的测试脚本所对应的行为配置参数;
按照行为配置参数运行测试脚本,以实现对区块链功能的测试。
可选地,行为配置参数包括以下至少一种:
多线程调度;
脚本错误重试;
日志回显结构及等级。
可选地,内置框架模块503用于:
基于逻辑拓扑和配置信息,确定区块链的行为描述和实现接口;
调用实现接口,按照行为描述启动区块链。
可选地,该装置还用于:
按照测试用例对区块链功能进行测试之后,收集测试脚本中的测试日志;
采用预先训练的网络模型分析测试日志,获得测试脚本在运行过程中出现的错误。
基于同一构思,本申请实施例中还提供了一种电子设备,如图6所示,该电子设备主要包括:处理器601、存储器602和通信总线603,其中,处理器601和存储器602通过通信总线603完成相互间的通信。其中,存储器602中存储有可被处理器601执行的程序,处理器601执行存储器602中存储的程序,实现如下步骤:
获取区块链匹配的逻辑拓扑和用于启动区块链的配置信息,逻辑拓扑用于指示区块链的节点类型以及节点间关系;
获取对区块链的区块链功能进行测试的测试用例;
基于逻辑拓扑和配置信息启动区块链,并在启动区块链后,按照测试用例对区块链功能进行测试。
上述电子设备中提到的通信总线603可以是外设部件互连标准(PeripheralComponent Interconnect,简称PCI)总线或扩展工业标准结构(Extended IndustryStandard Architecture,简称EISA)总线等。该通信总线603可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器602可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器601的存储装置。
上述的处理器601可以是通用处理器,包括中央处理器(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.根据权利要求1所述的方法,其特征在于,基于所述逻辑拓扑和所述配置信息启动所述区块链,包括:
基于所述逻辑拓扑和所述配置信息,确定所述区块链的行为描述和实现接口;
调用所述实现接口,按照所述行为描述启动所述区块链。
6.根据权利要求1所述的方法,其特征在于,按照所述测试用例对所述区块链功能进行测试之后,还包括:
收集所述测试脚本中的测试日志;
采用预先训练的网络模型分析所述测试日志,获得所述测试脚本在运行过程中出现的错误。
7.一种区块链测试装置,其特征在于,包括:
逻辑拓扑模块,用于获取区块链匹配的逻辑拓扑和用于启动所述区块链的配置信息,所述逻辑拓扑用于指示所述区块链的节点类型以及节点间关系;
测试脚本模块,用于获取对所述区块链的区块链功能进行测试的测试用例;
内置框架模块,用于基于所述逻辑拓扑和所述配置信息启动所述区块链,并在启动所述区块链后,按照所述测试用例对所述区块链功能进行测试。
8.一种区块链测试系统,其特征在于,包括:
区块链和区块链测试装置;
所述区块链测试装置用于获取区块链匹配的逻辑拓扑和用于启动所述区块链的配置信息,所述逻辑拓扑用于指示所述区块链的节点类型以及节点间关系;获取对所述区块链的区块链功能进行测试的测试用例;基于所述逻辑拓扑和所述配置信息启动所述区块链,并在启动所述区块链后,按照所述测试用例对所述区块链功能进行测试。
9.一种电子设备,其特征在于,包括:处理器、存储器和通信总线,其中,处理器和存储器通过通信总线完成相互间的通信;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述存储器中所存储的程序,实现权利要求1-6任一项所述的区块链测试方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6任一项所述的区块链测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111552322.3A CN114385488A (zh) | 2021-12-17 | 2021-12-17 | 区块链测试方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111552322.3A CN114385488A (zh) | 2021-12-17 | 2021-12-17 | 区块链测试方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114385488A true CN114385488A (zh) | 2022-04-22 |
Family
ID=81197719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111552322.3A Pending CN114385488A (zh) | 2021-12-17 | 2021-12-17 | 区块链测试方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114385488A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108170590A (zh) * | 2017-12-12 | 2018-06-15 | 北京大学深圳研究生院 | 一种区块链系统的测试系统和方法 |
CN109739758A (zh) * | 2018-12-28 | 2019-05-10 | 广州云测信息技术有限公司 | 测试用例转换方法和装置 |
CN110113229A (zh) * | 2019-05-01 | 2019-08-09 | 中央财经大学 | 一种区块链基准性能测试系统和工具 |
CN110717825A (zh) * | 2018-06-27 | 2020-01-21 | 复旦大学 | 一种基于区块链的分布式数据交易记账系统 |
CN111563016A (zh) * | 2020-04-27 | 2020-08-21 | 平安医疗健康管理股份有限公司 | 日志采集分析方法、装置、计算机系统及可读存储介质 |
CN112134762A (zh) * | 2020-09-24 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 针对区块链网络结构的测试方法、装置、终端和存储介质 |
CN113377661A (zh) * | 2021-06-23 | 2021-09-10 | 深圳平安智汇企业信息管理有限公司 | 接口测试方法、装置、电子设备及存储介质 |
CN113760704A (zh) * | 2020-09-16 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | Web UI的测试方法、装置、设备以及存储介质 |
-
2021
- 2021-12-17 CN CN202111552322.3A patent/CN114385488A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108170590A (zh) * | 2017-12-12 | 2018-06-15 | 北京大学深圳研究生院 | 一种区块链系统的测试系统和方法 |
CN110717825A (zh) * | 2018-06-27 | 2020-01-21 | 复旦大学 | 一种基于区块链的分布式数据交易记账系统 |
CN109739758A (zh) * | 2018-12-28 | 2019-05-10 | 广州云测信息技术有限公司 | 测试用例转换方法和装置 |
CN110113229A (zh) * | 2019-05-01 | 2019-08-09 | 中央财经大学 | 一种区块链基准性能测试系统和工具 |
CN111563016A (zh) * | 2020-04-27 | 2020-08-21 | 平安医疗健康管理股份有限公司 | 日志采集分析方法、装置、计算机系统及可读存储介质 |
CN113760704A (zh) * | 2020-09-16 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | Web UI的测试方法、装置、设备以及存储介质 |
CN112134762A (zh) * | 2020-09-24 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 针对区块链网络结构的测试方法、装置、终端和存储介质 |
CN113377661A (zh) * | 2021-06-23 | 2021-09-10 | 深圳平安智汇企业信息管理有限公司 | 接口测试方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106844217B (zh) | 对应用的控件进行埋点的方法及装置、可读存储介质 | |
CN111651366B (zh) | Sdk测试方法、装置、设备及存储介质 | |
CN110502374A (zh) | 识别自动测试时设备故障的根本原因的流量捕获调试工具 | |
CN111124919A (zh) | 一种用户界面的测试方法、装置、设备及存储介质 | |
CN105094783A (zh) | 安卓应用稳定性测试的方法及装置 | |
CN107526676B (zh) | 一种跨系统测试方法及装置 | |
CN103365770A (zh) | 移动终端软件测试系统及软件测试方法 | |
US10824541B1 (en) | System and method for test data fabrication | |
CN110659198A (zh) | 应用程序的测试用例执行方法、装置和软件测试系统 | |
CN103399814A (zh) | 自动化测试的方法及装置 | |
CN112115051A (zh) | 应用的页面遍历探测方法、装置、设备及可读存储介质 | |
CN115658529A (zh) | 用户页面的自动化测试方法以及相关设备 | |
CN117370203A (zh) | 自动化测试方法、系统、电子设备及存储介质 | |
CN113505895B (zh) | 一种机器学习引擎服务系统及模型训练方法和配置方法 | |
CN112231206A (zh) | 应用程序测试的脚本编辑方法、计算机可读存储介质及测试平台 | |
CN115248782B (zh) | 一种自动化测试方法、装置及计算机设备 | |
CN114385488A (zh) | 区块链测试方法、装置、设备及存储介质 | |
CN115309661A (zh) | 一种应用测试方法、装置、电子设备及可读存储介质 | |
CN116185826A (zh) | 一种测试方法、装置、设备及存储介质 | |
CN114490337A (zh) | 调测方法、调测平台、设备及存储介质 | |
CN115145826A (zh) | 一种全流程自动化测试方法和系统 | |
CN114265735A (zh) | 一种设备测试方法、系统、装置及计算机可读存储介质 | |
CN113238968A (zh) | 系统测试方法、装置、设备、介质及程序产品 | |
CN111061244A (zh) | 一种配电主站监控系统的自动化测试方法 | |
CN118093381B (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 |