比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > 狗狗幣 > Info

Premo測試框架詳解-ODAILY_HUB

Author:

Time:1900/1/1 0:00:00

BitXHub是趣鏈科技自主研發的跨鏈技術平臺,提供基于異構聯盟鏈間的賬本互操作解決方案。為保證BitXHub跨鏈平臺在日常迭代過程中的功能符合用戶需求,并盡可能多的把問題在發布或交付之前發現并改正,Premo測試工具應運而生。Premo主要基于BitXHub自身的gosdk實現,具有易于擴展和維護的特點。本文主要圍繞功能測試、性能測試以及自動化測試三個方面來概述Premo的測試框架。

Premo測試框架如下圖所示。基于測試的內容主要分為「功能測試」和「性能測試」。功能測試主要基于testing和testify實現整體測試框架,基于gosdk實現和BitXHub跨鏈平臺的通信和調用;性能測試主要是在gosdk的基礎上通過協程實現。Premo在功能測試的基礎上又進一步實現了持續集成測試,持續集成測試部分主要借助GitHubActions實現。

與V神相關的Gitcoin Presents NFT系列24小時交易量位列OpenSea榜首:金色財經報道,由區塊鏈融資公司Gitcoin和 NFT 平臺Metalabel合作推出的Gitcoin Presents NFT 系列在其公開鑄幣結束后價值飆升,交易量位列 OpenSea 榜首,根據OpenSea 的數據,該系列的24小時交易量為 8084 ETH,截至發稿時時價值超過 1500 萬美元。

該NFT系列旨在紀念 2018 年一篇關于 Quadratic Funding 的論文,是由以太坊基金會創始人 Vitalik Buterin、哈佛經濟學家 Zo? Hitzig 和社會活動組織 RadicalxChange 創始人 Glen Weyl 撰寫的公共籌款機制。購買 NFT 可向收藏者贈送該論文的數字副本,以及 Gitcoin 創始人評論融資機制成功的兩篇文章。[2023/3/10 12:53:12]

功能測試模塊主要依托于BitXHub項目自身的gosdk,testify開源庫和testing庫實現。功能測試模塊根據測試的功能點分為多個測試文件,每一個測試文件內的測試用例都包含于一個測試套件中,在日常測試可以基于你所需要測試的功能點來運行不同的套件,如下圖所示。例如model1001_chain_test.go內的所有測試用例都包含在model1這個套件中,如果需要運行chain相關的測試用例只需運行model1的套件即可。

元宇宙AR創企LivingCities.xyz完成400萬美元Pre-Seed輪融資:5月29日消息,元宇宙AR初創公司LivingCities.xyz宣布完成了一筆400萬美元的Pre-Seed輪融資,DCVC風險投資家Ali Temaseb等參投。LivingCities.xyz由AR云基礎設施公司6D.ai創始人Matt Miesnieks和Foursquare聯合創始人Dennis Crowley等人創立,旨在通過開放Web3協議創建一個3D空間。Matt Miesnieks此前創立的6D.ai已被《精靈寶可夢Go》開發商Niantic收購。(VR Times)[2022/5/29 3:48:46]

▲并行化測試

隨著項目的不斷擴展,測試用例的數目也在不斷增加,回歸全量測試用例所消耗的時間也越來越長,順序測試的方法在快速迭代的版本開發中顯得越來越低效。采用并行化測試可以有效解決這個問題,然而這又會引入一個新的問題,也就是測試用例之間的耦合性。很多用例在串行測試的過程中不會暴露問題,一旦進行并行化測試就會出現并發上的問題。

玳鴿區塊鏈獲1000萬元Pre-A+輪融資:近日,產業金融區塊鏈服務商玳鴿區塊鏈(以下簡稱“玳鴿”)宣布完成1000萬元Pre-A+輪融資,投資方是具有政府引導基金參股的淄博新舊動能轉換中晟股權投資基金。本輪融資資金主要用于產品研發和行業應用推廣及市場開拓。這是玳鴿在2020年獲得的第二筆融資。今年2月,玳鴿獲得深圳市中裝建設集團股份有限公司領投的千萬級戰略投資。(中物聯區塊鏈分會)[2020/10/12]

以BitXHub跨鏈平臺為例,BitXHub跨鏈平臺在接收跨鏈交易的過程中會根據賬戶地址維護一個nonce值用于實現跨鏈交易的有序性,每收到一筆交易nonce值就會增加1,如果收到的nonce值小于預期的nonce值,BitXHub跨鏈平臺就會丟掉這筆交易,反之,如果大于預期的nonce,BitXHub跨鏈平臺就會暫存這筆交易,直至nonce達到預期。這就會要求我們在并行化測試的用例中人為的去維護這個nonce值。因此,并行化測試中很重要的一點就是需要維護用例之間的相對獨立性,如何維護用例的相對獨立性則需要根據項目自身因地制宜。

Injective Protocol嚴正聲明:目前披露融資僅有Binance Labs及StartX參與的Pre-Seed輪次:近日,有行業機構和個人在未經查證的情況下,誤傳關于Injective Protocol項目的信息,包含有存在市場內未經官方同意解鎖流通的額度、虛假項目私募輪次(例如種子輪)及估值等謠言。關注者若對項目信息有疑問可透過官方渠道及國內顧問機構犇睿資本聯系取證。

Injective Protocol從2018年成立以來,官方公開的過往唯一資金募集為Binance Labs 及 StartX 參與的Pre-Seed輪,且基于美國 SEC 的 Regulation D/S 合規進行私募,市場內未有未經官方同意解鎖流通的額度。

針對上述杜撰信息,我們將保留通過法律手段追究的權利。

Injective Protocol是一款基于Cosmos和以太坊網絡,集成可驗證延遲函數(VDF),用以杜絕交易作弊和不良交易的去中心化交易協議, 是一個Layer2衍生品DEX,早期獲得Binance Labs孵化領投。[2020/5/18]

衡量一個跨鏈服務系統是否可靠穩定很重要的一點便是跨鏈自身的性能指標。Premo根據上述需求,基于BitXHub自身的gosdk實現了一套完整的性能測試方案用于檢驗BitXHub跨鏈平臺的性能是否滿足需求。Premo中進行的性能測試主要是壓力測試,通過向BitXHub跨鏈平臺發送大量的跨鏈交易來驗證BitXHub處理跨鏈交易的性能。整體性能測試主要分3個步驟進行,分別是應用鏈準備、發送跨鏈交易和統計TPS。

動態 | AnChain.ai 完成由 SIG 海納亞洲領投的 430 萬美元 Pre-A 輪融資:區塊鏈安全公司 AnChain.ai 完成由 SIG 海納亞洲及 AMINO Capital 領投的 430 萬美元 Pre-A 輪融資,該輪融資投資者還包括 Sand Hill Angels。AnChain.ai 致力于 AI 驅動來維護區塊鏈生態安全,由大數據及人工智能專家 Victor Fang 博士和 Ben Wu 聯合創立。 鏈聞此前報道,AnChain.ai 于 2018 年 10 月完成數百萬美元種子輪融資,投資方為吳軍博士等創辦的硅谷知名風險投資機構豐元創投 Amino Capital 、華爾街對沖基金背景的風險投資機構華巖資本 CRCM Ventures 等,并于 2018 年 11 月完成 SIG 海納亞洲、Brain Robotics Capital、明道未來資本的一輪融資。[2020/2/15]

▲應用鏈準備

在發送跨鏈交易前,需要預先根據不同的交易類型注冊一定數量的應用鏈到中繼鏈,以便后續Premo通過SDK使用這些應用鏈的身份向中繼鏈發送跨鏈交易。應用鏈注冊成功后還需要部署相應的驗證規則,用于中繼鏈驗證交易的有效性。

▲發送跨鏈交易

根據預先設定的TPS和應用鏈數量可以計算出一條應用鏈在一秒內需要向BitXHub跨鏈平臺發送的跨鏈交易數量。預先設定的交易類型可以構造出對應的交易體。注意由于跨鏈交易的有序性要求,我們需要在交易體中維護每一條跨鏈交易的nonce值。同時為了更加均勻的發送跨鏈交易,每隔50ms,Premo就會發送部分跨鏈交易到BitXHub跨鏈平臺上,例如Premo需要模擬20條應用鏈每秒總共發送2000條跨鏈交易,那么每條應用鏈需要在1秒內發送100條跨鏈交易,每50ms每條應用鏈就會發送5條跨鏈交易。

▲統計TPS

統計TPS是通過訂閱BitXHub跨鏈平臺的區塊事件實現。訂閱區塊事件后,BitXHub跨鏈平臺每出一個塊就會推送到Premo中,Premo通過統計區塊內的交易數量來計算TPS,每筆交易的延時=收到區塊的時間搓-交易的時間搓。Premo根據上述信息每秒打印TPS和交易的平均延時。

自動化測試主要實現的功能是在任意一個分支提PR到master分支或者release*分支時,完成全量功能測試用例的測試,同時根據測試結果生成相應的測試報告,并將測試報告發布到服務器,通過郵箱的形式通知PR的提交者。

▲Make命令

Premo將功能測試加入make命令中,通過make命令就能進行全量的功能測試。同時make命令根據測試的結果生成相應的測試報告。

▲GitHubActions

GitHubActions是GitHub的持續集成服務。在任意一個分支提PR到master分支或者release*分支時會觸發對應的action,action將根據目的分支名拉取對應的Premo分支進行功能測試,同時將成的測試報告發布到指定的服務器上,并將測試報告的連接通過郵件的形式發送給PR的提交者。

▲allure-server

GitHub上開源的AllureReportServer,支持通過GitHubActions的方式發布測試報告,并且allure-server支持docker。

「上述需要進行的工作較多,我們可以一點一點解析」

根據PR觸發action:

具體參考githubactions的官方文檔Eventsthattriggerworkflows相關章節;

根據目的分支功能測試:

在action中我們可以獲取目的分支名,Premo的測試用例是根據BitXHub跨鏈平臺的版本維護的,所以只需根據目的分支名拉取Premo進行功能測試即可;

發布測試報告:

發布測試報告主要通過allure-server進行,allure-server在上文已經提過。需要注意的一點是allure-server對應的服務器的地址不能暴露,否則會給服務器帶來不穩定因素,通過倉庫中設置來可以解決這個問題;

郵箱通知:

郵件通知在GitHubActions中較為常見,使用對應的action即可。需要注意是由于使用的SMTP的形式所以郵箱的賬號和密碼不能公開。通過倉庫中設置可以解決這個問題。在郵箱通知的過程中需要知道目的郵箱的賬目密碼,同時還需要郵箱開啟SMTP服務,這種情況下在action中配置PR提交者的郵箱變的不可取。

一個合適的解決方式是:通過郵箱自身的收發信規則。以騰訊企業郵箱為例,郵箱支持根據郵件的內容進行自動轉發。我們只需要在郵件中攜帶提交者的github的名稱,收發信規則根據名稱過濾,將郵件自動轉發給PR提交者。通過上述方式在action中不需要根據不同的PR提交者指定不同的郵箱地址,只需要將郵件發送給"中轉站"即可。

完成上述工作后,只需要根據BitXHub的分支維護Premo功能測試用例即可完成相應的自動化測試。具體流程如下圖所示:

本文介紹了BitXHub官方測試框架Premo的基本設計原理和測試模塊,及功能測試和性能測試的重要實現方法。通過GithubActions的編排,Premo可以較好地對BitXHub的功能模塊實現自動化并行測試,并及時反饋測試結果。

作者簡介

祝煒潔

趣鏈科技數據網格實驗室BitXHub團隊

Tags:HUBPREBITXITXLendHubXPRESSSITX

狗狗幣
PolyNetwork披露目前進展及路線圖:約1.41億美金待授權 已進入資產復原階段-ODAILY_POLY

吳說區塊鏈獲悉,8月19日PolyNetwork發布公開信,內容如下:致各位關心PolyNetwork事件進展的朋友們感謝大家對此次PolyNetwork事件的持續關注.

1900/1/1 0:00:00
加密三劍客—馬斯克、木頭姐、杰克的觀點總結 綠色能源挖礦是否屬實?-ODAILY_比特幣

「The?World」是一項以比特幣為重點的線上峰會,目標是消除主流媒體、商業領袖對比特幣敘述的污名化,向他們解釋采用加密貨幣的原因以及機構如何能夠和應該接受它,并解決網絡中的問題.

1900/1/1 0:00:00
周杰倫首次策展 孫宇晨以250萬元拍得KAWS“包裝畫”作品-ODAILY_PHA

6月18日,波場TRON創始人孫宇晨以250萬元的價格,在周杰倫與蘇富比合作的首屆“CONTEMPORARYCURATED:ASIA”藝術策展上.

1900/1/1 0:00:00
三分鐘了解?什么是layer2? -ODAILY_ROL

什么是layer2?從狀態通道到RollUp以太坊區塊鏈日趨廣泛使用,但是協議的負載量卻十分有限,使得鏈上十分擁堵,而且手續費越來越高,許多大規模應用無法在以太坊網絡實現.

1900/1/1 0:00:00
NFT會是下一個出圈機會嗎?-ODAILY_區塊鏈

今年區塊鏈能出圈的,還真不全是比特幣。一直不溫不火的NFT市場在今年迎來爆發式增長。Coingecko數據顯示,NFT市場總量已達230億美元,僅一周內的市場增長就超過4億美元.

1900/1/1 0:00:00
Kusama 將成為混沌之王,不只是一個金絲雀網絡-ODAILY_SAM

加入PolkaWorld社區,共建Web3.0! Polkadot和Kusama與我們在加密世界中看到的其他任何東西都有根本性的不同.

1900/1/1 0:00:00
ads