如何做区块链项目测试?

区块链技术最近热的发紫,大多数的文章都在普及区块链概念。区块链可能会成为未来10年互联应用的一个底层技术,会应用于各行各业的各种项目。比如:商品溯源,传统溯源系统采用集中数据存储数据,其实这样的数据对持有者来说,想怎么修改,就怎么修改,那它的数据可信度有多少?之前甚至出现过某银行储户的资金不翼而飞的情况。既然区块链会易用到各种系统,QA同学当然有必要了解下区块链该怎么测了。小编结合实际整理了下区块链测试相关内容,一起来看看吧

背景

 区块链的特性回顾:

● 去中介化/中心化的信任。

● 稳定性、可靠性、持续性。因为它是一个分布式的网络架构,没有一个中心节点可以被打击或者攻击,所以在整体的技术布置方面有着更强的稳定性、可靠性和持续性。

● 强安全、共识机制不需要第三方的进入,而是通过一个技术来达到,先前预定的一个技术来达到整个交易的完成。

● 交易的公开透明和不可篡改性。

简单概括:去中心化,不可篡改、所有节点公开全账本、账户信息持续可追踪、对等网络,没有上帝角色(系统管理员等)。

技术储备

一、区块链测试的难点

区块链测试与传统的软件测试有很大的不同,主要体现在以下几点:

系统边界模糊
传统的软件,不管是是独立的应用程序,还是客户端/服务器模式的应用程序,都有明显的系统边界,可以通过UI用户界面或者客户端去进行测试。区块链底层,则是一个完全去中心化的分布式网络。这个网络有可能跨越多个子网、多个数据中心、多个运营商、甚至多个国家,其边界是模糊的。对于区块链底层的测试,不仅仅是前端API与某个区块链节点之间的测试,还涉及大量区块链节点与节点之间的测试。

●故障类型复杂
一般软件故障包括3类:
 a.宕机故障(Crash Failure);
 b.宕机-恢复故障 (Crash-Recovery Failures);
 c.拜占庭故障 (Byzantine Failures)。
所谓拜占庭故障,来自一个著名的“拜占庭将军问题”,指系统存在某些恶意节点,用一个形象的比喻就是“叛变的Byzantine将军”。从不同观察者角度看这类节点,表现出不一致的症状,这在需要共识的系统中,往往会导致系统服务失效。

一般软件最多只需要解决前两种故障,而区块链系统,则需要同时处理所 有的故障,确保系统的可靠运行。

区块链类型不同
区块链本身包含公有链、私有链、联盟链等多种类型,不同类型在管理、用户身份、最大节点数等平台自身特征方面均有不同,测评需要考虑所有的模式,导致测试方案更加复杂。(如下表)

二、测试点的考量

根据目前行业发布的白皮书,区块链的评测标准包括:

技术要求

区块链相关的落地系统,也可能包括我们熟悉的传统架构软件的测试内容。比如之前某些厂商的带宽共享、共享云,也会有独立的APP支持在线查询管理等;对于区块链底层的测试,则需要掌握的技术包括如下几点:

1.首先要掌握密码学的基本知识(例如对称加密、非对称加密、数字签名的原理);

2.理解数据结构中的链表概念,树的概念;

3.区块链的交易记账模型(如何实现转账的,如何避免双花的,如何实现所有权验证的);

4.若是基于以太坊代码做,那还得理解虚拟机运行原理;

区块链项目重点测试如下内容:

1.转账,向单/多签名地址转账,向脚本转账;

2.如果对币的机制有修改,双花攻击测试;

3.智能合约功能及安全测试;

4.打包及交易确认效率。

其实,任何软件的测试,都是可以基于“输入-输出-行为”模型(又叫IBO模型)来做测试分析和设计。

业务场景及性能测试

一、 业务场景

我们以金融业务为例,通常分为实施业务、和非实时业务,两种业务的特点在于:

1.实时业务:秒级支付、私有链、无单点故障和高扩展性;

2.非实时业务:去中心化、联盟链、防篡改、数据零丢失;

具体如下图:

 二、关于性能测试的一些思考

对于性能评测部分,主要关注一下4个指标:

对于不同的性能指标,几点思考:

●延迟:P2P系统中都是虚拟链接,实际路由可能每次都不一样。

●共识率:系统中设定一些节点,故意篡改释放假数据,看是否成功。

●吞吐率:检查矿工的效率,即整个系统每秒的有效交易数。

●目前性能评测中,常见的是脱离网络规模和区块大小谈每秒交易数(TPS)

a.实际中,网络规模越大,需要达成共识的节点越多,达成共识的进度,越慢,吞吐量(TPS)就越低;

b.区块越大,可扩展性越大,吞吐量可能发生抖动,大概率是变低。

结束语

目前对于区块链的测试内容上,短期还会出现针对不同行业的差异性,但最终会走向融合和统一。测试手段上,也将随着时间逐步由人工测试,转向自动化测试,有周边的功能深入到底层。

本文转摘自51testiong

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,132评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,802评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,566评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,858评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,867评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,695评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,064评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,705评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,915评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,677评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,796评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,432评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,041评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,992评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,223评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,185评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,535评论 2 343

推荐阅读更多精彩内容

  • 巴比特旗下时戳资本近日发布了《区块链公链项目研究报告》。作为时戳资本区块链行业研究报告系列03,这份最新的报告主要...
    shenciyou阅读 2,334评论 1 10
  • '''string="hello" %s打印时结果是hello print "string=%s" % strin...
    西木春风阅读 118评论 0 0
  • 有时,我会害怕。蟑螂从脚边爬过会害怕。看了恐怖电影后一个人留在家里会害怕。招惹了学校里张牙爪舞的女孩会害怕。但我最...
    上邪_阅读 364评论 0 0
  • 我一直是对过山车类的项目是敬而远之的。最早可以追溯到小学的时候去北京的一个乐园玩,看到过山车呼啸着从头顶飞过,直接...
    William孙筱奇阅读 1,345评论 0 0
  • 宋军结婚以后,就开了一个移动通讯店,卖手机,手机配件,贴膜等,也给人充话费,小两口经营了2年多,也算稳定下来,压力...
    一直成长的苹果树阅读 190评论 0 0