生产网络中的简单错误和常见问题是威胁去中心化区块链弹性的问题。考虑到众多用户和应用程序都依赖这些区块链,这个问题尤为重要。我们希望强调一个在讨论中被忽视,而且更重要的是,在确保区块链稳定性方面被低估利用的关键组成部分。
这篇文章将讨论测试区块链的重要性以及有效测试它们的策略。
TL;DR
区块链网络的健壮性涉及对节点类型、定制化和网络范围内的性能进行严格测试,以确保安全性和可靠性。随着模块化区块链中节点设置的灵活性增加,加强维护网络安全性和可靠性的测试实践至关重要。有效的测试策略包括单元测试、集成测试和系统测试。测试模块化区块链的挑战包括复杂性、互操作性问题以及缺乏标准化框架。测试区块链的重要性
测试区块链网络对于确保其安全性、可靠性和长期稳定性至关重要。测试确保如果网络没有按预期运行,问题会在部署之前被识别和解决。
亚马逊推出首个全球金融科技加速器“AWS Global Fintech Accelerator”:金色财经报道,亚马逊云服务Amazon Web Services (AWS) 正推出其首个全球金融科技加速器“AWS Global Fintech Accelerator”,旨在为金融科技创始人提供所需的支持和指导,帮助他们利用人工智能/机器学习和云的力量,将更智能的金融服务解决方案推向市场。该加速器将选择来自北美 (NAMER)、欧洲、中东、非洲 (EMEA) 和拉丁美洲 (LATAM) 的150家利用人工智能和机器学习技术力量的金融科技初创公司,并会在2023年9 月 18 日至10月23日期间参加为期六周的远程计划,最终15家公司将有机会进入Demo Day并获得风投支持,据悉申请将于8月14日截止。(innovation-village)[2023/7/20 11:07:34]
对于模块化区块链,测试过程更为复杂,因为有更多的节点类型和可能的设置。
加密风投公司Bloccelerate正募集规模1亿美元的第二支基金:9月10日消息,加密风投公司Bloccelerate正募集规模1亿美元的第二支基金。该基金成立于8月25日,已从26位投资者处募集2000万美元。
Bloccelerate成立于2018年,曾投资MakerDAO、Avalanche和区块链安全公司Quantstamp。[2022/9/10 13:20:41]
每种节点类型都必须单独测试,然后作为整个网络的一部分进行测试。由于每种节点类型都可以进行定制,因此测试过程还必须包括定制的测试。
区块链的测试策略在进行测试过程时要记住的事项所有团队,CelestiaLabs也不例外,在软件开发的每个方面都有有限的人力资源。由于区块链开发节奏很快,测试被认为是相对于发布新功能的较低优先级。即使在测试时间有限制的情况下,团队应该记住,如果他们遵循简单的指导原则,测试可以是有效的:
Celer跨链消息(Celer IM)框架已在主网启动:5月27日消息,Celer跨链消息(Celer IM)框架已在主网上启动,开发人员可以使用Celer跨链消息SDK构建跨链dApp,具有高效的流动性利用、连贯的应用程序逻辑和跨多个区块链的共享状态。[2022/5/27 3:46:11]
穷尽测试是不可能的。你不能覆盖所有内容,但通过识别和优先测试高风险元素,你可以覆盖很多内容。尽早发现并修复错误。随着错误从规格到测试网到主网的传播,修复它们的成本逐渐增加。任何自动化都比没有好。在进行大型网络端到端测试时,自动化变得至关重要。在将软件发布给公众之前,在内部开发网上进行测试。确保软件在发布到测试网之前是稳定的,这样可以减少社区的工作量和挫败感。手动测试总比没有测试好。虽然手动测试不是可扩展的长期解决方案,但它仍然对短期目标有用。你可以在以后引入自动化。
Celestia公共测试网将于今年二季度推出,并于年底上线主网:2月7日消息,Cosmos在官方博客表示,其模块化区块链网络Celestia第一个公共测试网将于2022年第二季度推出,该测试网旨在发展和稳定验证者社区。它还将允许在Celestia之上构建dApp和Rollup的首次实验。测试网将持续几个月,并将为2022年第三季度的Celestia激励测试网奠定基础。该网络将包括开发人员和节点运营商能够获得奖励的任务和挑战。激励性测试网将与计划于2022年第四季度末的主网具有近乎相同的功能。
据悉,通过将共识和应用程序执行分离到单独的链层中,Celestia模块化了区块链技术堆栈,并为去中心化应用程序(dApp)构建者开启了新的可能性。开发人员将能够快捷定义和部署他们的虚拟执行环境。建立在Celestia上的应用程序将继承和共享Celestia共识的安全性,同时保持高度的主权。它们同时具有可扩展性、主权和安全性。[2022/2/7 9:35:03]
区块链测试金字塔
前Libra联合创始人Morgan Beller加入稳定币项目Celo:金色财经报道,前Libra(现在被称为Diem)联合创始人Morgan Beller已加入稳定币项目Celo,担任顾问。[2021/2/6 19:02:46]
与任何软件测试一样,区块链的测试过程应该既包括功能测试,也包括非功能测试。功能测试侧重于检查单个模块及其与其他模块的相互作用。另一方面,非功能测试评估网络的性能、安全性和可扩展性,以确保一个健壮且可靠的区块链系统。
以下策略可用于有效地测试区块链:
1.单元测试
单元测试涉及对每个模块单独进行测试,以确保其正确运行。在这种情况下,一个模块的示例是celestia-node的头部,它封装了如何在网络中的不同节点之间传播头部的信息。它对区块链至关重要,因为它允许对每个模块的定制进行测试。
这种测试策略有助于在模块集成到网络之前发现任何问题。对于模块化区块链与模块化软件设计相结合的情况,隔离测试每个组件是非常有益的。
2.集成测试
集成测试对于区块链至关重要,以确保模块之间的交互如预期一样。这种测试策略涉及将模块与其他模块一起进行测试,以确保它们之间的互操作性。
一个模块与模块测试的例子是一个节点与另一个节点进行测试。在Celestia的情况下,我们通常会测试一个轻节点从一个单一的桥节点同步和抽样。它们都是从一个代码库编写的,但打包方式不同。
集成测试有助于发现模块之间交互和网络中的任何问题。
在这个测试级别中,通常需要准备一个同一台机器上的小型节点网络来进行测试。
3.系统测试
系统测试涉及测试整个网络,以确保其符合必要的要求。这种测试策略涉及测试网络的性能、可扩展性和安全性。系统测试有助于发现网络整体功能和性能方面的问题。
在系统测试中,通常使用较大的节点网络来模拟真实环境。这种测试策略有助于发现由于网络的去中心化特性而可能出现的问题。
Celestia在系统级别发现的一个很好的例子是在提交交易或DA节点进行简单余额检查过程中出现的密钥不匹配问题。在PayForBlob功能的负载测试期间发现了这个功能性错误。系统测试通常会揭示那些单元/集成测试无法发现的问题,尽管测试场景简单,有时与测试计划的测试目标无关。
另一个例子是在系统发布测试中发现的误报,其中DA节点正常运行,但经过严格审查后发现实际上并未运行。
此外,系统测试还有助于确保网络能够处理大量的交易和用户。
系统测试是区块链测试过程的关键部分。它有助于确保网络按预期运行,并在部署之前识别和解决任何问题。通过在系统级别测试区块链,我们可以确保它们被社区成功采用和使用。
这种测试级别被认为是最昂贵的,不应该像单元/集成测试那样具有相同的覆盖范围。对于模块化设计的区块链来说尤其如此,因为在设计系统测试时需要考虑更多的上下文。
我们将在本系列的第二部分更详细地介绍这个测试级别。
模块化区块链测试的未来
随着区块链的不断发展,测试也必须发展。新的测试策略和框架将出现,现有的策略和框架将得到改进。测试过程将变得更加自动化和简化,从而减少测试时间和成本。
随着区块链的广泛应用,标准化测试框架的需求将变得越来越明显。标准化框架将帮助测试扩展到更多类型的网络和用例。如果你喜欢这篇介绍性文章,我们将在第二部分解释CelestiaLabs如何使用一个名为Testground的工具进行大规模网络测试。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。