溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么做區(qū)塊鏈項目測試

發(fā)布時間:2022-01-18 10:32:45 來源:億速云 閱讀:165 作者:iii 欄目:互聯(lián)網(wǎng)科技

這篇文章主要介紹了怎么做區(qū)塊鏈項目測試的相關(guān)知識,內(nèi)容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇怎么做區(qū)塊鏈項目測試文章都會有所收獲,下面我們一起來看看吧。

1

背景

怎么做區(qū)塊鏈項目測試

怎么做區(qū)塊鏈項目測試

區(qū)塊鏈的特性回顧:

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

● 穩(wěn)定性、可靠性、持續(xù)性。因為它是一個分布式的網(wǎng)絡(luò)架構(gòu),沒有一個中心節(jié)點可以被打擊或者攻擊,所以在整體的技術(shù)布置方面有著更強的穩(wěn)定性、可靠性和持續(xù)性。

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

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

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

2

技術(shù)儲備

2.1 區(qū)塊鏈測試的難點

怎么做區(qū)塊鏈項目測試

區(qū)塊鏈測試與傳統(tǒng)的軟件測試有很大的不同,主要體現(xiàn)在以下幾點:

●系統(tǒng)邊界模糊

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

●故障類型復(fù)雜

一般軟件故障包括3類:  a.宕機故障(Crash Failure);  b.宕機-恢復(fù)故障 (Crash-Recovery Failures);  c.拜占庭故障 (Byzantine Failures)。

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

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

●區(qū)塊鏈類型不同

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

怎么做區(qū)塊鏈項目測試

2.2 測試點的考量

根據(jù)目前行業(yè)發(fā)布的白皮書,區(qū)塊鏈的評測標(biāo)準(zhǔn)包括:

怎么做區(qū)塊鏈項目測試

技術(shù)要求

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

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

2.理解數(shù)據(jù)結(jié)構(gòu)中的鏈表概念,樹的概念;

3.區(qū)塊鏈的交易記賬模型(如何實現(xiàn)轉(zhuǎn)賬的,如何避免雙花的,如何實現(xiàn)所有權(quán)驗證的);

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

區(qū)塊鏈項目重點測試如下內(nèi)容:

1.轉(zhuǎn)賬,向單/多簽名地址轉(zhuǎn)賬,向腳本轉(zhuǎn)賬;

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

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

4.打包及交易確認效率。

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

3

業(yè)務(wù)場景及性能測試

3.1 業(yè)務(wù)場景

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

1.實時業(yè)務(wù):秒級支付、私有鏈、無單點故障和高擴展性;

2.非實時業(yè)務(wù):去中心化、聯(lián)盟鏈、防篡改、數(shù)據(jù)零丟失;

具體如下圖:

怎么做區(qū)塊鏈項目測試

3.2 關(guān)于性能測試的一些思考

對于性能評測部分,主要關(guān)注一下4個指標(biāo):

怎么做區(qū)塊鏈項目測試

對于不同的性能指標(biāo),幾點思考:

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

●共識率:系統(tǒng)中設(shè)定一些節(jié)點,故意篡改釋放假數(shù)據(jù),看是否成功。

●吞吐率:檢查礦工的效率,即整個系統(tǒng)每秒的有效交易數(shù)。

●目前性能評測中,常見的是脫離網(wǎng)絡(luò)規(guī)模和區(qū)塊大小談每秒交易數(shù)(TPS)

a.實際中,網(wǎng)絡(luò)規(guī)模越大,需要達成共識的節(jié)點越多,達成共識的進度,越慢,吞吐量(TPS)就越低;

b.區(qū)塊越大,可擴展性越大,吞吐量可能發(fā)生抖動,大概率是變低。

怎么做區(qū)塊鏈項目測試

關(guān)于“怎么做區(qū)塊鏈項目測試”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“怎么做區(qū)塊鏈項目測試”知識都有一定的了解,大家如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI