System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及數據處理,尤其涉及一種數據檢測方法、裝置、電子設備及存儲介質。
技術介紹
1、目前,智能合約已在多個領域得到廣泛應用,然而,傳統以太坊的交易速度極大地限制了區塊鏈技術的發展,為了突破交易速度方面的限制,出現了新興的區塊鏈智能合約交易平臺,但新興的區塊鏈智能合約交易平臺卻面臨不穩定測試問題的挑戰,不穩定測試問題極大地降低了軟件開發和部署的效率。
2、而在相關技術中,為了應對不穩定測試問題,有的技術方案僅關注其工作機制與智能合約漏洞檢測,忽略了不穩定測試問題;有的技術方案僅關注于傳統領域中的java項目或python項目,依賴于自身的語言特性,不適用于新型編程語言編寫的新型區塊鏈平臺;還有的技術方案的實現方式是重復運行測試函數,這一方法也是工業界常用的檢測方法,但存在耗時長、執行效率低的缺陷。
3、綜上,相關技術中存在的技術問題有待得到改善。
技術實現思路
1、本申請實施例旨在至少在一定程度上解決相關技術中的技術問題之一。為此,本申請實施例的主要目的在于提出一種數據檢測方法、裝置、電子設備及存儲介質,能夠降低測試的重復運行次數,提高檢測系統的測試效率以及降低執行時間成本。
2、為實現上述目的,本申請實施例的一方面提出了一種數據檢測方法,所述方法包括以下步驟:
3、獲取源程序文件;
4、對所述源程序文件進行第一數據提取處理,得到目標測試函數集;
5、對所述目標測試函數集中的若干目標測試函數進行數據分割處理,
6、計算各個所述目標測試函數對應的所述詞向量之間的文本相似度,得到相似度計算結果;
7、基于所述相似度計算結果生成若干測試套件,并執行各個所述測試套件得到運行結果日志;
8、根據所述運行結果日志檢測出所述源程序文件中的不穩定測試數據。
9、在一些實施例中,所述對所述源程序文件進行第一數據提取處理,得到目標測試函數集,包括:
10、從所述源程序文件的測試模塊中提取若干候選測試函數;
11、對各個所述候選測試函數進行過濾處理,得到若干所述目標測試函數;
12、基于各個所述目標測試函數構建所述目標測試函數集。
13、在一些實施例中,所述對所述目標測試函數集中的若干目標測試函數進行數據分割處理,得到各個所述目標測試函數對應的詞向量,包括:
14、對所述目標測試函數集中的若干所述目標測試函數進行第二數據提取處理,得到各個所述目標測試函數對應的測試函數名;
15、通過正則表達式將各個所述目標測試函數對應的所述測試函數名進行數據分割處理,得到各個所述目標測試函數對應的所述詞向量。
16、在一些實施例中,所述計算各個所述目標測試函數對應的所述詞向量之間的文本相似度,得到相似度計算結果,包括:
17、對各個所述目標測試函數對應的所述詞向量進行計算,得到各個所述目標測試函數對應的平均詞向量;
18、通過目標計算模型計算各個所述目標測試函數對應的所述平均詞向量之間的余弦相似度,得到所述相似度計算結果。
19、在一些實施例中,所述基于所述相似度計算結果生成若干測試套件,并執行各個所述測試套件得到運行結果日志,包括:
20、根據所述相似度計算結果將若干所述目標測試函數進行分組,得到若干測試函數分組列表,并將所述測試函數分組列表作為所述測試套件;
21、基于各個所述測試套件生成測試函數對,并以所述測試函數對的形式執行各個所述測試套件得到所述運行結果日志。
22、在一些實施例中,所述基于所述各個所述測試套件生成測試函數對,并以所述測試函數對的形式執行各個所述測試套件得到所述運行結果日志,包括:
23、基于各個所述測試套件對應的套件長度生成函數索引序列;
24、基于所述函數索引序列生成全排列運行序列;
25、基于所述全排列運行序列生成所述測試函數對,并以所述測試函數對的形式執行各個所述測試套件得到所述運行結果日志。
26、在一些實施例中,所述根據所述運行結果日志檢測出所述源程序文件中的不穩定測試數據,包括:
27、對所述運行結果日志進行分類,得到成功日志結果和失敗日志結果;
28、將所述成功日志結果和所述失敗日志結果進行對比,檢測出所述源程序文件中的所述不穩定測試數據。
29、為實現上述目的,本申請實施例的另一方面提出了一種數據檢測裝置,所述裝置包括:
30、所述裝置包括以下模塊:
31、數據獲取模塊,用于獲取源程序文件;
32、數據提取處理模塊,用于對所述源程序文件進行第一數據提取處理,得到目標測試函數集;
33、數據分割處理模塊,用于對所述目標測試函數集中的若干目標測試函數進行數據分割處理,得到各個所述目標測試函數對應的詞向量;
34、相似度計算模塊,用于計算各個所述目標測試函數對應的所述詞向量之間的文本相似度,得到相似度計算結果;
35、測試套件生成模塊,用于基于所述相似度計算結果生成若干測試套件,并執行各個所述測試套件得到運行結果日志;
36、數據檢測模塊,用于根據所述運行結果日志檢測出所述源程序文件中的不穩定測試數據。
37、為實現上述目的,本申請實施例的另一方面提出了一種電子設備,所述電子設備包括存儲器和處理器,所述存儲器存儲有計算機程序,所述處理器執行所述計算機程序時實現前面所述的方法。
38、為實現上述目的,本申請實施例的另一方面提出了一種計算機可讀存儲介質,所述計算機可讀存儲介質存儲有計算機程序,所述計算機程序被處理器執行時實現前面所述的方法。
39、本申請實施例至少包括以下有益效果:本申請提供一種數據檢測方法、裝置、電子設備及存儲介質,該方案通過獲取源程序文件;對源程序文件進行第一數據提取處理,得到目標測試函數集;對目標測試函數集中的若干目標測試函數進行數據分割處理,得到各個目標測試函數對應的詞向量;計算各個目標測試函數對應的詞向量之間的文本相似度,得到相似度計算結果;基于相似度計算結果生成若干測試套件,并執行各個測試套件得到運行結果日志;根據運行結果日志檢測出源程序文件中的不穩定測試數據。本申請實施例通過采用文本相似度分析技術借助詞向量間的相似度作為衡量不同測試函數間依賴關系的度量,減少了所需測試函數的執行次數,極大地節省了的所需時間成本,同時,基于相似度計算結果生成與測試函數功能特性相關的測試套件,并以測試套件的形式執行測試,能夠減少測試的重復運行次數,從而提高檢測系統的測試效率以及降低執行時間成本。本申請實施例構建的不依賴語言特性的高效檢測方法,能夠解決傳統不穩定測試的檢測方法在新型區塊鏈平臺中不足的問題,從而有利于提高軟件開發和部署的效率。
本文檔來自技高網...【技術保護點】
1.一種數據檢測方法,其特征在于,所述方法包括以下步驟:
2.根據權利要求1所述的方法,其特征在于,所述對所述源程序文件進行第一數據提取處理,得到目標測試函數集,包括:
3.根據權利要求1所述的方法,其特征在于,所述對所述目標測試函數集中的若干目標測試函數進行數據分割處理,得到各個所述目標測試函數對應的詞向量,包括:
4.根據權利要求1所述的方法,其特征在于,所述計算各個所述目標測試函數對應的所述詞向量之間的文本相似度,得到相似度計算結果,包括:
5.根據權利要求1所述的方法,其特征在于,所述基于所述相似度計算結果生成若干測試套件,并執行各個所述測試套件得到運行結果日志,包括:
6.根據權利要求5所述的方法,其特征在于,所述基于所述各個所述測試套件生成測試函數對,并以所述測試函數對的形式執行各個所述測試套件得到所述運行結果日志,包括:
7.根據權利要求1所述的方法,其特征在于,所述根據所述運行結果日志檢測出所述源程序文件中的不穩定測試數據,包括:
8.一種數據檢測裝置,其特征在于,所述裝置包括以下
9.一種電子設備,其特征在于,所述電子設備包括存儲器和處理器,所述存儲器存儲有計算機程序,所述處理器執行所述計算機程序時實現權利要求1至7任一項所述的方法。
10.一種計算機可讀存儲介質,所述計算機可讀存儲介質存儲有計算機程序,其特征在于,所述計算機程序被處理器執行時實現權利要求1至7中任一項所述的方法。
...【技術特征摘要】
1.一種數據檢測方法,其特征在于,所述方法包括以下步驟:
2.根據權利要求1所述的方法,其特征在于,所述對所述源程序文件進行第一數據提取處理,得到目標測試函數集,包括:
3.根據權利要求1所述的方法,其特征在于,所述對所述目標測試函數集中的若干目標測試函數進行數據分割處理,得到各個所述目標測試函數對應的詞向量,包括:
4.根據權利要求1所述的方法,其特征在于,所述計算各個所述目標測試函數對應的所述詞向量之間的文本相似度,得到相似度計算結果,包括:
5.根據權利要求1所述的方法,其特征在于,所述基于所述相似度計算結果生成若干測試套件,并執行各個所述測試套件得到運行結果日志,包括:
6.根據權利要求5所...
【專利技術屬性】
技術研發人員:馬瑞君,
申請(專利權)人:天翼數字生活科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。