技术新讯 > 电子通信装置的制造及其应用技术 > 一种面向区块链的测试场景自动化构建方法及系统  >  正文

一种面向区块链的测试场景自动化构建方法及系统

  • 国知局
  • 2024-08-30 14:43:10

本发明涉及电子与信息,特别是涉及一种面向区块链的测试场景自动化构建方法及系统。

背景技术:

1、区块链是一种去中心化的分布式账本,具备存储不可篡改、安全可信的特性。它融合了分布式存储、点对点传输、共识机制、密码学等技术,通过记录交易和信息的数据块链,确保数据的安全和透明性。为了保障区块链网络的安全运行,需要对其进行仿真测试。

2、然而,目前区块链网络测试场景主要依赖于手工配置,涉及对hyperledgerfabric等区块链平台的运行机制理解,以及对自动化运维、云计算基础设施和网络架构等多方面知识的掌握。由于技术的复杂性和专业性要求高,缺乏足够专业知识可能降低区块链测试的可靠性,增加人工部署错误率等风险。此外,面对复杂多变的区块链网络,构建全面的测试场景可能具有挑战性,导致测试覆盖不足。

技术实现思路

1、本发明的目的在于提出一种面向区块链的测试场景自动化构建方法及系统,能够根据测试需求灵活地自动构建区块链的测试场景,显著减少测试人员构建测试场景所需的时间,同时降低人工配置测试场景所带来的错误风险,满足不同规模区块链网络的测试需求。

2、为实现上述目的,第一方面,本发明实施例提供了一种面向区块链的测试场景自动化构建方法,所述方法包括:

3、根据用户端提供的网络规模参数,从预设的拓扑实例库中获取相对应的网络拓扑数据,基于所述网络拓扑数据进行数据预处理,并对数据预处理后的网络拓扑数据通过预设的路由配置规则进行整合,生成网络拓扑配置;

4、解析所述网络拓扑配置中的节点,确定节点类别,并根据所述节点类别对每一个所述节点进行资源配置,得到配置包;

5、确定测试场景参数对应的测试场景配置文件和测试场景验证文件;

6、通过所述网络拓扑配置和所述配置包构建区块链测试网络,使用所述测试场景配置文件对所述区块链测试网络进行配置,得到测试场景,并利用所述测试场景验证文件对所述测试场景进行测试及验证。

7、在一实施例中,所述网络拓扑数据包括节点数据和边数据,所述边数据用于表征两个所述节点数据之间的关系;所述数据预处理后的网络拓扑数据包括节点配置数据;所述基于所述网络拓扑数据进行数据预处理,包括:

8、对所述节点数据配置ip地址信息;

9、根据所述节点数据对所述边数据进行网段划分,生成若干个网段;

10、对每一个所述网段生成若干个客户端和服务端主机,并对每一个所述网段的客户端和服务端主机配置ip地址信息;

11、根据所述节点数据的ip地址信息,与所述网段的ip地址信息进行匹配,将匹配正确的所述网段的客户端和服务端主机添加到所述节点数据中,得到所述节点配置数据。

12、在一实施例中,所述对数据预处理后的网络拓扑数据通过预设的路由配置规则进行整合,生成网络拓扑配置,包括:

13、根据预设的路由配置规则对所述节点数据的ip地址信息、跨自治域信息和相邻自治域信息进行路由协议配置整合,得到路由配置数据;

14、整合所述节点配置数据和所述路由配置数据,生成所述网络拓扑配置。

15、在一实施例中,所述解析所述网络拓扑配置中的节点,确定节点类别,包括:

16、解析所述网络拓扑配置中的节点,识别各个所述节点的类型和位置,并进行分类,确定所述节点类别。

17、在一实施例中,所述节点类别包括启动节点、出块节点和普通节点。

18、在一实施例中,所述根据所述节点类别对每一个所述节点进行资源配置,得到配置包,包括:

19、根据所述节点类别对每一个所述节点配置相对应的操作系统镜像和资源配额生成节点配置文件;

20、整合并封装所有所述节点配置文件,得到所述配置包。

21、在一实施例中,所述确定测试场景参数对应的测试场景配置文件和测试场景验证文件,包括:

22、根据所述测试场景参数,从预设的配置脚本库中提取相对应的配置脚本,生成所述测试场景配置文件,从预设的验证脚本库中提取相对应的验证脚本,生成所述测试场景验证文件。

23、第二方面,本发明实施例提供了一种面向区块链的测试场景自动化构建系统,所述系统包括:

24、网络拓扑生成模块,用于根据用户端提供的网络规模参数,从预设的拓扑实例库中获取相对应的网络拓扑数据,基于所述网络拓扑数据进行数据预处理,并对数据预处理后的网络拓扑数据通过预设的路由配置规则进行整合,生成网络拓扑配置;

25、节点资源配置模块,用于解析所述网络拓扑配置中的节点,确定节点类别,并根据所述节点类别对每一个所述节点进行资源配置,得到配置包;

26、场景配置生成模块,用于确定测试场景参数对应的测试场景配置文件和测试场景验证文件;网络测试构建模块,用于通过所述网络拓扑配置和所述配置包构建区块链测试网络,使用所述测试场景配置文件对所述区块链测试网络进行配置,得到测试场景,并利用所述测试场景验证文件对所述测试场景进行测试及验证。

27、第三方面,本发明实施例提供了一种电子设备,包括

28、存储器,

29、处理器,以及

30、存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的面向区块链的测试场景自动化构建方法。

31、第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一项所述的面向区块链的测试场景自动化构建方法。

32、本发明实施例一种面向区块链的测试场景自动化构建方法及系统,与现有技术相比,其有益效果在于:

33、通过根据用户端提供的网络规模参数,从预设的拓扑实例库中获取相对应的网络拓扑数据,基于所述网络拓扑数据进行数据预处理,并对数据预处理后的网络拓扑数据通过预设的路由配置规则进行整合,生成网络拓扑配置;根据用户需要自动生成网络拓扑配置,节省了用户手动配置的时间和劳动力成本,同时减少了配置错误的风险,让用户更方便地搭建适合自己需求的区块链网络。接着,解析所述网络拓扑配置中的节点,确定节点类别,并根据所述节点类别对每一个所述节点进行资源配置,得到配置包;该配置包的目的是为区块链测试环境中的各种类型的节点提供对应的配置,以确保每个节点都能够在区块链网络中正确地执行其预定的功能。然后,确定测试场景参数对应的测试场景配置文件和测试场景验证文件;可以理解的是根据不同的测试场景需求,制定针对具体测试目标的配置脚本和验证脚本。这些脚本能够模拟各种网络操作和潜在的安全风险,有效验证区块链网络在多变条件下的稳定性和安全性。最后,通过所述网络拓扑配置和所述配置包构建区块链测试网络,使用所述测试场景配置文件对所述区块链测试网络进行配置,得到测试场景,并利用所述测试场景验证文件对所述测试场景进行测试及验证。能够实现根据测试需求灵活地自动构建区块链的测试场景,显著减少测试人员构建测试场景所需的时间,同时降低人工配置测试场景所带来的错误风险,满足不同规模区块链网络的测试需求。

本文地址:https://www.jishuxx.com/zhuanli/20240830/283471.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。