如何在BlockChain应用程序中有效地使用敏捷和Devops测试?

边走边听!

在过去的五年中,风投已经向区块链公司投资了超过10亿美元。

区块链测试中的“专门测试”技术

在我们的博客上5测试区块链应用的顶级技术,我们简要地讨论了正在获得巨大流行的“专门测试”的概念。这类测试需要特定的技能,以及技术和领域理解的结合。

考虑到测试区块链应用程序的复杂性以及在实时环境中更快的部署和集成,QA团队必须了解如何评估/调试区块链应用程序。这也导致了一些“专门的测试”技术,如:

  1. 智能合同测试:以最简单的形式(不与法院/法律合同混淆)的智能合同是计算机程序,当满足某些预定义或预编码条件和业务逻辑或规则时,自动执行事务。此计算机程序或代码在包含本合同各方商定的包含预定规则的区块链中运行。智能合同可以被认为是最简单的分散式自动化形式,无需支持第三方的需求。智能合同以API不同,因为它不能称之为外部Web ApissMart合同由于它们在数字身份和记录管理中的潜在部署而导致的普及。将此视为许多技术组织根据自己的个人数据副本处理的方式。This may lead to privacy risks and security concerns.What if all these details can be consolidated and owned by the individual who shall decide the ‘what’, ‘how’ and ‘whom’ this information can be shared with (may include charges for holding/processing the information)? This process is now being referred as “internet of value”. Testing the algorithm and source code and the associate business logic becomes more important when such smart contracts are executed. Solidity (by Ethereum) programming language (influenced by JavaScript) is popularly used while writing smart contracts. Another popular customized platform available in Openchain.This specialized testing, if done well, could save many major costs and effort. For example, usually contract updates or rolling back an update is next to impossible in smart contracts due to the associated complexity increase in development that arises when such updates are done.
  2. 同行/节点测试:节点是区块链网络上的设备,其能够执行沿分布式网络路由的发送,接收,创建或存储数据的多个任务。当多个节点彼此交互时,它们被称为“对等体”(相同的方式工作)。节点与网络交谈,并通过其对等体获取有关网络的更多详细信息。Peer / Node测试对于维护网络和共享LEDERER的完整性至关重要。进行测试以在交易顺序上达到所有节点的共识(因为它们被添加到网络)。确保事务序列和一致性的每个节点都需要在每个节点处精确相同。测试人员确保彻底测试共识协议以确保交易排序。还对可能同时失败或由于潜在的网络问题而失败的节点进行测试,或者由于由于不参与网络而导致网络的节点。对等/节点测试有助于在网络与其他验证对等体之间建立同步。

敏捷/ Devops测试中的最佳实践可以提供帮助。

Agile是一种用于软件开发的项目管理方法,通过自组织交叉功能团队之间的协作,需求和解决方案的需求和解决方案。它是一种迭代的软件交付方法,可以从项目开始逐步构建软件,并且能够适应快速或快速更改而不是发生的更改。其中一个相似之处是 - 敏捷作品通过将项目破坏到一点用户功能,称为用户故事并优先考虑它们,然后在名为迭代的短周期中连续地传送它们。这是您可以与在SlockChain中创建和测试的块相关联的东西。即使是敏捷宣言 - a)个人和互动的过程和工具b)在全面文件中的工作软件c)响应遵循计划和d)客户合作谈判的客户协作 - 是可以在区块链的运作中所属的在透明度,高效和安全,智能合同和分散系统方面。

另一方面,Devops旨在通过简化应用程序 - 开发和测试和操作团队(部署)之间的关系来促进连续交付和连续部署的过程 - 类似于沿分布式网络路由的多个任务的节点类似的东西。Devops中的其他重要组件之一是连续测试 - 作为软件交付管道的一部分执行自动测试的过程,以获得与软件发布候选人相关的业务风险的即时反馈。SloweChain上类似行需要实时验证,因为链中的每个人都可以实时看到块的相关详细信息。

敏捷诸如持续集成测试等Devops的频繁迭代/测试和最佳实践之类的最佳实践可能对部落应用程序部署和测试的方式产生重大影响。采用的其他经过验证的方法之一是“左转测试” - 通过将测试转移到生命周期的左侧,可以通过连续重用的选择进行早期测试。这种整体方法有助于在生命周期早期揭示缺陷,避免生产惊喜。

BlockChain正在快速发展,并带来很多挑战。因此,对整个行业的整体采用和成功变得严重测试。

结论

在真实世界的实施中取得成功,与区块链的敏捷/救主的整合 - 必须考虑三个主要方面 - 人(文化),过程和工具。

在Cigniti,我们与这些关键方面同步,可以帮助您成功测试区块链应用程序并提供成功的结果。

连接与我们合作,以获得区块链实现和测试方面的有趣见解。