【譯】區(qū)塊鏈測試最佳實踐

作為一名QA蝙泼,初探區(qū)塊鏈,眼前全是未知劝枣,更何談區(qū)塊鏈質(zhì)量保證汤踏,于是在google上找到了一篇關(guān)于區(qū)塊鏈測試最佳實踐的文章,它提供了一些測試區(qū)塊鏈的思維舔腾,把它作為區(qū)塊鏈測試入門的階梯茎活,幫助我進(jìn)入?yún)^(qū)塊鏈的大門,大家可以通過閱讀這篇文章琢唾,對區(qū)塊鏈測試有一些宏觀上的了解和思考,所以我把它翻譯成中文盾饮,提供給有興趣的小伙伴參考討論采桃。

原文鏈接:Best Practice In Blockchain Testing? ?作者:?Deb Cobb

區(qū)塊鏈是一個數(shù)字化,分散丘损,公開共享的公共分類賬普办,詳細(xì)說明了每個價值,旨在記錄交易和跟蹤業(yè)務(wù)網(wǎng)絡(luò)中的資產(chǎn)和轉(zhuǎn)移交易徘钥,區(qū)塊鏈依賴于由用戶機器組成的的點對點的計算機網(wǎng)絡(luò)衔蹲,其點對點架構(gòu)與它自身的不變性,透明性,去中介性相結(jié)合舆驶,使其成為銷售和任何基于價值資產(chǎn)轉(zhuǎn)移的理想平臺橱健。

在區(qū)塊鏈架構(gòu)中,節(jié)點扮演著參與者沙廉,他們共享一個通過點對點復(fù)制更新的賬本拘荡,當(dāng)交易發(fā)生時,每個節(jié)點都能夠從其他節(jié)點上接收交易記錄撬陵。由于節(jié)點既充當(dāng)發(fā)布者又充當(dāng)訂閱者珊皿,節(jié)點也可以發(fā)送交易信息。交易數(shù)據(jù)在傳輸時在網(wǎng)絡(luò)上同步巨税。

區(qū)塊鏈網(wǎng)絡(luò)即經(jīng)濟(jì)又高效蟋定,因為它消除了利益相關(guān)者之間的重復(fù)工作,減少了對中間人的需求草添。因為共識模型對信息進(jìn)行驗證驶兜,因此交易是安全的,可以被認(rèn)證的果元,并且是可以被驗證的促王。這些因素共同使區(qū)塊鏈成為一個記錄和存儲交易過程以及跟蹤供應(yīng)鏈中任何資產(chǎn)流動的理想平臺。

區(qū)塊鏈正在向數(shù)字信托轉(zhuǎn)變

區(qū)塊鏈?zhǔn)菫樵S多企業(yè)的數(shù)字化轉(zhuǎn)型提供動力而晒,它是一種支持新興的“信任經(jīng)濟(jì)”的基礎(chǔ)技術(shù)蝇狼,它在所有參與者之間產(chǎn)生信任,因為它可以安全的轉(zhuǎn)移任何有價值的資產(chǎn)倡怎。資產(chǎn)可以是任何東西 - 例如支付迅耘,記錄,食品监署,土地颤专,知識產(chǎn)權(quán)等。

區(qū)塊鏈只能通過區(qū)塊鏈的參與者之間的共識進(jìn)行更新钠乏,并且當(dāng)新的數(shù)據(jù)涌入時栖秕,鏈上的數(shù)據(jù)是不會出現(xiàn)中斷的。對區(qū)塊鏈的安全性和透明度的信任是至關(guān)重要的晓避,安全保證是驅(qū)動區(qū)塊鏈被采納的關(guān)鍵因素簇捍,喪失這些信任,區(qū)塊鏈的參與者們就會選擇其他的解決方案俏拱。

要使區(qū)塊鏈取得成功暑塑,利益相關(guān)者必須愿意加入?yún)^(qū)塊鏈生態(tài)系統(tǒng)中,他們需要相信區(qū)塊鏈能夠使用正確的智能合約去執(zhí)行交易锅必,并且能夠準(zhǔn)確的反映整個價值鏈的資產(chǎn)轉(zhuǎn)移事格。

測試區(qū)塊鏈

為了促進(jìn)信任,測試人員需要確保所有區(qū)塊鏈組件的正常工作,并且交付給區(qū)塊鏈結(jié)構(gòu)的任何相關(guān)應(yīng)用程序之間都以互信的方式進(jìn)行交互驹愚,測試人員應(yīng)該遵循測試的最佳實踐方法远搪,其中包括:Shift LeftAPI么鹤,功能測試和性能測試终娃。

Shift Left Testing

在價值轉(zhuǎn)移過程的每一個步驟對軟件質(zhì)量的要求為Shift Left 測試提供了強有力的論據(jù),更多區(qū)塊鏈項目團(tuán)隊正在將AgileDevOps實踐應(yīng)用于他們的開發(fā)和測試工作蒸甜。通過Shift Left棠耕,團(tuán)隊可以盡早執(zhí)行各種測試,并不斷重復(fù)這些測試柠新。在開發(fā)過程中提供早期的迭代質(zhì)量反饋可以減少在生命周期后期發(fā)現(xiàn)非常嚴(yán)重缺陷的數(shù)量窍荧。

API Testing

根據(jù)應(yīng)用程序的不同,API測試需要解決應(yīng)用程序進(jìn)出區(qū)塊鏈生態(tài)系統(tǒng)的過程恨憎,由于區(qū)塊鏈可以觸發(fā)事件蕊退,外部系統(tǒng)的外部調(diào)用或外部事件可以觸發(fā)區(qū)塊鏈活動°究遥考慮提交給API的交易瓤荔,必須根據(jù)具體的規(guī)則驗證按照順序在區(qū)塊鏈上進(jìn)行更新。然后钥组,API會收到區(qū)塊鏈已經(jīng)更新的確認(rèn)反饋输硝。測試人員必須在每個流程步驟中驗證應(yīng)用系統(tǒng)進(jìn)出區(qū)塊鏈系統(tǒng)的交互,即API的請求和響應(yīng)都已經(jīng)被正確的格式化和處理程梦。

Functional Testing

隨著區(qū)塊鏈進(jìn)入新的應(yīng)用領(lǐng)域点把,重要的區(qū)塊鏈組件以及整體生態(tài)系統(tǒng)的功能測試至關(guān)重要,功能測試需要評估用例場景和相關(guān)的業(yè)務(wù)流程屿附,例如智能合約的行為郎逃。

測試人員需要考慮的區(qū)塊鏈組件包括:

Block-size:塊的大小可能會根據(jù)區(qū)塊鏈的應(yīng)用而變化,因此挺份,塊中的有效載荷也將在大小上有所變化褒翰。對于許多區(qū)塊鏈,每個塊不到100字節(jié)被認(rèn)識非有效載荷匀泊。在撰寫本文時影暴,比特幣每塊的固定大小限制在1MB。關(guān)鍵是探赫,測試人員需要評估更改塊大小如何影響行為。當(dāng)進(jìn)入塊的新數(shù)據(jù)量超過該區(qū)塊鏈應(yīng)用程序的最大塊大小時會發(fā)生什么撬呢,如何解決伦吠?請記住,多個交易可以被分配到一個區(qū)塊。

Chain-size:區(qū)塊鏈的期望是它能夠提供鏈上交易的每個價值轉(zhuǎn)移的永久并且完整的記錄毛仪,因此從理論上來講搁嗓,鏈的大小是無限的

Data-transmission:由于區(qū)塊鏈的對等體系結(jié)構(gòu),驗證加密和解密的數(shù)據(jù)傳輸過程是否完美無缺箱靴,這一點至關(guān)重要腺逛。關(guān)鍵測試場景是確保沒有數(shù)據(jù)丟失。

Adding-block:每當(dāng)驗證交易時衡怀,測試人員需要驗證新塊是否被附加上鏈棍矛。請記住,鏈?zhǔn)遣豢勺兊呐籽睢V匾氖枪晃瑹o論何時添加新塊,都要是正確的怖现,因為它永遠(yuǎn)無法更改茁帽。

Performance Testing

在文章發(fā)稿時,區(qū)塊鏈性能因無法擴展而受到阻礙 - 例如; 區(qū)塊鏈目前無法處理替換金融服務(wù)組織的專有支付處理系統(tǒng)所需的大量交易屈嗤。 因此潘拨,隨著區(qū)塊鏈的發(fā)展,參與者 - 用戶體驗將同樣關(guān)注信任與事務(wù)處理速度饶号。 性能測試應(yīng)該基于區(qū)塊鏈的客戶端應(yīng)用程序的最終用戶角度铁追,去測試智能合約和系統(tǒng)接口所需的響應(yīng)時間。

區(qū)塊鏈中的性能測試包括識別性能瓶頸讨韭,定義用于調(diào)整系統(tǒng)的度量標(biāo)準(zhǔn)脂信,以及評估應(yīng)用程序是否可以投產(chǎn)。

QA還應(yīng)該針對拓展區(qū)塊鏈提供的任何執(zhí)行服務(wù)進(jìn)行測試透硝,去評估多數(shù)據(jù)共識失敗和跨節(jié)點更新的影響狰闪。測試人員應(yīng)該預(yù)測性能測試中的偏差,因為延遲會根據(jù)區(qū)塊鏈所在的P2P網(wǎng)絡(luò)的帶寬和交易的數(shù)據(jù)量的變化而變化濒生。場景會進(jìn)一步受到數(shù)據(jù)類型和服務(wù)器位置的影響埋泵,自動化性能測試的關(guān)鍵是評估區(qū)塊鏈生態(tài)系統(tǒng)整體的可拓展性。端到端的場景需要結(jié)合區(qū)塊鏈生態(tài)系統(tǒng)的各個方面罪治,并且應(yīng)該包含多節(jié)點的復(fù)合測試丽声。

由于為區(qū)塊鏈提供動力的共享賬本,需要在每個節(jié)點上反映相同的交易序列觉义,不同的共識協(xié)議之間的延遲可能是不同的雁社,測試人員需要執(zhí)行對等節(jié)點測試去保證當(dāng)產(chǎn)生一個新塊時,它所發(fā)布交易的一致性和性能晒骇。同時交易需要遵循適當(dāng)?shù)捻樞蛎鼓欤源_保網(wǎng)絡(luò)和共享賬本的完整性是可維護(hù)的磺浙。

結(jié)論

區(qū)塊鏈?zhǔn)且环N新興技術(shù),它可以提供給應(yīng)用程序的安全性遠(yuǎn)遠(yuǎn)超過安全支付徒坡。隨著它逐漸發(fā)展成為一個數(shù)字化轉(zhuǎn)型平臺撕氧,區(qū)塊鏈為當(dāng)今全球組織中存在的集中式交易和記錄保存機制提供了一種破壞性和節(jié)約成本的替代方案。與任何新興技術(shù)一樣喇完,區(qū)塊鏈的成功和應(yīng)用取決于它的可拓展性伦泥。但是,對于區(qū)塊鏈锦溪,對共識的信任是每個區(qū)塊鏈交易完整性和一致性的基礎(chǔ)不脯。持續(xù)測試是建立信任的重要支柱,其包括API測試海洼。功能測試和性能測試跨新。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市坏逢,隨后出現(xiàn)的幾起案子域帐,更是在濱河造成了極大的恐慌,老刑警劉巖是整,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件肖揣,死亡現(xiàn)場離奇詭異,居然都是意外死亡浮入,警方通過查閱死者的電腦和手機龙优,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來事秀,“玉大人彤断,你說我怎么就攤上這事∫准#” “怎么了宰衙?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長睹欲。 經(jīng)常有香客問我供炼,道長,這世上最難降的妖魔是什么窘疮? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任袋哼,我火速辦了婚禮,結(jié)果婚禮上闸衫,老公的妹妹穿的比我還像新娘涛贯。我一直安慰自己,他們只是感情好蔚出,可當(dāng)我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布疫蔓。 她就那樣靜靜地躺著含懊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪衅胀。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天酥筝,我揣著相機與錄音滚躯,去河邊找鬼。 笑死嘿歌,一個胖子當(dāng)著我的面吹牛掸掏,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播宙帝,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼丧凤,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了步脓?” 一聲冷哼從身側(cè)響起愿待,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎靴患,沒想到半個月后仍侥,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡鸳君,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年农渊,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片或颊。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡砸紊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出囱挑,到底是詐尸還是另有隱情醉顽,我是刑警寧澤,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布看铆,位于F島的核電站徽鼎,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏弹惦。R本人自食惡果不足惜否淤,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一荐吵、第九天 我趴在偏房一處隱蔽的房頂上張望先紫。 院中可真熱鬧,春花似錦糊肤、人聲如沸助泽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至隐解,卻和暖如春鞍帝,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背煞茫。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工帕涌, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人续徽。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓蚓曼,卻偏偏與公主長得像,于是被迫代替她去往敵國和親钦扭。 傳聞我的和親對象是個殘疾皇子纫版,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,802評論 2 345

推薦閱讀更多精彩內(nèi)容