日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

【转】区块链如何测试?

發布時間:2023/12/13 综合教程 24 生活家
生活随笔 收集整理的這篇文章主要介紹了 【转】区块链如何测试? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

區塊鏈技術最近熱的發紫,大多數的文章都在普及區塊鏈概念。區塊鏈可能會成為未來10年互聯應用的一個底層技術,會應用于各行各業的各種項目。比如:商品溯源,傳統溯源系統采用集中數據存儲數據,其實這樣的數據對數據庫持有者來說,想怎么修改,就怎么修改,那它的數據可信度有多少?之前甚至出現過某銀行儲戶的資金不翼而飛的情況。既然區塊鏈會易用到各種系統,QA同學當然有必要了解下區塊鏈該怎么測了。小編結合實際整理了下區塊鏈測試相關內容,一起來看看吧!

背景

區塊鏈的特性回顧:

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

穩定性、可靠性、持續性。因為它是一個分布式的網絡架構,沒有一個中心節點可以被打擊或者攻擊,所以在整體的技術布置方面有著更強的穩定性、可靠性和持續性。

強安全、共識機制不需要第三方的進入,而是通過一個技術來達到,先前預定的一個技術來達到整個交易的完成。

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

簡單概括:去中心化,不可篡改、所有節點公開全賬本、賬戶信息持續可追蹤、對等網絡,沒有上帝角色(系統管理員等)。

技術儲備

一、區塊鏈測試的難點

區塊鏈測試與傳統的軟件測試有很大的不同,主要體現在以下幾點:

系統邊界模糊。傳統的軟件,不管是是獨立的應用程序,還是客戶端/服務器模式的應用程序,都有明顯的系統邊界,可以通過UI用戶界面或者客戶端去進行測試。區塊鏈底層,則是一個完全去中心化的分布式網絡。這個網絡有可能跨越多個子網、多個數據中心、多個運營商、甚至多個國家,其邊界是模糊的。對于區塊鏈底層的測試,不僅僅是前端API與某個區塊鏈節點之間的測試,還涉及大量區塊鏈節點與節點之間的測試。

故障類型復雜。一般軟件故障包括3類:

宕機故障(Crash Failure);

宕機-恢復故障 (Crash-Recovery Failures);

拜占庭故障 (Byzantine Failures)。所謂拜占庭故障,來自一個著名的“拜占庭將軍問題”,指系統存在某些惡意節點,用一個形象的比喻就是“叛變的Byzantine將軍”。從不同觀察者角度看這類節點,表現出不一致的癥狀,這在需要共識的系統中,往往會導致系統服務失效。

一般軟件最多只需要解決前兩種故障,而區塊鏈系統,則需要同時處理所 有的故障,確保系統的可靠運行。

區塊鏈類型不同。區塊鏈本身包含公有鏈、私有鏈、聯盟鏈等多種類型,不同類型在管理、用戶身份、最大節點數等平臺自身特征方面均有不同,測評需要考慮所有的模式,導致測試方案更加復雜。(如下表)

二、測試點的考量

根據目前行業發布的白皮書,區塊鏈的評測標準包括:

技術要求

區塊鏈相關的落地系統,也可能包括我們熟悉的傳統架構軟件的測試內容。比如之前某些廠商的帶寬共享、共享云,也會有獨立的APP支持在線查詢管理等;對于區塊鏈底層的測試,則需要掌握的技術包括如下幾點:

首先要掌握密碼學的基本知識(例如對稱加密、非對稱加密、數字簽名的原理);

理解數據結構中的鏈表概念,樹的概念;

區塊鏈的交易記賬模型(如何實現轉賬的,如何避免雙花的,如何實現所有權驗證的);

若是基于以太坊代碼做,那還得理解虛擬機運行原理;

區塊鏈項目重點測試如下內容:

轉賬,向單/多簽名地址轉賬,向腳本轉賬;

如果對幣的機制有修改,雙花攻擊測試;

智能合約功能及安全測試;

打包及交易確認效率。

其實,任何軟件的測試,都是可以基于“輸入-輸出-行為”模型(又叫IBO模型)來做測試分析和設計。

業務場景及性能測試

一、 業務場景

我們以金融業務為例,通常分為實施業務、和非實時業務,兩種業務的特點在于:

實時業務:秒級支付、私有鏈、無單點故障和高擴展性;

非實時業務:去中心化、聯盟鏈、防篡改、數據零丟失;

具體如下圖:

二、關于性能測試的一些思考

對于性能評測部分,主要關注一下4個指標:

對于不同的性能指標,幾點思考:

延遲:P2P系統中都是虛擬鏈接,實際路由可能每次都不一樣。

共識率:系統中設定一些節點,故意篡改釋放假數據,看是否成功。

吞吐率:檢查礦工的效率,即整個系統每秒的有效交易數。

目前性能評測中,常見的是脫離網絡規模和區塊大小談每秒交易數(TPS)

實際中,網絡規模越大,需要達成共識的節點越多,達成共識的進度,越慢,吞吐量(TPS)就越低

區塊越大,可擴展性越大,吞吐量可能發生抖動,大概率是變低。

結束語

目前對于區塊鏈的測試內容上,短期還會出現針對不同行業的差異性,但最終會走向融合和統一。測試手段上,也將隨著時間逐步由人工測試,轉向自動化測試,有周邊的功能深入到底層。

參考文獻:

1. 區塊鏈測評概覽https://www.jianshu.com/p/7d88c4176d4c

2. 區塊鏈成熟度評測報告https://www.jianshu.com/p/45e0eef2f34c

3. 嘿丫科技_程文彬的對話整理

總結

以上是生活随笔為你收集整理的【转】区块链如何测试?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。