区块链如何测试?

发表于:2018-1-23 13:48

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:高学文    来源:Qtest之道

分享:
  二、测试点的考量
  根据目前行业发布的白皮书,区块链的评测标准包括:
  技术要求
  区块链相关的落地系统,也可能包括我们熟悉的传统架构软件的测试内容。比如之前某些厂商的带宽共享、共享云,也会有独立的APP支持在线查询管理等;对于区块链底层的测试,则需要掌握的技术包括如下几点:
  1.首先要掌握密码学的基本知识(例如对称加密、非对称加密、数字签名的原理);
  2.理解数据结构中的链表概念,树的概念;
  3.区块链的交易记账模型(如何实现转账的,如何避免双花的,如何实现所有权验证的);
  4.若是基于以太坊代码做,那还得理解虚拟机运行原理;
  区块链项目重点测试如下内容:
  1.转账,向单/多签名地址转账,向脚本转账;
  2.如果对币的机制有修改,双花攻击测试;
  3.智能合约功能及安全测试;
  4.打包及交易确认效率。
  其实,任何软件的测试,都是可以基于“输入-输出-行为”模型(又叫IBO模型)来做测试分析和设计。  
  业务场景及性能测试
  一、 业务场景
  我们以金融业务为例,通常分为实施业务、和非实时业务,两种业务的特点在于:
  1.实时业务:秒级支付、私有链、无单点故障和高扩展性;
  2.非实时业务:去中心化、联盟链、防篡改、数据零丢失;
  具体如下图:
  二、关于性能测试的一些思考
  对于性能评测部分,主要关注一下4个指标:
  对于不同的性能指标,几点思考:
  ●延迟:P2P系统中都是虚拟链接,实际路由可能每次都不一样。
  ●共识率:系统中设定一些节点,故意篡改释放假数据,看是否成功。
  ●吞吐率:检查矿工的效率,即整个系统每秒的有效交易数。
  ●目前性能评测中,常见的是脱离网络规模和区块大小谈每秒交易数(TPS)
  a.实际中,网络规模越大,需要达成共识的节点越多,达成共识的进度,越慢,吞吐量(TPS)就越低
  b.区块越大,可扩展性越大,吞吐量可能发生抖动,大概率是变低。 
  结束语
  目前对于区块链的测试内容上,短期还会出现针对不同行业的差异性,但最终会走向融合和统一。测试手段上,也将随着时间逐步由人工测试,转向自动化测试,有周边的功能深入到底层。

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号