一种面向开放许可链的自动化测试方法技术

技术编号:29702976 阅读:25 留言:0更新日期:2021-08-17 14:31
本发明专利技术涉及一种面向开放许可链的自动化测试方法,应用于面向开放许可链的自动化测试系统,包括测试任务控制模块、开放许可链客户端;从动节点同步了所述开放许可链中的所有数据;主控节点管理所有从动节点的部署和启动;开放许可链客户端提供一个向开放许可链提交交易请求的可视化交互界面;测试任务控制模块用于设定测试场景,指定测试任务,并生成开放许可链的测试报告;针对三种测试场景设定新从动节点入链测试任务,超级测试任务,以及交易功能测试任务,实现对开放许可链的自动化测试,在保障测试场景完整性的同时,减少了测试维护成本并提高测试效率。

【技术实现步骤摘要】
一种面向开放许可链的自动化测试方法
本专利技术涉及区块链自动化测试方法,为一种面向开放许可链的自动化测试方法。
技术介绍
随着互联网的发展以及科技的进步,区块链技术以其去中心化、安全、可靠的特点,在各行各业的应用越来越广泛;开放许可链是一种节点具有许可加入特性的区块链,不同于传统的软件系统,开放许可链上的历史账本数据通常和节点强相关。开放许可链的维护和升级比较复杂,需要保证历史数据的一致性,以及系统的稳定性,包括:新的节点能否成功添加并维持相同的hash参与共识,以及达到升级高度后,新的节点特性是否完美继承;目前针对开放许可链的测试大都是通过手动测试的方法,存在测试效率低,耗时长,且测试场景不规范,测试用例不完整等问题。而自动化测试的执行效率高,维护成本低且可以通过代码覆盖率检验测试用例的有效性,所以一种高效、稳定且可靠的面向开放许可链的自动化测试方法具有种重要的意义。
技术实现思路
有鉴于此,本专利技术提供一种解决或部分解决上述问题的一种面向开放许可链的自动化测试方法。为达到上述技术方案的效果,本专利技术的技术方案本文档来自技高网...

【技术保护点】
1.一种面向开放许可链的自动化测试方法,其特征在于,所述面向开放许可链的自动化测试方法包含以下步骤:/n所述面向开放许可链的自动化测试方法应用于一个面向开放许可链的自动化测试系统,所述面向开放许可链的自动化测试系统用于对开放许可链的测试场景进行测试;/n所述开放许可链是指节点需要通过身份认证获得许可才可以加入的区块链;/n所述面向开放许可链的自动化测试系统包括测试任务控制模块、开放许可链客户端;/n所述从动节点是具有存储空间,并与网络进行连接,通过身份认证获得许可权限后才可以加入所述开放许可区块链的节点;/n所述从动节点用于同步所述开放许可链中的账本数据和智能合约;/n所述开放许可区块链中已经...

【技术特征摘要】
1.一种面向开放许可链的自动化测试方法,其特征在于,所述面向开放许可链的自动化测试方法包含以下步骤:
所述面向开放许可链的自动化测试方法应用于一个面向开放许可链的自动化测试系统,所述面向开放许可链的自动化测试系统用于对开放许可链的测试场景进行测试;
所述开放许可链是指节点需要通过身份认证获得许可才可以加入的区块链;
所述面向开放许可链的自动化测试系统包括测试任务控制模块、开放许可链客户端;
所述从动节点是具有存储空间,并与网络进行连接,通过身份认证获得许可权限后才可以加入所述开放许可区块链的节点;
所述从动节点用于同步所述开放许可链中的账本数据和智能合约;
所述开放许可区块链中已经存在的从动节点为已有的从动节点;
需要新加入到所述开放许可区块链中的从动节点为新从动节点;
所述主控节点是所述开放许可链中的用于管理所有从动节点的部署和启动的节点,所述开放许可链中只有一个主控节点;
所述主控节点中设置有区块同步机制;所述区块同步机制驱动新从动节点完成所述开放许可链的数据同步;
所述开放许可链客户端与所述从动节点进行连接,所述开放许可链客户端可以向所述从动节点广播交易请求;所述交易请求包括许可授权交易请求、取消授权交易请求、转账交易请求以及智能合约调用请求;
所述从动节点接收到广播的交易请求后,触发智能合约用以完成交易请求,并将交易请求的数据更新到所述开放许可链中的区块里;
所述测试任务控制模块用于设定开放许可链的测试场景,指定开放许可链的测试任务,并生成开放许可链的测试报告;
所述测试任务控制模块与所述开放许可链的主控节点进行连接,所述测试任务控制模块通过所述主控节点将测试任务发送到所有的从动节点中,从动节点接收到测试任务后执行测试任务,并将测试结果发送至所述主控节点,主控节点收集到测试结果后,将测试结果发送至所述测试任务控制模块,所述测试任务控制模块对测试结果进行分析,生成开放许可链的测试报告;
所述测试任务控制模块的测试场景包括三种场景:新从动节点入链测试场景、历史数据继承测试场景、交易功能测试场景;
所述新从动节点入链测试场景是针对新从动节点加入所述开放许可链时进行测试的场景;
所述历史数据继承测试场景是针对所述开放许可链升级后的数据是否被正常继承,以及智能合约调用功能是否能够正常执行的测试场景;
所述交易功能测试场景是针对所述开放许可链升级后的交易功能进行测试的场景;所述交易功能包括许可授权交易功能、取消授权交易功能、转账交易功能以及智能合约调用功能;
所述测试任务控制模块为三种测试场景分别设定测试任务,为新从动节点入链测试场景设定新从动节点入链测试任务,为历史数据继承测试场景设定超级测试任务,为交易功能测试场景设定交易功能测试任务;
所述新从动节点入链测试任务用于对加入到所述开放许可链中的新从动节点进行自动化测试,保证加入到所述开放许可链中的新从动节点的区块高度、区块默克尔树根哈希值以及新的区块生成逻辑与已有的从动节点的区块高度、区块默克尔树根哈希值以及新的区块生成逻辑保持一致,具体步骤为:
所述新从动节点入链测试任务中设置有新从动节点入链申请审核机制、新从动节点预检机制、区块同步检测机制;
所述新从动节点入链申请审核机制对新从动节点要加入所述开放许可链的申请进行审核;
所述新从动节点预检机制对新从动节点的存储空间、网络连接和运算能力进行检测;
所述区块同步检测机制用于检测新从动节点在进行区块同步后的区块高度、区块默克尔树根哈希值是否与所述开放许可链中已有的从动节点中的区块高度、区块默克尔树根哈希值保持一致;
当有新从动节点需要添加到所述开放许可链中时,新从动节点向所述主控节点提交入链申请,所述主控节点接收到入链申请后,通知测试任务控制模块触发新从动节点入链申请审核机制,新从动节点入链申请审核机制对新从动节点的入链申请进行审核,审核通过后,向所述主控节点发送新从动节点入链申请审核通过指令,所述主控节点接收到新从动节点入链申请审核通过指令后,将新从动节点加入到所述主控节点的新从动节点预检控制列表中;
当新从动节点加入到所述主控节点的新从动节点预检控制列表中时,所述主控节点向所述测试任务控制模块发送新从动节点预检指令,所述测试任务控制模块接收到所述所述主控节点的新从动节点预检指令后触发新从动节点预检机制;
所述新从动节点预检机制对新从动节点的存储空间、网络连接和运算能力进行检测,生成新从动节点的存储空间、网络连接和运算能力的预检报告A;
所述新从动节点预检机制中设置有新从动节点预检合格标准,当新从动节点的存储空间、网络连接和运算能力的预检报告A中,有存储空间、网络连接和运算能力中的任意一项不满足新从动节点预检合格标准时,所述测试任务控制模块向所述主控节点发送新从动节点预检失败指令和新从动节点预检失败报告B,所述主控节点接收到新从动节点预检失败指令和新从动节点预检失败报告B后拒绝新从动节点加入到所述开放许可链中,输出并存储新从动节点预检失败报告B,供所述面向开放许可链的自动化测试系统的用户查看;
当新从动节点的存储空间、网络连接和运算能力的预检报告A满足新从动节点预检合格标准时,所述测试任务控制模块向所述主控节点发送新从动节点预检成功指令和新从动节点预检成功报告C;所述主控节点接收到新从动节点预检成功指令和新从动节点...

【专利技术属性】
技术研发人员:史文斌林乐兰春嘉
申请(专利权)人:上海能链众合科技有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1