以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads

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實現。

Aethir以1.5億美元估值完成Pre-A輪融資,Hashkey等領投:7月27日消息,去中心化GPU基礎設施平臺Aethir宣布完成Pre-A輪融資,融資總額超過900萬美元,公司估值達到1.5億美元。據悉,本輪融資是在Framework Ventures和Infinity Ventures Crypto領投的種子輪融資之后的又一輪融資,此輪由Sanctor Capital、Hashkey、Merit Circle和CitizenX等機構領投,Mirana Ventures、Animoca Brands、Momentum6、Big Brain Holdings、Builder Capital、Tess Ventures、Maelstrom (Arthur Hayes)等參投。新資金將用于在東南亞、拉丁美洲和北美等關鍵市場的全球業務擴張,并加強技術研發和應用創新支持。

據悉,Aethir是全球覆蓋的可彈性擴展的去中心化云基礎設施(DCI)的先驅公司,旨在通過提供可擴展和安全的云服務來解決云行業面臨的挑戰,以滿足全球游戲和人工智能公司的需求。[2023/7/27 16:01:16]

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

凌迪Style3D完成近1億美元Pre B+輪融資,打造數字時尚基礎設施:6月21日消息,物理世界數字化基礎設施服務商凌迪Style3D宣布完成近1億美元Pre B+輪融資,由高瓴創投、鼎暉等多家機構連續投資,該融資將主要用于核心技術與產品的研發迭代,以及海外市場的推廣建設。高榕資本曾于2020年初領投凌迪Style3D的A+輪融資,并在后續輪融資中加注。

據悉,凌迪Style3D成立于2015年,主要提供自主仿真引擎的底層技術服務及產業鏈級工業軟件,打造以科技為驅動的3D設計一體化協同平臺,成為數字時尚的基礎設施。目前已落地應用于服裝產業,助力服飾類企業的研發、協同、展銷、生產全鏈路數字化。(高榕資本公眾號)[2022/6/21 4:42:07]

▲并行化測試

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

對沖幣Upswing開啟Presale:Upswing官網發布信息,將在9月25日開啟presale。Upswing是一種略為復雜的對沖機制代幣,運行于ETH主網上,旨在把市場拋壓轉化為幣值上升,同時結合了挖礦玩法,最適用于市場下跌行情。據悉,Upswing的開發團隊為DFT技術團隊,并已經完成開發和代碼審計,將于10月初上線。[2020/9/27]

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

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

聲音 | ICE主席Jeff Sprecher:預計Bakkt在今年晚些時候推出:據Cointelegraph消息,美國洲際交易所(ICE)主席 Jeff Sprecher在近日舉行的財報電話會議上表示,預計該公司的數字資產平臺Bakkt將于2019年晚些時候推出。此次財報會議的主題是洲際交易所第四季度和2018年全年的財務業績。Sprecher解釋說,公司在戰略計劃上花費了超過10億美元,包括推出數字資產平臺。[2019/2/10]

▲應用鏈準備

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

▲發送跨鏈交易

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

PreAngel創始合伙人王利杰:區塊鏈技術應在監管下運行:PreAngel創始合伙人王利杰認為,現在能懂區塊鏈的人很少,但區塊鏈已經很熱,行業里的人特別癡迷,沒有進場的人很不理解。互聯網帶來了自媒體時代,區塊鏈帶來的很可能是自金融。他表示:“區塊鏈技術發展若干年后,銀行、保險等中心化的機構可能都會被顛覆。這關系到國家穩定,所以區塊鏈不是不能做,而是要在監管下做。”[2018/1/27]

▲統計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:HUBPREBITBITXEarnHubPREMIAbitbull幣最新行

火幣網下載官方app
NFT項目的投資規律-ODAILY_NFT

對新興事物,關注的人總是一方面充滿了期待和興奮,另一方面也充滿了焦慮和疑惑。對投資NFT領域,關注的投資者就有這樣的情緒。最近國內越來越多的人也開始關注NFT代幣了.

1900/1/1 0:00:00
一文了解利用虛擬貨幣洗錢的背后-ODAILY_OIN

提到洗錢,我們經常會在電影中見到各種黑幫老大洗錢的場景,有利用賭場、古董買賣、境外投資、虛擬商品等作為媒介的洗錢手法,而現在有了虛擬貨幣.

1900/1/1 0:00:00
下半年3個值得關注的事件概覽 丨行情分析-ODAILY_區塊鏈

由于敏感性的考慮,以后我們不再寫詳細單板塊和單品種的行情,大概說一個概覽和框架。目前這個周期大家還是相對情緒比較穩定的,要么是被深套了,要么就是小倉位的,要么就是觀望的,所以市場沒有什么成交量的.

1900/1/1 0:00:00
波卡生態起步在即 哪五大發展方向值得關注?-ODAILY_EFI

Polkadot生態研究院出品,必屬精品 背景 距離Kusama插槽結束已經過去了一周多,5次拍賣鎖倉的KSM超過了114萬枚,占了KSM發行量的9.8%,而目前隨著第一輪插槽拍賣的結束.

1900/1/1 0:00:00
波卡生態最有可能先爆發的領域已經出現?丨波卡生態一周觀察-ODAILY_AMA

Polkadot生態研究院出品,必屬精品波卡一周觀察,是我們針對波卡整個生態在上一周所發生的事情的一個梳理,同時也會以白話的形式分享一些我們對這些事件的觀察.

1900/1/1 0:00:00
Popsicle Finance閃電貸攻擊事件分析-ODAILY_ETH

前言 北京時間8月4日上午,知道創宇區塊鏈安全實驗室監測到以太坊上的DeFi協議PopsicleFinance遭遇閃電貸襲擊,目前只有SorbettoFragola受到影響.

1900/1/1 0:00:00
ads