【技术实现步骤摘要】
针对区块链项目的测试方法、装置及计算机设备
本申请涉及计算机
,尤其涉及针对区块链项目的测试方法、针对区块链项目的测试装置、计算机设备及计算机可读存储介质。
技术介绍
区块链是一种多方共同维护,使用密码学保证传输和访问安全,能够实现数据一致存储、难以篡改、防止抵赖的记账技术,也就是分布式账本技术。在区块链产品迭代周期内,研发工程师将开发好的区块链项目提测到REQ平台(即软件研发提测流程管理平台),之后触发测试执行。测试人员在对区块链项目完成基本的功能测试之后,会进一步进行异常测试,异常测试主要通过模拟攻击场景来测试区块链项目的鲁棒性,从而检测区块链项目是否存在异常。目前,一般采用网络抓包的形式,人工过滤协议数据并篡改某些数据,从而达到模攻击场景的目的。但这样的方式工作量大,需提前了解区块链协议数据,并且存在网络拆包、分包、组包和包加密的技术风险,所以会存在异常测试效率低、数据篡改精准性差导致的攻击场景模拟效果不好等问题。
技术实现思路
本申请实施例提供了一种针对区块链项目的测试方法、装置及计算机设备,可以有效提高异常测试效率以及攻击场景的模拟效果和准确性。第一方面,本申请实施例提供了一种针对区块链项目的测试方法,所述方法由区块链网络中的目标共识节点执行,所述方法包括:获取可执行文件,所述可执行文件是对待测试区块链项目的代码数据包进行编译后得到的,所述代码数据包中包括用于模拟攻击场景的逻辑代码;在执行所述可执行文件的过程中,执行所述逻辑代码所对应的指令后 ...
【技术保护点】
1.一种针对区块链项目的测试方法,其特征在于,所述方法由区块链网络中的目标共识节点执行,所述方法包括:/n获取可执行文件,所述可执行文件是对待测试区块链项目的代码数据包进行编译后得到的,所述代码数据包中包括用于模拟攻击场景的逻辑代码;/n在执行所述可执行文件的过程中,执行所述逻辑代码所对应的指令后,在区块链网络中广播第一测试提案消息,并将关于所述第一测试提案消息的共识结果和执行日志记录到测试文件中;/n当接收到第二测试提案消息时,对所述第二测试提案消息进行共识,并将关于所述第二测试提案消息的共识结果和执行日志记录到所述测试文件中;/n响应文件获取请求,将所述测试文件发送至测试平台,以使得所述测试平台基于所述测试文件分析所述待测试区块链项目的测试结果。/n
【技术特征摘要】
1.一种针对区块链项目的测试方法,其特征在于,所述方法由区块链网络中的目标共识节点执行,所述方法包括:
获取可执行文件,所述可执行文件是对待测试区块链项目的代码数据包进行编译后得到的,所述代码数据包中包括用于模拟攻击场景的逻辑代码;
在执行所述可执行文件的过程中,执行所述逻辑代码所对应的指令后,在区块链网络中广播第一测试提案消息,并将关于所述第一测试提案消息的共识结果和执行日志记录到测试文件中;
当接收到第二测试提案消息时,对所述第二测试提案消息进行共识,并将关于所述第二测试提案消息的共识结果和执行日志记录到所述测试文件中;
响应文件获取请求,将所述测试文件发送至测试平台,以使得所述测试平台基于所述测试文件分析所述待测试区块链项目的测试结果。
2.如权利要求1所述的方法,其特征在于,所述在执行所述可执行文件的过程中,执行所述逻辑代码所对应的指令后,在区块链网络中广播第一测试提案消息,包括:
在执行所述可执行文件的过程中,执行所述逻辑代码所对应的指令构造虚假区块提案消息;
将所述虚假区块提案消息作为第一测试提案消息,并在区块链网络中广播所述第一测试提案消息。
3.如权利要求1所述的方法,其特征在于,所述执行所述逻辑代码所对应的指令构造虚假区块提案消息,包括:
执行所述逻辑代码所对应的指令对生成的正常区块提案消息进行篡改;
将篡改后的区块提案消息作为虚假区块提案消息。
4.一种针对区块链项目的测试方法,其特征在于,所述方法包括:
获取待测试区块链项目的代码数据包;
从所述代码数据包的代码中确定插桩点,并在所述插桩点处注入用于模拟攻击场景的逻辑代码;
针对注入所述逻辑代码的代码数据包进行编译,生成可执行文件,并将所述可执行文件发送至区块链网络中的目标共识节点;
激活所述逻辑代码所模拟的攻击场景,以在所述目标共识节点执行所述可执行文件的过程中,在所述攻击场景下对所述待测试区块链项目进行测试。
5.如权利要求4所述的方法,其特征在于,所述从所述代码数据包的代码中确定插桩点,包括:
从所述代码数据包的代码中确定与区块提案消息相关的第一关联代码;
基于所述第一关联代码所在的位置确定插桩点;
所述在所述插桩点处注入用于模拟攻击场景的逻辑代码,包括:
在所述插桩点处注入用于模拟构造虚假区块提案消息的攻击场景的逻辑代码。
6.如权利要求4所述的方法,其特征在于,所述从所述代码数据包的代码中确定插桩点,包括:
从所述代码数据包的代码中确定与区块提案共识相关的第二关联代码;
基于所述第二关联代码所在的位置确定插桩点;
所述在所述插桩点处注入用于模拟攻击场景的逻辑代码,包括:
在所述插桩点处注入用于模拟构造虚假共识数据的攻击场景的逻辑代码。
7.如权利要求4-6任一项所述的方法,其特征在于,所...
【专利技术属性】
技术研发人员:陈金龙,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。