本發(fā)明涉及互聯(lián)網(wǎng)上量子鏈系統(tǒng),為一種量子鏈測(cè)試方法。
背景技術(shù):
量子鏈系統(tǒng)中,首要的是致力于提供一個(gè)面向不同行業(yè)的高可用的兼容utxo模型的pos機(jī)制的智能合約平臺(tái)。utxo模型是比特幣網(wǎng)絡(luò)非常核心的一部分,其中的代碼具備比較高的成熟度,在這其中兼容utxo模型,不但可以吸納比特幣生態(tài)系統(tǒng)的其他開發(fā)者和現(xiàn)有開發(fā)工具,還可以具有比較好的安全性。另外,關(guān)于智能合約的虛擬機(jī)部分,量子鏈的測(cè)試網(wǎng)絡(luò)中也必須支持虛擬機(jī)。因此,量子鏈系統(tǒng)在發(fā)行前將會(huì)經(jīng)過一系列嚴(yán)格的測(cè)試,通過完善的軟件測(cè)試流程,來控制軟件質(zhì)量。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明提供一種解決或部分解決上述問題的量子鏈測(cè)試方法。
為達(dá)到上述技術(shù)方案的效果,本發(fā)明的技術(shù)方案為:一種量子鏈測(cè)試方法,包含以下內(nèi)容:
功能測(cè)試,針對(duì)量子鏈核心的應(yīng)用程序編程接口的每個(gè)方法進(jìn)行測(cè)試,必須在代碼上達(dá)到85%的覆蓋率,對(duì)于每個(gè)所述方法詳細(xì)說明規(guī)范中的額外測(cè)試邏輯,以覆蓋復(fù)雜的案例;
場(chǎng)景測(cè)試,定義了帶有復(fù)雜測(cè)試邏輯的高級(jí)場(chǎng)景集合,包含:
1.發(fā)行新的資產(chǎn);
2.創(chuàng)建新的交易;
3.創(chuàng)建特定的訂單,并在資產(chǎn)中記錄以滿足量子幣的需要;
4.做一套交易;
對(duì)最終結(jié)果進(jìn)行追蹤,所述場(chǎng)景測(cè)試必須包含子系統(tǒng)的相互交互以及復(fù)雜的邏輯;
網(wǎng)絡(luò)測(cè)試,在其中著重網(wǎng)絡(luò)延遲以及吞吐量問題,運(yùn)行帶有不同拓?fù)浣Y(jié)構(gòu)的測(cè)試網(wǎng)絡(luò),并且模擬不同的情況:第一種情況為,網(wǎng)絡(luò)關(guān)鍵連接延遲的退化;第二種情況為,網(wǎng)絡(luò)中關(guān)鍵節(jié)點(diǎn)的吞吐量的退化;
網(wǎng)絡(luò)p2p測(cè)試,構(gòu)建網(wǎng)絡(luò)和模擬情況集合以得到對(duì)等網(wǎng)絡(luò):
1.核心名稱節(jié)點(diǎn)將由第三方消除;
2.網(wǎng)絡(luò)將分解為相互獨(dú)立的子網(wǎng)絡(luò);
3.注意交易和區(qū)塊在不同網(wǎng)絡(luò)拓?fù)鋫鞑サ乃俣龋?/p>
4.避免循環(huán)傳播的問題;
性能測(cè)試,能夠允許驗(yàn)證一個(gè)本地節(jié)點(diǎn)的計(jì)算性能,而不考慮網(wǎng)絡(luò)延遲效果;為了這樣的測(cè)試,我們必須執(zhí)行網(wǎng)絡(luò)虛擬化模型去排除網(wǎng)絡(luò)效果,測(cè)試必須為每個(gè)應(yīng)用程序編程接口執(zhí)行進(jìn)行大規(guī)模應(yīng)用程序編程接口調(diào)用;
可擴(kuò)展網(wǎng)絡(luò)測(cè)試,在其中進(jìn)行高負(fù)荷降解測(cè)試以及不同拓?fù)浣Y(jié)構(gòu)的高負(fù)荷測(cè)試,在所述高負(fù)荷降解測(cè)試中,運(yùn)行量子鏈系統(tǒng)中節(jié)點(diǎn)集合以及每秒產(chǎn)生最大數(shù)量的交易,將兩者在網(wǎng)絡(luò)中傳播,收集統(tǒng)計(jì)數(shù)據(jù)并且觀察性能的降低以及其他問題;在所述不同拓?fù)浣Y(jié)構(gòu)的高負(fù)荷測(cè)試中,運(yùn)行在不同的拓?fù)浣Y(jié)構(gòu)中的節(jié)點(diǎn)集合,并產(chǎn)生交易流量;
可擴(kuò)展性的存儲(chǔ)測(cè)試,產(chǎn)生最大數(shù)量的本地實(shí)體,并且驗(yàn)證關(guān)鍵參數(shù)和所有的查詢的退化;
金融測(cè)試,在所述金融測(cè)試中,進(jìn)行小數(shù)精度測(cè)試、具有最終平衡驗(yàn)證的復(fù)雜交易生成方案、系統(tǒng)時(shí)間快進(jìn)試驗(yàn);
金融危機(jī)測(cè)試,在不同的金融危機(jī)情況下,進(jìn)行基準(zhǔn)測(cè)試,所述基準(zhǔn)測(cè)試中可以假設(shè)的條件為巨大的回收率、許可網(wǎng)關(guān)的缺省、加密網(wǎng)關(guān)的缺省,在此條件下進(jìn)行測(cè)試;
攻擊性測(cè)試,針對(duì)系統(tǒng)設(shè)計(jì)足夠的復(fù)雜的威脅模型,并分析所有可能的威脅并且試圖去避免其的發(fā)生,為它們創(chuàng)造敏銳的緩解計(jì)劃;并且,必須測(cè)試標(biāo)準(zhǔn)攻擊,所述標(biāo)準(zhǔn)攻擊包含雙重花費(fèi)攻擊、共識(shí)攻擊、分布式拒絕服務(wù)的交易泛濫;
可靠性測(cè)試,在特殊虛擬機(jī)上進(jìn)行系統(tǒng)有關(guān)的具體測(cè)試以及觀察它們?nèi)绾伟殡S著時(shí)間執(zhí)行它們的活動(dòng),在這其中注意所有的關(guān)鍵參數(shù),并試圖找出關(guān)鍵參數(shù)的退化情況;
有效網(wǎng)絡(luò)測(cè)試,只運(yùn)行很少的具有不同拓?fù)浣Y(jié)構(gòu)、禁用/啟用節(jié)點(diǎn)、具有網(wǎng)絡(luò)關(guān)鍵參數(shù)退化的網(wǎng)絡(luò),只針對(duì)有效網(wǎng)絡(luò),在這其中注意當(dāng)滿節(jié)點(diǎn)將無法使用時(shí)的情況;
可用存儲(chǔ)測(cè)試,在網(wǎng)絡(luò)上實(shí)現(xiàn)文件的完全可用性,部署完整的網(wǎng)絡(luò),并上傳網(wǎng)絡(luò)文件和一個(gè)接一個(gè)地破壞節(jié)點(diǎn),以觀察網(wǎng)絡(luò)是否能夠提供所需的可用性水平;
安全性測(cè)試,分析有用的安全問題,并對(duì)所有覆蓋區(qū)域進(jìn)行復(fù)雜分析;
版本測(cè)試,在這過程中部署測(cè)試網(wǎng)絡(luò),并在此網(wǎng)絡(luò)上部署新的不同版本的節(jié)點(diǎn)后,嘗試通過所有其他測(cè)試。
本發(fā)明的有益成果為:本發(fā)明提供了一種量子鏈測(cè)試方法,量子鏈的平臺(tái)將在被部署前經(jīng)過嚴(yán)格的測(cè)試;這包括軟件的功能測(cè)試、網(wǎng)絡(luò)p2p測(cè)試、攻擊性測(cè)試、可靠性測(cè)試等,并且將在測(cè)試網(wǎng)絡(luò)發(fā)布更新,發(fā)布之前進(jìn)行代碼的審查,測(cè)試有效地保證系統(tǒng)的安全性、可用性。
具體實(shí)施方式
為了使本發(fā)明所要解決的技術(shù)問題、技術(shù)方案及有益效果更加清楚明白,以下結(jié)合實(shí)施例,對(duì)本發(fā)明進(jìn)行詳細(xì)的說明。應(yīng)當(dāng)說明的是,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明,能實(shí)現(xiàn)同樣功能的產(chǎn)品屬于等同替換和改進(jìn),均包含在本發(fā)明的保護(hù)范圍之內(nèi)。具體方法如下:
實(shí)施例1:在每周的每次建立所有測(cè)試都必須完成并且在網(wǎng)上社區(qū)公布。測(cè)試策略如下:
1.功能測(cè)試
針對(duì)量子核心api的每個(gè)方法。我們必須在代碼上達(dá)到85%的覆蓋率。對(duì)于每個(gè)方法我們都將詳細(xì)說明規(guī)范中的額外測(cè)試邏輯,這樣能夠覆蓋復(fù)雜的案例。因此,我們將確定我們的邏輯功能在規(guī)范中定義完好以及進(jìn)展順利。
2.場(chǎng)景測(cè)試
我們定義了帶有復(fù)雜測(cè)試邏輯的高級(jí)場(chǎng)景集合,包含:
1.發(fā)行新的資產(chǎn)
2.創(chuàng)建新的交易
3.創(chuàng)建特定的訂單,并在資產(chǎn)中記錄以滿足量子幣的需要。
4.做一套交易
對(duì)最終結(jié)果進(jìn)行追蹤,這樣的場(chǎng)景測(cè)試必須包含子系統(tǒng)的相互交互以及復(fù)雜的邏輯。
3.網(wǎng)絡(luò)測(cè)試
在這個(gè)測(cè)試中我們必須著重網(wǎng)絡(luò)延遲以及吞吐量問題。
我們必須運(yùn)行帶有不同拓?fù)浣Y(jié)構(gòu)的測(cè)試網(wǎng)絡(luò),并且必須模擬不同的情況。第一種情況為,網(wǎng)絡(luò)關(guān)鍵連接延遲的退化,第二種情況為,網(wǎng)絡(luò)中關(guān)鍵節(jié)點(diǎn)的吞吐量的退化。我們必須關(guān)注網(wǎng)絡(luò)如何表現(xiàn)和適應(yīng)這種情況。
4.網(wǎng)絡(luò)p2p測(cè)試
我們必須構(gòu)建網(wǎng)絡(luò)和模擬情況集合以得到對(duì)等網(wǎng)絡(luò)。
1.核心名稱節(jié)點(diǎn)將由第三方消除。
2.網(wǎng)絡(luò)將分解為相互獨(dú)立的子網(wǎng)絡(luò)。
3.注意交易和區(qū)塊在不同網(wǎng)絡(luò)拓?fù)鋫鞑サ乃俣取?/p>
4.避免循環(huán)傳播的問題。
5.性能測(cè)試
性能測(cè)試能夠允許我們驗(yàn)證一個(gè)本地節(jié)點(diǎn)的計(jì)算性能,而不考慮網(wǎng)絡(luò)延遲效果。為了這樣的測(cè)試,我們必須執(zhí)行網(wǎng)絡(luò)虛擬化模型去排除網(wǎng)絡(luò)效果。測(cè)試必須為每個(gè)api執(zhí)行進(jìn)行大規(guī)模api調(diào)用。例如,每秒創(chuàng)建數(shù)以百萬計(jì)的交易和觀察核心性能參數(shù)的退化。
6.可擴(kuò)展網(wǎng)絡(luò)測(cè)試
我們必須較少實(shí)現(xiàn)網(wǎng)絡(luò)上的一些拓?fù)洌?/p>
1.核心網(wǎng)絡(luò)節(jié)點(diǎn)
2.代理網(wǎng)絡(luò)節(jié)點(diǎn)
高負(fù)荷降解試驗(yàn)
我們必須運(yùn)行節(jié)點(diǎn)集合以及每秒產(chǎn)生最大數(shù)量的交易并在網(wǎng)絡(luò)中傳播。收集統(tǒng)計(jì)數(shù)據(jù)并且觀察性能的降低以及其他問題。
不同拓?fù)浣Y(jié)構(gòu)的高負(fù)荷
我們必須運(yùn)行節(jié)點(diǎn)集合,并產(chǎn)生交易流量,但所有這些節(jié)點(diǎn)將被包括在不同的拓?fù)浣Y(jié)構(gòu)中。
7.可擴(kuò)展性的存儲(chǔ)測(cè)試
我們必須產(chǎn)生最大數(shù)量的本地實(shí)體,并且驗(yàn)證關(guān)鍵參數(shù)以及所有的查詢的退化。
8.金融測(cè)試
我們必須進(jìn)行許多標(biāo)準(zhǔn)的金融測(cè)試。
1.小數(shù)精度測(cè)試
2.具有最終平衡驗(yàn)證的復(fù)雜交易生成方案
3.10年系統(tǒng)壽命的時(shí)間快進(jìn)試驗(yàn)
9.金融危機(jī)測(cè)試
系統(tǒng)必須在不同的金融危機(jī)情況下是可靠的。我們需要對(duì)他們進(jìn)行基準(zhǔn)測(cè)試:
1.巨大的回收率
2.許可網(wǎng)關(guān)的缺省
3.加密網(wǎng)關(guān)的缺省
10.攻擊性測(cè)試
我們必須針對(duì)系統(tǒng)設(shè)計(jì)足夠的復(fù)雜的威脅模型。我們必須分析所有可能的威脅并且試圖去避免其的發(fā)生,為它們創(chuàng)造敏銳的緩解計(jì)劃。
例如,我們存在必須覆蓋的情況,該情況為智能合約邏輯會(huì)被黑客入侵和價(jià)值傳遞將分發(fā)給不好的用戶。
并且,我們必須測(cè)試在這些網(wǎng)絡(luò)中測(cè)試標(biāo)準(zhǔn)攻擊,例如:
1.雙重花費(fèi)攻擊
2.共識(shí)攻擊
3.分布式拒絕服務(wù)的交易泛濫
11.可靠性測(cè)試
系統(tǒng)必須可靠。我們必須在特殊虛擬機(jī)上進(jìn)行系統(tǒng)有關(guān)的具體測(cè)試以及觀察它們?nèi)绾伟殡S著時(shí)間執(zhí)行它們的活動(dòng)。必須注意所有的關(guān)鍵參數(shù),并試圖找出關(guān)鍵參數(shù)的退化情況。
12.有效網(wǎng)絡(luò)測(cè)試
我們必須運(yùn)行很少的具有不同拓?fù)浣Y(jié)構(gòu)、禁用/啟用節(jié)點(diǎn)、具有網(wǎng)絡(luò)關(guān)鍵參數(shù)退化的網(wǎng)絡(luò)。特別是,我們必須注意的情況為,當(dāng)滿節(jié)點(diǎn)將無法使用時(shí)。
13.可用存儲(chǔ)測(cè)試
我們必須在網(wǎng)絡(luò)上實(shí)現(xiàn)文件的完全可用性。因此,我們需要部署完整的網(wǎng)絡(luò),上傳網(wǎng)絡(luò)文件和一個(gè)接一個(gè)地破壞節(jié)點(diǎn),以觀察網(wǎng)絡(luò)是否能夠提供所需的可用性水平。
14.安全性測(cè)試
我們必須分析有用的安全問題比如緩沖區(qū)溢出的問題。我們對(duì)所有覆蓋區(qū)域進(jìn)行復(fù)雜分析。
15.版本測(cè)試
我們必須部署測(cè)試網(wǎng)絡(luò),并在網(wǎng)絡(luò)上部署新的不同版本的節(jié)點(diǎn)后,嘗試通過所有其他測(cè)試。
實(shí)施例2:測(cè)試的形式化邏輯
交易的創(chuàng)建:
其中,
區(qū)塊的創(chuàng)建:
其中,
智能合約的創(chuàng)建:
創(chuàng)建地址,私鑰與公鑰:
測(cè)試交易傳播時(shí)間:
測(cè)試區(qū)塊建立與傳播時(shí)間:
對(duì)網(wǎng)絡(luò)攻擊的測(cè)試保護(hù)針對(duì)以下方面:未經(jīng)授權(quán)的支出、雙支出、競(jìng)爭(zhēng)攻擊、歷史修改、私自的挖掘、sybil的攻擊、51%攻擊。
以上所述僅為本發(fā)明之較佳實(shí)施例,并非用以限定本發(fā)明的權(quán)利要求保護(hù)范圍。同時(shí)以上說明,對(duì)于相關(guān)技術(shù)領(lǐng)域的技術(shù)人員應(yīng)可以理解及實(shí)施,因此其他基于本發(fā)明所揭示內(nèi)容所完成的等同改變,均應(yīng)包含在本權(quán)利要求書的涵蓋范圍內(nèi)。
本發(fā)明的有益成果為:本發(fā)明提供了一種量子鏈測(cè)試方法,量子鏈的平臺(tái)將在被部署前經(jīng)過嚴(yán)格的測(cè)試;這包括軟件的功能測(cè)試、網(wǎng)絡(luò)p2p測(cè)試、攻擊性測(cè)試、可靠性測(cè)試等,并且將在測(cè)試網(wǎng)絡(luò)發(fā)布更新,發(fā)布之前進(jìn)行代碼的審查,測(cè)試有效地保證系統(tǒng)的安全性、可用性。