当前位置: 首页 > 专利查询>钱德君专利>正文

一种量子链测试方法技术

技术编号:16105450 阅读:54 留言:0更新日期:2017-08-30 00:04
本发明专利技术涉及一种量子链测试方法,用于量子链的平台将在被部署前,测试必须保持严格性;测试方法包括软件的功能测试、网络P2P测试、攻击性测试、可靠性测试等,测试方法覆盖完全,将使用量子链系统时需要考虑各个方面,并且将在测试网络发布更新,发布之前进行代码的审查,通过测试有效地保证系统的安全性、可用性。

【技术实现步骤摘要】
一种量子链测试方法
本专利技术涉及互联网上量子链系统,为一种量子链测试方法。
技术介绍
量子链系统中,首要的是致力于提供一个面向不同行业的高可用的兼容UTXO模型的POS机制的智能合约平台。UTXO模型是比特币网络非常核心的一部分,其中的代码具备比较高的成熟度,在这其中兼容UTXO模型,不但可以吸纳比特币生态系统的其他开发者和现有开发工具,还可以具有比较好的安全性。另外,关于智能合约的虚拟机部分,量子链的测试网络中也必须支持虚拟机。因此,量子链系统在发行前将会经过一系列严格的测试,通过完善的软件测试流程,来控制软件质量。
技术实现思路
有鉴于此,本专利技术提供一种解决或部分解决上述问题的量子链测试方法。为达到上述技术方案的效果,本专利技术的技术方案为:一种量子链测试方法,包含以下内容:功能测试,针对量子链核心的应用程序编程接口的每个方法进行测试,必须在代码上达到85%的覆盖率,对于每个所述方法详细说明规范中的额外测试逻辑,以覆盖复杂的案例;场景测试,定义了带有复杂测试逻辑的高级场景集合,包含:1.发行新的资产;2.创建新的交易;3.创建特定的订单,并在资产中记录以满足量子币的需要;4.做一套交易;对最终结果进行追踪,所述场景测试必须包含子系统的相互交互以及复杂的逻辑;网络测试,在其中着重网络延迟以及吞吐量问题,运行带有不同拓扑结构的测试网络,并且模拟不同的情况:第一种情况为,网络关键连接延迟的退化;第二种情况为,网络中关键节点的吞吐量的退化;网络P2P测试,构建网络和模拟情况集合以得到对等网络:1.核心名称节点将由第三方消除;2.网络将分解为相互独立的子网络;3.注意交易和区块在不同网络拓扑传播的速度;4.避免循环传播的问题;性能测试,能够允许验证一个本地节点的计算性能,而不考虑网络延迟效果;为了这样的测试,我们必须执行网络虚拟化模型去排除网络效果,测试必须为每个应用程序编程接口执行进行大规模应用程序编程接口调用;可扩展网络测试,在其中进行高负荷降解测试以及不同拓扑结构的高负荷测试,在所述高负荷降解测试中,运行量子链系统中节点集合以及每秒产生最大数量的交易,将两者在网络中传播,收集统计数据并且观察性能的降低以及其他问题;在所述不同拓扑结构的高负荷测试中,运行在不同的拓扑结构中的节点集合,并产生交易流量;可扩展性的存储测试,产生最大数量的本地实体,并且验证关键参数和所有的查询的退化;金融测试,在所述金融测试中,进行小数精度测试、具有最终平衡验证的复杂交易生成方案、系统时间快进试验;金融危机测试,在不同的金融危机情况下,进行基准测试,所述基准测试中可以假设的条件为巨大的回收率、许可网关的缺省、加密网关的缺省,在此条件下进行测试;攻击性测试,针对系统设计足够的复杂的威胁模型,并分析所有可能的威胁并且试图去避免其的发生,为它们创造敏锐的缓解计划;并且,必须测试标准攻击,所述标准攻击包含双重花费攻击、共识攻击、分布式拒绝服务的交易泛滥;可靠性测试,在特殊虚拟机上进行系统有关的具体测试以及观察它们如何伴随着时间执行它们的活动,在这其中注意所有的关键参数,并试图找出关键参数的退化情况;有效网络测试,只运行很少的具有不同拓扑结构、禁用/启用节点、具有网络关键参数退化的网络,只针对有效网络,在这其中注意当满节点将无法使用时的情况;可用存储测试,在网络上实现文件的完全可用性,部署完整的网络,并上传网络文件和一个接一个地破坏节点,以观察网络是否能够提供所需的可用性水平;安全性测试,分析有用的安全问题,并对所有覆盖区域进行复杂分析;版本测试,在这过程中部署测试网络,并在此网络上部署新的不同版本的节点后,尝试通过所有其他测试。本专利技术的有益成果为:本专利技术提供了一种量子链测试方法,量子链的平台将在被部署前经过严格的测试;这包括软件的功能测试、网络P2P测试、攻击性测试、可靠性测试等,并且将在测试网络发布更新,发布之前进行代码的审查,测试有效地保证系统的安全性、可用性。具体实施方式为了使本专利技术所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合实施例,对本专利技术进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术,能实现同样功能的产品属于等同替换和改进,均包含在本专利技术的保护范围之内。具体方法如下:实施例1:在每周的每次建立所有测试都必须完成并且在网上社区公布。测试策略如下:1.功能测试针对量子核心api的每个方法。我们必须在代码上达到85%的覆盖率。对于每个方法我们都将详细说明规范中的额外测试逻辑,这样能够覆盖复杂的案例。因此,我们将确定我们的逻辑功能在规范中定义完好以及进展顺利。2.场景测试我们定义了带有复杂测试逻辑的高级场景集合,包含:1.发行新的资产2.创建新的交易3.创建特定的订单,并在资产中记录以满足量子币的需要。4.做一套交易对最终结果进行追踪,这样的场景测试必须包含子系统的相互交互以及复杂的逻辑。3.网络测试在这个测试中我们必须着重网络延迟以及吞吐量问题。我们必须运行带有不同拓扑结构的测试网络,并且必须模拟不同的情况。第一种情况为,网络关键连接延迟的退化,第二种情况为,网络中关键节点的吞吐量的退化。我们必须关注网络如何表现和适应这种情况。4.网络P2P测试我们必须构建网络和模拟情况集合以得到对等网络。1.核心名称节点将由第三方消除。2.网络将分解为相互独立的子网络。3.注意交易和区块在不同网络拓扑传播的速度。4.避免循环传播的问题。5.性能测试性能测试能够允许我们验证一个本地节点的计算性能,而不考虑网络延迟效果。为了这样的测试,我们必须执行网络虚拟化模型去排除网络效果。测试必须为每个API执行进行大规模API调用。例如,每秒创建数以百万计的交易和观察核心性能参数的退化。6.可扩展网络测试我们必须较少实现网络上的一些拓扑:1.核心网络节点2.代理网络节点高负荷降解试验我们必须运行节点集合以及每秒产生最大数量的交易并在网络中传播。收集统计数据并且观察性能的降低以及其他问题。不同拓扑结构的高负荷我们必须运行节点集合,并产生交易流量,但所有这些节点将被包括在不同的拓扑结构中。7.可扩展性的存储测试我们必须产生最大数量的本地实体,并且验证关键参数以及所有的查询的退化。8.金融测试我们必须进行许多标准的金融测试。1.小数精度测试2.具有最终平衡验证的复杂交易生成方案3.10年系统寿命的时间快进试验9.金融危机测试系统必须在不同的金融危机情况下是可靠的。我们需要对他们进行基准测试:1.巨大的回收率2.许可网关的缺省3.加密网关的缺省10.攻击性测试我们必须针对系统设计足够的复杂的威胁模型。我们必须分析所有可能的威胁并且试图去避免其的发生,为它们创造敏锐的缓解计划。例如,我们存在必须覆盖的情况,该情况为智能合约逻辑会被黑客入侵和价值传递将分发给不好的用户。并且,我们必须测试在这些网络中测试标准攻击,例如:1.双重花费攻击2.共识攻击3.分布式拒绝服务的交易泛滥11.可靠性测试系统必须可靠。我们必须在特殊虚拟机上进行系统有关的具体测试以及观察它们如何伴随着时间执行它们的活动。必须注意所有的关键参数,并试图找出关键参数的退化情况。12.有效网络测试我们必须运行很少的具有不同拓扑结构、禁用/启用节点、本文档来自技高网...

【技术保护点】
一种量子链测试方法,应用于量子链系统,其特征在于,包含功能测试、场景测试、网络测试、网络P2P测试、性能测试、可扩展网络测试、可扩展性的存储测试、金融测试、金融危机测试、攻击性测试、可靠性测试、有效网络测试、可用存储测试、安全性测试、版本测试:所述功能测试,测试针对量子链系统中核心的应用程序编程接口的每个方法,覆盖率上达到85%,详细说明规范中的额外测试逻辑,以覆盖复杂的案例;所述场景测试,对量子链系统中的高级场景集合进行测试,所述高级场景集合包含多个测试场景,所述测试场景包含:1.发行新的资产;2.创建新的交易;3.创建特定的订单,并在资产中记录以满足量子币的需要;4.进行一笔交易;对所述场景测试的最终结果进行追踪,所述场景测试必须包含子系统的相互交互;所述网络测试,所述网络测试运行带有不同拓扑结构的测试网络,并且模拟其中不同的情况:第一种情况为,网络中关键连接延迟的退化;第二种情况为,网络中关键节点的吞吐量的退化;所述网络P2P测试,构建网络和模拟的情况集合以得到对等网络,所述情况集合如下:1.网络中的核心名称节点将由交易的第三方消除;2.网络被分解为相互独立的子网络;3.区块在不同网络拓扑结构中传播,其中将交易的速度作为关键值带入;4.将循环传播的可能性去除;所述性能测试,在不考虑网络的延迟效果下验证一个本地节点的计算性能;所述性能测试执行网络虚拟化模型以排除网络的不利效果,每个应用程序编程接口的执行可以大规模地调用其他应用程序编程接口;所述可扩展网络测试,包含高负荷降解测试以及不同拓扑结构的高负荷测试,在所述高负荷降解测试中,运行量子链系统中节点集合以及每秒产生最大数量的交易,使两者在网络中传播,统计数据并且观察性能的降低以及连带产生的问题;在所述不同拓扑结构的高负荷测试中,运行在不同的拓扑结构中的节点集合,并产生交易流量;所述可扩展性的存储测试,对量子链系统进行扩展,扩展产生最大数量的本地实体对象,并且验证产生的过程中所有关键参数和查询的退化;所述金融测试,在所述金融测试中,进行小数精度测试、具有最终余额验证的复杂交易生成方案、系统时间快进试验,所述小数精度测试对资金的小数点后的数字进行精度上的测试,所述具有最终余额验证的复杂交易生成方案为对大型的、复杂的交易的最终结果中的余额进行验证,验证余额的数目的精确性,所述系统时间快进试验为预测将来的交易资金变化;所述金融危机测试,在不同的金融危机情况下,进行基准测试,所述基准测试中假设的条件为巨大的回收率、许可网关的缺省、加密网关的缺省,在假设的条件下进行测试;所述攻击性测试,针对量子链系统设计足够的复杂的威胁模型,并分析所有可能的威胁并且试图去避免其的发生,为所述威胁创造敏锐的缓解计划;并且,必须测试标准攻击,所述标准攻击包含双重花费攻击、共识攻击、分布式拒绝服务的交易的溢出;所述可靠性测试,在特殊虚拟机上进行与量子链系统相关的具体测试以及观察具体测试伴随着时间的变化所表现出的变化,找出所述具体测试以及所述变化中的关键参数的退化;所述有效网络测试,所述有效网络测试中针对有效网络进行测试,所述有效网络为具有较少的不同拓扑结构、禁用及启用节点、网络关键参数退化的网络,针对当满节点无法使用时的情况进行重点测试;所述可用存储测试,在网络上实现文件的完全可用性,部署完整的网络,并上传文件并顺序地破坏网络中的节点,以观察网络是否能够提供所需的可用性水平;所述安全性测试,分析量子链系统中所有的安全问题,并对所述安全问题的所有覆盖区域进行复杂分析;所述版本测试,在这过程中部署测试网络,并在此测试网络上部署新的不同版本的节点后,尝试通过所有除了所述版本测试的其他测试。...

【技术特征摘要】
1.一种量子链测试方法,应用于量子链系统,其特征在于,包含功能测试、场景测试、网络测试、网络P2P测试、性能测试、可扩展网络测试、可扩展性的存储测试、金融测试、金融危机测试、攻击性测试、可靠性测试、有效网络测试、可用存储测试、安全性测试、版本测试:所述功能测试,测试针对量子链系统中核心的应用程序编程接口的每个方法,覆盖率上达到85%,详细说明规范中的额外测试逻辑,以覆盖复杂的案例;所述场景测试,对量子链系统中的高级场景集合进行测试,所述高级场景集合包含多个测试场景,所述测试场景包含:1.发行新的资产;2.创建新的交易;3.创建特定的订单,并在资产中记录以满足量子币的需要;4.进行一笔交易;对所述场景测试的最终结果进行追踪,所述场景测试必须包含子系统的相互交互;所述网络测试,所述网络测试运行带有不同拓扑结构的测试网络,并且模拟其中不同的情况:第一种情况为,网络中关键连接延迟的退化;第二种情况为,网络中关键节点的吞吐量的退化;所述网络P2P测试,构建网络和模拟的情况集合以得到对等网络,所述情况集合如下:1.网络中的核心名称节点将由交易的第三方消除;2.网络被分解为相互独立的子网络;3.区块在不同网络拓扑结构中传播,其中将交易的速度作为关键值带入;4.将循环传播的可能性去除;所述性能测试,在不考虑网络的延迟效果下验证一个本地节点的计算性能;所述性能测试执行网络虚拟化模型以排除网络的不利效果,每个应用程序编程接口的执行可以大规模地调用其他应用程序编程接口;所述可扩展网络测试,包含高负荷降解测试以及不同拓扑结构的高负荷测试,在所述高负荷降解测试中,运行量子链系统中节点集合以及每秒产生最大数量的交易,使两者在网络中传播,统计数据并且观察性能的降低以及连带产生的问题;在所述不同拓扑结构的高负荷测试中,运行在不同的拓扑结构...

【专利技术属性】
技术研发人员:钱德君
申请(专利权)人:钱德君
类型:发明
国别省市:上海,31

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

1