一种测试区块链软件的方法及装置制造方法及图纸

技术编号:22329982 阅读:18 留言:0更新日期:2019-10-19 12:15
本申请提供一种测试区块链软件的方法及装置,涉及区块链技术领域。该方法包括:在测试环境中运行待测试版本区块链软件;将历史上链数据同步到运行待测试版本区块链软件的各个模拟区块链节点中;其中,历史上链数据包括多个历史版本区块链软件依次迭代更新产生的上链数据,多个历史版本区块链软件是指在待测试版本区块链软件之前发布的所有版本的区块链软件;将待测试版本区块链软件的测试数据集合写入运行待测试版本区块链软件的对应模拟区块链节点中;若写入的待测试版本区块链软件的测试数据集合验证成功,确定待测试版本区块链软件测试成功。该方法增加了对区块链软件与历史上链数据的兼容性进行测试,提高了测试结果的可靠性。

【技术实现步骤摘要】
一种测试区块链软件的方法及装置
本申请涉及区块链
,尤其涉及一种测试区块链软件的方法及装置。
技术介绍
区块链软件会不定时地进行升级,在开发者获得升级之后的区块链软件之后,需要对升级后的区块链软件进行测试,以确保升级后的区块链软件的可用性。现有的测试区块链软件,一般是将区块链软件部署在测试环境的模拟区块链节点中,将测试数据写入模拟区块链节点中,验证该区块链软件能否在测试环境中正常运行,如果可以正常运行,则表示测试成功。但是这种测试方法仅对区块链软件的能否在测试环境中正常运行进行测试,测试结果可靠性低。
技术实现思路
本申请实施例提供一种测试区块链软件的方法及装置,用于提高测试区块链软件的结果的可靠性。第一方面,提供一种测试区块链软件的方法,包括:在测试环境中运行待测试版本区块链软件;其中,所述测试环境中设置有各个模拟区块链节点;将历史上链数据同步到运行所述待测试版本区块链软件的各个模拟区块链节点中;其中,所述历史上链数据包括多个历史版本区块链软件依次迭代更新产生的上链数据,所述多个历史版本区块链软件是指在所述待测试版本区块链软件之前发布的所有版本的区块链软件;将待测试版本区块链软件的测试数据集合写入运行所述待测试版本区块链软件的对应模拟区块链节点中;若写入的所述待测试版本区块链软件的测试数据集合验证成功,确定所述待测试版本区块链软件测试成功。在一种可能的实施方式中,在测试环境中运行待测试版本区块链软件之前,针对多个历史版本区块链软件,按照发布顺序,对每一个历史版本区块链软件,执行如下步骤:在测试环境中运行历史版本区块链软件;将在运行前一个历史版本区块链软件的测试环境中产生的上链数据同步到运行该历史版本区块链软件的各个模拟区块链节点中;其中,所述前一个历史版本区块链软件是指相对于该历史版本区块链软件的前一个版本区块链软件;将历史版本区块链软件的测试数据集合写入运行该历史版本区块链软件的对应模拟区块链节点中;若写入的测试数据集合验证成功,确定该历史版本区块链软件测试成功;将运行历史版本区块链软件的测试环境产生的上链数据确定为历史上链数据。在一种可能的实施方式中,在将待测试版本区块链软件的测试数据集合写入运行所述待测试版本区块链软件的对应模拟区块链节点中之前,包括:根据所述待测试版本区块链软件所关联的服务协议类型,生成与所述服务协议类型匹配的待测试版本区块链软件的测试数据集合。在一种可能的实施方式中,将待测试版本区块链软件的测试数据集合写入运行所述待测试版本区块链软件的对应模拟区块链节点中,包括:针对待测试版本区块链软件中待测试的每个功能点,根据该功能点,将待测试版本区块链软件的测试数据集合中部分测试数据写入与该功能点关联的模拟区块链节点中。在一种可能的实施方式中,在根据该功能点,将待测试版本区块链软件的测试数据集合中部分测试数据写入与该功能点关联的模拟区块链节点中之后,包括:通过该功能点关联的模拟区块链节点的接口查询所述部分测试数据,如果查询到所述部分测试数据,则确定所述待测试版本区块链软件的该功能点验证成功;若确定所述待测试版本区块链软件功能点中待测试的每个功能点验证成功,则确定所述待测试版本区块链软件的测试数据集合验证成功。第二方面,提供一种测试区块链软件的装置,包括:部署模块,用于在测试环境中运行待测试版本区块链软件;其中,所述测试环境中设置有各个模拟区块链节点;同步模块,用于将历史上链数据同步到运行所述待测试版本区块链软件的各个模拟区块链节点中;其中,所述历史上链数据包括多个历史版本区块链软件依次迭代更新产生的上链数据,所述多个历史版本区块链软件是指在所述待测试版本区块链软件之前发布的所有版本的区块链软件;写入模块,用于将待测试版本区块链软件的测试数据集合写入运行所述待测试版本区块链软件的对应模拟区块链节点中;确定模块,用于若写入的所述待测试版本区块链软件的测试数据集合验证成功,确定所述待测试版本区块链软件测试成功。在一种可能的实施方式中,所述部署模块,还用于在测试环境中运行待测试版本区块链软件之前,针对多个历史版本区块链软件,按照发布顺序,对每一个历史版本区块链软件,在测试环境中运行历史版本区块链软件;所述同步模块,还用于将在运行前一个历史版本区块链软件的测试环境中产生的上链数据同步到运行该历史版本区块链软件的各个模拟区块链节点中;其中,所述前一个历史版本区块链软件是指相对于该历史版本区块链软件的前一个版本区块链软件;所述写入模块,还用于将历史版本区块链软件的测试数据集合写入运行该历史版本区块链软件的对应模拟区块链节点中;所述确定模块,还用于若写入的测试数据集合验证成功,确定该历史版本区块链软件测试成功,以及将运行历史版本区块链软件的测试环境产生的上链数据确定为历史上链数据。在一种可能的实施方式中,所述装置包括生成模块,其中:所述生成模块,用于在将待测试版本区块链软件的测试数据集合写入运行所述待测试版本区块链软件的对应模拟区块链节点中之前,根据所述待测试版本区块链软件所关联的服务协议类型,生成与所述服务协议类型匹配的待测试版本区块链软件的测试数据集合。在一种可能的实施方式中,所述写入模块具体用于:针对待测试版本区块链软件中待测试的每个功能点,根据该功能点,将待测试版本区块链软件的测试数据集合中部分测试数据写入与该功能点关联的模拟区块链节点中。在一种可能的实施方式中,所述装置还包括验证模块,其中:所述验证模块,用于在根据该功能点,将待测试版本区块链软件的测试数据集合中部分测试数据写入与该功能点关联的模拟区块链节点中之后,通过该功能点关联的模拟区块链节点的接口查询所述部分测试数据,如果查询到所述部分测试数据,则确定所述待测试版本区块链软件的该功能点验证成功;以及,若确定所述待测试版本区块链软件功能点中待测试的每个功能点验证成功,则确定所述待测试版本区块链软件的测试数据集合验证成功。第三方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面及一种可能的实施方式中任一所述的方法。第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如第一方面及一种可能的实施方式中任一所述的方法。本申请实施例中,在测试环境中运行待测试版本区块链软件之后,会将在该待测试版本区块链软件之前发布的所有历史版本区块链软件产生的历史上链数据同步到测试环境中的各个模拟区块链节点中,再将待测试版本区块链软件对应的测试数据集合写入各个模拟区块链节点中,由于是在同步历史上链数据之后,再将测试数据集写入测试环境中,不仅对待测试版本区块链软件在测试环境中能否正常运行进行测试,还对待测试版本区块链软件与历史上链数据能否兼容性进行了测试,对待测试版本区块链软件进行了更加全面的测试,提高了区块链软件测试结果的可靠性。且,本申请实施例中的测试待测试版本区块链软件的方法无需测试人员的手动干预,相对可以提高测试区块链软件的效率。且,由于历史上链数据包括了之前所有历史版本区块链软件产生的上链数据,因此,可以测试待测试版本区块链软件与所有历史版本产生的数据的兼容性,快速且高效地完成对待测试版本区块链本文档来自技高网...

【技术保护点】
1.一种测试区块链软件的方法,其特征在于,包括:在测试环境中运行待测试版本区块链软件;其中,所述测试环境中设置有各个模拟区块链节点;将历史上链数据同步到运行所述待测试版本区块链软件的各个模拟区块链节点中;其中,所述历史上链数据包括多个历史版本区块链软件依次迭代更新产生的上链数据,所述多个历史版本区块链软件是指在所述待测试版本区块链软件之前发布的所有版本的区块链软件;将待测试版本区块链软件的测试数据集合写入运行所述待测试版本区块链软件的对应模拟区块链节点中;若写入的所述待测试版本区块链软件的测试数据集合验证成功,确定所述待测试版本区块链软件测试成功。

【技术特征摘要】
1.一种测试区块链软件的方法,其特征在于,包括:在测试环境中运行待测试版本区块链软件;其中,所述测试环境中设置有各个模拟区块链节点;将历史上链数据同步到运行所述待测试版本区块链软件的各个模拟区块链节点中;其中,所述历史上链数据包括多个历史版本区块链软件依次迭代更新产生的上链数据,所述多个历史版本区块链软件是指在所述待测试版本区块链软件之前发布的所有版本的区块链软件;将待测试版本区块链软件的测试数据集合写入运行所述待测试版本区块链软件的对应模拟区块链节点中;若写入的所述待测试版本区块链软件的测试数据集合验证成功,确定所述待测试版本区块链软件测试成功。2.如权利要求1所述的方法,其特征在于,在测试环境中运行待测试版本区块链软件之前,针对多个历史版本区块链软件,按照发布顺序,对每一个历史版本区块链软件,执行如下步骤:在测试环境中运行历史版本区块链软件;将在运行前一个历史版本区块链软件的测试环境中产生的上链数据同步到运行该历史版本区块链软件的各个模拟区块链节点中;其中,所述前一个历史版本区块链软件是指相对于该历史版本区块链软件的前一个版本区块链软件;将历史版本区块链软件的测试数据集合写入运行该历史版本区块链软件的对应模拟区块链节点中;若写入的测试数据集合验证成功,确定该历史版本区块链软件测试成功;将运行历史版本区块链软件的测试环境产生的上链数据确定为历史上链数据。3.如权利要求1或2所述的方法,其特征在于,在将待测试版本区块链软件的测试数据集合写入运行所述待测试版本区块链软件的对应模拟区块链节点中之前,包括:根据所述待测试版本区块链软件所关联的服务协议类型,生成与所述服务协议类型匹配的待测试版本区块链软件的测试数据集合。4.如权利要求1所述的方法,其特征在于,将待测试版本区块链软件的测试数据集合写入运行所述待测试版本区块链软件的对应模拟区块链节点中,包括:针对待测试版本区块链软件中待测试的每个功能点,根据该功能点,将待测试版本区块链软件的测试数据集合中部分测试数据写入与该功能点关联的模拟区块链节点中。5.如权利要求4所述的方法,其特征在于,在根据该功能点,将待测试版本区块链软件的测试数据集合中部分测试数据写入与该功能点关联的模拟区块链节点中之后,包括:通过该功能点关联的模拟区块链节点的接口查询所述部分测试数据,如果查询到所述部分测试数据,则确定所述待测试版本区块链软件的该功能点验证成功;若确定所述待测试版本区...

【专利技术属性】
技术研发人员:周勇钧
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

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

1