区块链c端应用小程序_测试区块链应用程序初学者指南

区块链c端应用小程序

在2017年的最后几个月中,一些媒体每天都在谈论比特币和其他加密货币。 这些已经存在多年的货币突然出现了大幅增长。 例如, 比特币的价格从2017年1月的略低于750美元上涨到2017年10月中旬的5,856.10美元

这种巨大的增长使其成为一个主要话题。 因此,随着这些更新的货币越来越多地进入公共领域,加密货币背后的技术也开始受到关注。 这项技术是区块链。

区块链应用已被世界上一些最大的行业所采用。 由于区块链应用程序的性质,它进一步支持了测试人员和测试人员的重要性,并且该领域将在未来得到更高的关注和追捧。 因此,作为测试人员,唯一的疑问就是想知道这项新技术将如何影响您的日常工作,新机会和当前技能。

您将需要学习哪些新工具来测试区块链应用程序,并且需要哪些技能对其进行测试?

在这里,我将概述什么是区块链技术,以及我们作为测试人员如何为测试区块链应用做好准备。

什么是区块链?

区块链是一种同时存在于许多地方的数据结构。 您只能添加到区块链。 不允许删除或更新。 区块链中保存的数据是去中心化的,这意味着网络中每台机器上都存在现有区块链的副本。

可以在该网络中的每台计算机上看到对区块链的添加,并且交易以密码方式链接到先前的交易。 因此,很难进行欺诈交易。 为此,某人将不得不将其历史重写为时间的开始,这是非常耗费资源的。

为了更新区块链中的每台机器,机器必须同步以具有共同的历史。 尽管由于此同步操作最终所有计算机最终都将具有相同的数据,但是只有最近的事务才更频繁地同步。

对于要添加的新交易,该决定取决于区块链中的大多数参与者。 交易的身份验证通过后,新块将添加到区块链中。

它是干什么用的?

当前,由于其高度安全的结构,区块链主要用于金融和汽车行业。 正如我之前提到的,它也是支撑比特币和以太坊等加密货币的技术。

并非所有的区块链技术都是开源的。 可能有像银行系统中使用的那样的私有区块链。


您可以在基于区块链的应用程序上执行哪些类型的测试和技术?

在开发软件项目的各个阶段可以执行许多不同类型的测试。 以下是可以用于确保区块链应用程序的高水平测试覆盖率和质量的几种测试类型。

单元测试

单元测试可帮助开发人员确保其代码在功能的最低级别和最小部分正常运行。 这应该始终是确保应用程序在开发早期就捕获大多数错误的第一道防线。

整合测试

集成测试可帮助开发人员和测试工程师确保不同组件之间以及内部和外部系统(如数据库)之间的代码通信。

用户界面

用户界面(UI)测试从最终用户的角度揭示了应用程序的工作方式。 确保您进行UI测试以确保他们的经验是积极的,或者在应用程序运行不正常时,至少应从应用程序中获得正确的反馈,这一点很重要。

应用程序接口

应用程序编程接口(API)测试使您充满信心,您已验证了应用程序从外部API收到的响应,并确保API请求的格式正确且已正确处理。

对于区块链应用程序,还有与API类似的技术类型,可让您对API采用相同的测试方法。 这些称为智能合约。

什么是智能合约?

智能合约是区块链中验证技术的重要组成部分。 智能合约是“ 以可编程构造形式存在的组规则,当满足预定条件时,这些规则能够自动执行 。” 例如,一个先决条件可能是试图追加到特定分类账的交易将经历其他验证,或者经过一组更健壮的验证。

尽管智能合约与API非常相似,因为它具有可以由在该区块链网络上注册的任何人调用的公共功能,但是它不能调用外部Web API。

那么,为什么我认为在其他类型的系统上测试区块链应用程序时,测试人员非常重要? 仅仅因为合同一旦部署到区块链,就永远无法更改。 因此,您必须非常有信心执行的测试具有很高的质量,并且涵盖了应该涵盖的所有内容。

如果在生产中发现缺陷,则必须创建并部署新版本的合同。 现有联系人的新版本不能简单地将现有数据转移进来。 您必须使用新合同手动初始化之前的数据。

更新合同并回滚更新也不可行。 这增加了开发的复杂性,并且意味着在应用程序投入生产之前对应用程序实施和运行单元测试以及集成测试的重要性可以为您节省大量的时间和金钱来纠正缺陷。

测试人员对区块链应用需要哪些技能?

尽管区块链应用程序在软件开发中相对较新,但我认为测试人员无需采用新技能即可测试这种技术。


我在下面重点介绍的一些技能是优秀测试人员的自然技能,或者仅仅是您在测试职业生涯中早期学习的技能,随着您在该领域的经验而增长。

批判性思考

批判性地分析和思考问题并解决问题的能力对于测试人员来说是一项永恒的技能,在测试区块链应用程序时将更加受追捧。

测试人员会考虑以下问题:如果未完成x,y和z,事务是否仍将执行? 如果网络中有大量交易等待确认,该怎么办? 在这些情况下会给用户什么反馈? 这应该是提供给用户的反馈吗? 还是此反馈暴露了任何安全风险?

如果着手进行新项目,还要考虑的另一件事是质疑区块链是否是您使用的最佳技术。 它是新的闪亮玩具,因此每个人都想采用它,但它可能不适合您想要实现的目标。

需要注意的是合规性问题。 例如,您不应存储健康或犯罪记录,因为不允许删除。 因此,当可以擦除未成年人的犯罪记录时,您将无法使用此技术。

自动化

所有语言都具有很强的自动化技能 ,无论是用于较低级别的单元,中级集成,API还是高级UI测试,都是可以转移到测试区块链应用程序的良好技能。 需要有扎实的自动化测试基础,以确保在开发的早期发现大多数问题。

手动UI测试

如果奠定了自动化测试的坚实基础,则测试人员可以专注于异常问题,这些异常问题可以通过手动执行的探索性测试轻松找到。

能够独立工作,研究应用程序的不同区域,尝试发现薄弱区域并能够成功重现这些都是优秀测试人员始终需要的技能。 尽管全世界都在寻求自动化来执行许多重复性和艰巨的任务,但是手动测试技能仍然需要磨练和提高。

快速学习新工具

随着新技术的出现,用于测试该技术的工具列表也会增加。 您将需要能够快速学习如何使用这些新工具,并判断哪种方法最适合您要完成的任务。

面向未来并为区块链做准备

希望到现在为止,您对区块链技术有了更好的了解,并且不再认为它像您最初想到的那样可怕。

我确定如果您是一名测试人员,那么您已经具备了我上面概述的技能的基础。 我的建议是进一步推动您感兴趣的领域,并可能尝试在您最薄弱的领域进行改进,以便为您提供测试区块链应用程序时提高技能的最佳机会。

翻译自: https://www.javacodegeeks.com/2018/03/a-beginners-guide-to-testing-blockchain-applications.html

区块链c端应用小程序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值