本申請(qǐng)涉及安全測(cè)試,特別是涉及一種系統(tǒng)測(cè)試方法、裝置、計(jì)算機(jī)設(shè)備、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)和計(jì)算機(jī)程序產(chǎn)品。
背景技術(shù):
1、分布式系統(tǒng)通過跨越多個(gè)物理或虛擬節(jié)點(diǎn)分散存儲(chǔ)與計(jì)算任務(wù),實(shí)現(xiàn)了資源的優(yōu)化配置和高效利用。這種系統(tǒng)架構(gòu)不僅顯著提高了系統(tǒng)的可擴(kuò)展性、可用性和容錯(cuò)性,還充分利用了異構(gòu)資源,促進(jìn)了資源共享,從而支持了更加靈活、多樣的服務(wù)需求。
2、目前,針對(duì)分布式系統(tǒng)的測(cè)試方法主要包括業(yè)務(wù)負(fù)載下的黑盒測(cè)試,這種測(cè)試方法通過模擬實(shí)際業(yè)務(wù)場(chǎng)景中的用戶行為和負(fù)載,對(duì)分布式系統(tǒng)進(jìn)行測(cè)試,測(cè)試人員不關(guān)注系統(tǒng)內(nèi)部的具體實(shí)現(xiàn),而是從用戶的角度驗(yàn)證系統(tǒng)的功能和性能。
3、然而,由于分布式系統(tǒng)的復(fù)雜性和不確定性,單純的黑盒測(cè)試往往難以覆蓋到所有可能的路徑和分支,導(dǎo)致測(cè)試用例的命中率較低。
技術(shù)實(shí)現(xiàn)思路
1、基于此,有必要針對(duì)上述技術(shù)問題,提供一種能夠全面有效實(shí)現(xiàn)分布式系統(tǒng)測(cè)試的系統(tǒng)測(cè)試方法、裝置、計(jì)算機(jī)設(shè)備、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)和計(jì)算機(jī)程序產(chǎn)品。
2、第一方面,本申請(qǐng)?zhí)峁┝艘环N系統(tǒng)測(cè)試方法,包括:
3、在執(zhí)行分布式系統(tǒng)的各測(cè)試用例的過程中,獲取測(cè)試用例的調(diào)用樹和覆蓋率;調(diào)用樹用于表征測(cè)試用例的層級(jí)關(guān)系,覆蓋率用于表征測(cè)試用例對(duì)代碼的覆蓋程度;
4、根據(jù)覆蓋率獲取測(cè)試用例對(duì)應(yīng)的用例權(quán)重;
5、根據(jù)調(diào)用樹對(duì)所有的測(cè)試用例進(jìn)行聚類處理,得到多組聚類,并根據(jù)用例權(quán)重確定每組聚類下各測(cè)試用例對(duì)應(yīng)的測(cè)試優(yōu)先級(jí);
6、基于測(cè)試優(yōu)先級(jí)對(duì)分布式系統(tǒng)進(jìn)行回歸測(cè)試。
7、在其中一個(gè)實(shí)施例中,獲取測(cè)試用例的調(diào)用樹的步驟,包括:
8、獲取測(cè)試用例執(zhí)行過程中所觸發(fā)的函數(shù);
9、根據(jù)函數(shù)的調(diào)用順序獲取測(cè)試用例的調(diào)用樹;調(diào)用樹的根節(jié)點(diǎn)表示測(cè)試用例的初始函數(shù),子節(jié)點(diǎn)表示測(cè)試用例的剩余函數(shù);調(diào)用樹的節(jié)點(diǎn)順序與調(diào)用順序一致。
10、在其中一個(gè)實(shí)施例中,覆蓋率包括多個(gè)維度的統(tǒng)計(jì)值;根據(jù)覆蓋率獲取測(cè)試用例對(duì)應(yīng)的用例權(quán)重的步驟,包括:
11、根據(jù)分布式系統(tǒng)的運(yùn)行環(huán)境,為每個(gè)維度的統(tǒng)計(jì)值分配相應(yīng)的權(quán)重;
12、對(duì)所有維度的統(tǒng)計(jì)值和相應(yīng)的權(quán)重進(jìn)行加權(quán)求和,得到測(cè)試用例對(duì)應(yīng)的用例權(quán)重。
13、在其中一個(gè)實(shí)施例中,根據(jù)調(diào)用樹對(duì)所有的測(cè)試用例進(jìn)行聚類處理,得到多組聚類的步驟,包括:
14、根據(jù)調(diào)用樹對(duì)所有的測(cè)試用例進(jìn)行相似度計(jì)算,根據(jù)計(jì)算得到的所有相似度構(gòu)建相似度矩陣;相似度矩陣的每個(gè)元素表示兩個(gè)調(diào)用樹之間的相似度;
15、對(duì)相似度矩陣進(jìn)行聚類處理,得到多組聚類。
16、在其中一個(gè)實(shí)施例中,根據(jù)用例權(quán)重確定每組聚類中各測(cè)試用例對(duì)應(yīng)的測(cè)試優(yōu)先級(jí)的步驟,包括:
17、針對(duì)每組聚類,按照用例權(quán)重由大至小的順序?qū)垲愔兴械臏y(cè)試用例進(jìn)行排序,得到測(cè)試優(yōu)先級(jí)排序。
18、在其中一個(gè)實(shí)施例中,基于測(cè)試優(yōu)先級(jí)對(duì)分布式系統(tǒng)進(jìn)行回歸測(cè)試的步驟,包括:
19、根據(jù)測(cè)試需求,確定待測(cè)試聚類,將待測(cè)試聚類的測(cè)試優(yōu)先級(jí)排序中排序最前的測(cè)試用例作為目標(biāo)用例;
20、執(zhí)行目標(biāo)用例,以對(duì)分布式系統(tǒng)進(jìn)行回歸測(cè)試。
21、第二方面,本申請(qǐng)還提供了一種系統(tǒng)測(cè)試裝置,包括:
22、執(zhí)行模塊,用于在執(zhí)行分布式系統(tǒng)的各測(cè)試用例的過程中,獲取測(cè)試用例的調(diào)用樹和覆蓋率;調(diào)用樹用于表征測(cè)試用例的層級(jí)關(guān)系,覆蓋率用于表征測(cè)試用例對(duì)代碼的覆蓋程度;
23、獲取模塊,用于根據(jù)覆蓋率獲取測(cè)試用例對(duì)應(yīng)的用例權(quán)重;
24、聚類模塊,用于根據(jù)調(diào)用樹對(duì)所有的測(cè)試用例進(jìn)行聚類處理,得到多組聚類,并根據(jù)用例權(quán)重確定每組聚類下各測(cè)試用例對(duì)應(yīng)的測(cè)試優(yōu)先級(jí);
25、測(cè)試模塊,用于基于測(cè)試優(yōu)先級(jí)對(duì)分布式系統(tǒng)進(jìn)行回歸測(cè)試。
26、第三方面,本申請(qǐng)還提供了一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器和處理器,存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,處理器執(zhí)行計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)第一方面中任意一項(xiàng)的方法步驟。
27、第四方面,本申請(qǐng)還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)第一方面中任意一項(xiàng)的方法步驟。
28、第五方面,本申請(qǐng)還提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)第一方面中任意一項(xiàng)的方法步驟。
29、上述系統(tǒng)測(cè)試方法、裝置、計(jì)算機(jī)設(shè)備、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)和計(jì)算機(jī)程序產(chǎn)品,通過獲取各測(cè)試用例的調(diào)用樹和覆蓋率,根據(jù)調(diào)用樹對(duì)測(cè)試用例進(jìn)行聚類,并根據(jù)覆蓋率確定用例權(quán)重及每組聚類的優(yōu)先級(jí)排序,使得測(cè)試資源能夠更精準(zhǔn)地投向?qū)ο到y(tǒng)代碼覆蓋程度高、涉及關(guān)鍵業(yè)務(wù)邏輯的測(cè)試用例,避免了無差別地對(duì)所有測(cè)試用例進(jìn)行重復(fù)測(cè)試,節(jié)省測(cè)試時(shí)間和資源,從而更全面、更有針對(duì)性地對(duì)分布式系統(tǒng)進(jìn)行測(cè)試,及時(shí)發(fā)現(xiàn)并解決系統(tǒng)在開發(fā)和維護(hù)過程中出現(xiàn)的問題,保證系統(tǒng)的穩(wěn)定性和可靠性。
1.一種系統(tǒng)測(cè)試方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取所述測(cè)試用例的調(diào)用樹,包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述覆蓋率包括多個(gè)維度的統(tǒng)計(jì)值;所述根據(jù)所述覆蓋率獲取所述測(cè)試用例對(duì)應(yīng)的用例權(quán)重,包括:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述調(diào)用樹對(duì)所有的測(cè)試用例進(jìn)行聚類處理,得到多組聚類,包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)所述用例權(quán)重確定每組聚類中各所述測(cè)試用例對(duì)應(yīng)的測(cè)試優(yōu)先級(jí),包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述基于所述測(cè)試優(yōu)先級(jí)對(duì)所述分布式系統(tǒng)進(jìn)行回歸測(cè)試,包括:
7.一種系統(tǒng)測(cè)試裝置,其特征在于,所述裝置包括:
8.一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器和處理器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)權(quán)利要求1至6中任一項(xiàng)所述的方法的步驟。
9.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1至6中任一項(xiàng)所述的方法的步驟。
10.一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1至6中任一項(xiàng)所述的方法的步驟。