您好,登錄后才能下訂單哦!
這篇文章主要介紹了怎么做區塊鏈項目測試的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇怎么做區塊鏈項目測試文章都會有所收獲,下面我們一起來看看吧。
區塊鏈的特性回顧:
● 去中介化/中心化的信任。
● 穩定性、可靠性、持續性。因為它是一個分布式的網絡架構,沒有一個中心節點可以被打擊或者攻擊,所以在整體的技術布置方面有著更強的穩定性、可靠性和持續性。
● 強安全、共識機制不需要第三方的進入,而是通過一個技術來達到,先前預定的一個技術來達到整個交易的完成。
● 交易的公開透明和不可篡改性。
簡單概括:去中心化,不可篡改、所有節點公開全賬本、賬戶信息持續可追蹤、對等網絡,沒有上帝角色(系統管理員等)。
2.1 區塊鏈測試的難點
區塊鏈測試與傳統的軟件測試有很大的不同,主要體現在以下幾點:
●系統邊界模糊
傳統的軟件,不管是是獨立的應用程序,還是客戶端/服務器模式的應用程序,都有明顯的系統邊界,可以通過UI用戶界面或者客戶端去進行測試。區塊鏈底層,則是一個完全去中心化的分布式網絡。這個網絡有可能跨越多個子網、多個數據中心、多個運營商、甚至多個國家,其邊界是模糊的。對于區塊鏈底層的測試,不僅僅是前端API與某個區塊鏈節點之間的測試,還涉及大量區塊鏈節點與節點之間的測試。
●故障類型復雜
一般軟件故障包括3類: a.宕機故障(Crash Failure); b.宕機-恢復故障 (Crash-Recovery Failures); c.拜占庭故障 (Byzantine Failures)。
所謂拜占庭故障,來自一個著名的“拜占庭將軍問題”,指系統存在某些惡意節點,用一個形象的比喻就是“叛變的Byzantine將軍”。從不同觀察者角度看這類節點,表現出不一致的癥狀,這在需要共識的系統中,往往會導致系統服務失效。
一般軟件最多只需要解決前兩種故障,而區塊鏈系統,則需要同時處理所 有的故障,確保系統的可靠運行。
●區塊鏈類型不同
區塊鏈本身包含公有鏈、私有鏈、聯盟鏈等多種類型,不同類型在管理、用戶身份、最大節點數等平臺自身特征方面均有不同,測評需要考慮所有的模式,導致測試方案更加復雜。(如下表)
2.2 測試點的考量
根據目前行業發布的白皮書,區塊鏈的評測標準包括:
技術要求
區塊鏈相關的落地系統,也可能包括我們熟悉的傳統架構軟件的測試內容。比如之前某些廠商的帶寬共享、共享云,也會有獨立的APP支持在線查詢管理等;對于區塊鏈底層的測試,則需要掌握的技術包括如下幾點:
1.首先要掌握密碼學的基本知識(例如對稱加密、非對稱加密、數字簽名的原理);
2.理解數據結構中的鏈表概念,樹的概念;
3.區塊鏈的交易記賬模型(如何實現轉賬的,如何避免雙花的,如何實現所有權驗證的);
4.若是基于以太坊代碼做,那還得理解虛擬機運行原理;
區塊鏈項目重點測試如下內容:
1.轉賬,向單/多簽名地址轉賬,向腳本轉賬;
2.如果對幣的機制有修改,雙花攻擊測試;
3.智能合約功能及安全測試;
4.打包及交易確認效率。
其實,任何軟件的測試,都是可以基于“輸入-輸出-行為”模型(又叫IBO模型)來做測試分析和設計。
3.1 業務場景
我們以金融業務為例,通常分為實施業務、和非實時業務,兩種業務的特點在于:
1.實時業務:秒級支付、私有鏈、無單點故障和高擴展性;
2.非實時業務:去中心化、聯盟鏈、防篡改、數據零丟失;
具體如下圖:
3.2 關于性能測試的一些思考
對于性能評測部分,主要關注一下4個指標:
對于不同的性能指標,幾點思考:
●延遲:P2P系統中都是虛擬鏈接,實際路由可能每次都不一樣。
●共識率:系統中設定一些節點,故意篡改釋放假數據,看是否成功。
●吞吐率:檢查礦工的效率,即整個系統每秒的有效交易數。
●目前性能評測中,常見的是脫離網絡規模和區塊大小談每秒交易數(TPS)
a.實際中,網絡規模越大,需要達成共識的節點越多,達成共識的進度,越慢,吞吐量(TPS)就越低;
b.區塊越大,可擴展性越大,吞吐量可能發生抖動,大概率是變低。
關于“怎么做區塊鏈項目測試”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“怎么做區塊鏈項目測試”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。