作者:資訊 / 來源:PlatON
說 PlatON 測試之前,我們需要先了解下關于區塊鏈測試和傳統測試互聯網測試的區別,其主要體現在系統邊界模糊,對于區塊鏈的測試不僅僅是前端 API 與某個區塊鏈節點之間的測試,還涉及大量區塊鏈節點與節點之間的測試。
現在我們可以來認識下 PlatON,首先它不屬于交易平臺類型的業務產品,而是于基于區塊鏈的技術以及鏈技術產生的價值的生態基礎服務,測試的重點也是不一樣的。我們的測試會更加關注底層,比如共識算法、網絡、存儲、經濟模型等。本篇內容將講述鏈上功能測試中的業務層測試。
業務層
- 經濟模型驗證
PlatON 的經濟模型就是在鏈上進行各種會產生經濟活動的場景組合,所有參與到經濟活動的主體在互動時,都將伴隨著 Token 的變化,針對不同的經濟活動我們可以運用測試理論中的測試手段,如邊界值、等價類、因果法、場景構建等方法進行驗證,主要是活動主體的 Token 的數量進行校驗。
01鎖倉
-
鎖倉創建
-
鎖倉質押委托
-
鎖倉回退
-
鎖倉結算
-
處罰通知 ....
02Staking
-
createStaking (質押)
-
editCandidate (修改候選人信息)
-
increaseStaking (增持質押)
-
withdrewStaking (撤銷質押)
-
delegate (委托)
-
withdrewDelegate (撤銷委托)
-
withdrawDelegateReward (領取獎勵)
-
getVerifierList (查詢當前結算周期的驗證人列表)
-
ElectNextVerifierList (選舉下一個結算周期的驗證人列表) 激勵 ……
03激勵
-
發放質押獎勵
-
發放出塊獎勵
-
是否到達年末……
04處罰
-
舉報雙簽
-
舉報雙出
-
查詢舉報信息
-
處罰規則……
在這個過程中,我們也會對節點排名、狀態、節點的收益進行驗證,針對不同的經濟活動場景進行有效的組合,其中包括了節點的狀態以及鏈的結算周期和共識周期的變化,根據不同的組合我們可以通過自動化的方式檢查活動主體的 Token 數量和狀態變化情況是否滿足設計要求,從而驗證了經濟模型的合理性和正確性。
- 治理模型驗證
PlatON 治理模型主要是驗證 PlatON 進行鏈上治理時,鏈上節點參與投票的進行更新或者修復的一個過程,在這個過程中節點的選擇行為會影響到鏈上發展方向和鏈的一個狀態,如果節點對治理的內容有分歧則會出現不同的結果,治理升級的驗證主要是驗證治理前后鏈上數據的一致性和區塊的連續性。
01提交提案
-
提交升級提案
-
提交文本提案
-
提交參數提案
-
提交取消提案 ……
02投票
-
有效提案投票
-
無效提案投票
-
放棄投票
-
投票統計……
03版本聲明
-
有效的提案聲明
-
無效提案聲明……
04提案全流程
-
提交文本提案統計
-
提交升級提案
-
提交取消提案……
通過不同的結算周期、共識周期、投票節點狀態的變化來驗證治理機制的正確性。同時為了滿足實際場景中的復雜運行環境,需要增加經濟活動的場景來豐富可能出現的異常情況,從而驗證整個治理模型的可靠性。