本技術(shù)涉及計算機,特別是涉及一種基于沖突可能性的應(yīng)用程序兼容性測試方法、裝置、計算機設(shè)備、計算機可讀存儲介質(zhì)和計算機程序產(chǎn)品。
背景技術(shù):
1、隨著電網(wǎng)業(yè)務(wù)的迅速擴展與功能的持續(xù)增強,量測終端作為電網(wǎng)量測體系的核心環(huán)節(jié),其智能化、平臺化的發(fā)展趨勢愈發(fā)明顯,在智能量測終端安裝的應(yīng)用程序也逐漸增多。這些應(yīng)用程序在部署前必須經(jīng)過嚴格的測試,其中兼容性是一項關(guān)鍵的測試內(nèi)容。
2、傳統(tǒng)的兼容性測試方案通常包括兩種做法,一是在不同的測試條件下,隨機并發(fā)執(zhí)行不同待測應(yīng)用程序中的功能模塊,從而檢測不同待測應(yīng)用程序是否存在兼容性問題;二是在不同的測試條件下,預(yù)先篩選出容易導(dǎo)致兼容性問題的測試場景和應(yīng)用程序運行狀態(tài),減少測試的條件組合,針對性地進行兼容性測試。
3、然而,隨著智能量測終端內(nèi)安裝的應(yīng)用程序種類會隨著其新功能的開發(fā)越來越多,并且每種應(yīng)用程序又由多個不同的功能模塊構(gòu)成,這將導(dǎo)致需要測試的功能組合數(shù)量急劇增加,采用上述傳統(tǒng)方案進行兼容性測試需要大量的時間,導(dǎo)致應(yīng)用程序兼容性測試的效率低下。
技術(shù)實現(xiàn)思路
1、基于此,有必要針對上述技術(shù)問題,提供一種能夠提高應(yīng)用程序兼容性測試效率的基于沖突可能性的應(yīng)用程序兼容性測試方法、裝置、計算機設(shè)備、計算機可讀存儲介質(zhì)和計算機程序產(chǎn)品。
2、第一方面,本技術(shù)提供了一種基于沖突可能性的應(yīng)用程序兼容性測試方法,包括:
3、獲取應(yīng)用程序測試有向圖,所述應(yīng)用程序測試有向圖的每個節(jié)點表征一組功能組合,每一所述功能組合為多個待測應(yīng)用程序之間的功能的一種排列組合,所述有向圖的邊表征所述功能組合之間的轉(zhuǎn)移方向;
4、針對每一組功能組合,模擬執(zhí)行所述功能組合中的功能,確定所述功能組合的資源占用沖突得分,所述資源占用沖突得分用于表征資源占用沖突概率;
5、基于各所述功能組合的資源占用沖突得分,從所述應(yīng)用程序測試有向圖中查找出資源占用沖突概率最大的目標功能測試路徑;
6、基于所述目標功能測試路徑,對多個所述待測應(yīng)用程序進行兼容性測試。
7、在其中一個實施例中,所述模擬執(zhí)行所述功能組合中的功能,確定所述功能組合的資源占用沖突概率,包括:
8、獲取所述功能組合中各功能對應(yīng)的資源占用請求的生成時間分布和服務(wù)時間分布;
9、根據(jù)所述生成時間分布、所述服務(wù)時間分布、以及預(yù)設(shè)的服務(wù)策略,模擬執(zhí)行所述功能組合中的各個功能,確定各所述功能的資源占用數(shù)據(jù);
10、根據(jù)各所述功能的資源占用數(shù)據(jù)和預(yù)設(shè)評分機制,確定所述功能組合的資源占用沖突得分。
11、在其中一個實施例中,針對每一所述功能,所述功能的資源占用數(shù)據(jù)基于以下步驟確定:
12、模擬執(zhí)行所述功能,確定所述功能的第一類型資源的資源占用情況、以及第二類型資源的資源訪問次數(shù);
13、根據(jù)所述第一類型資源的資源占用情況和第二類型資源的資源訪問次數(shù),確定所述功能的資源占用數(shù)據(jù)。
14、在其中一個實施例中,所述第一類型資源的資源占用情況包括第一類型資源的資源占用比例;所述根據(jù)各所述功能的資源占用數(shù)據(jù)和預(yù)設(shè)評分機制,確定所述功能組合的資源占用沖突得分,包括:
15、根據(jù)所述第一類型資源的資源占用比例,確定所述功能組合中的功能的所述資源占用比例之和;
16、根據(jù)所述資源占用比例之和、和所述預(yù)設(shè)評分機制,確定所述功能組合的第一類型資源的資源占用沖突得分;
17、根據(jù)所述功能組合中的功能的所述資源訪問次數(shù),確定所述第二類型資源的請求排隊情況;
18、基于所述請求排隊情況、和所述預(yù)設(shè)評分機制,確定所述功能組合的第二類型資源的資源占用沖突得分;
19、根據(jù)所述第一類型資源的資源占用沖突得分、所述第二類型資源的資源占用沖突得分、以及預(yù)設(shè)權(quán)重,確定所述功能組合的資源占用沖突得分。
20、在其中一個實施例中,所述基于各所述功能組合的資源占用沖突概率,從所述應(yīng)用程序測試有向圖中查找出資源占用沖突概率最大的目標功能測試路徑,包括:
21、基于所述應(yīng)用程序測試有向圖,確定功能測試路徑集合;
22、從所述功能測試路徑集合中,篩選出資源占用沖突概率最大的目標功能測試路徑。
23、在其中一個實施例中,所述從所述功能測試路徑集合中,篩選出資源占用沖突概率最大的目標功能測試路徑之后,方法還包括:
24、將剩余的功能測試路徑中包含未選擇的功能組合的功能測試路徑,確定為新的功能測試路徑集合,返回所述從所述功能測試路徑集合中,篩選出資源占用沖突概率最大的目標功能測試路徑的步驟,直至剩余的功能測試路徑中不存在未選擇的功能組合,得到多條所述目標功能測試路徑;
25、所述基于所述目標功能測試路徑,對多個所述待測應(yīng)用程序進行兼容性測試,包括:
26、基于多條所述目標功能測試路徑,對多個所述待測應(yīng)用程序進行兼容性測試。
27、在其中一個實施例中,所述基于所述目標功能測試路徑,對多個所述待測應(yīng)用程序進行兼容性測試,包括:
28、根據(jù)所述目標功能測試路徑,生成測試指令序列;
29、執(zhí)行所述測試指令序列,對所述待測應(yīng)用程序進行兼容性測試,得到不同待測應(yīng)用程序并發(fā)運行時的資源占用情況;
30、根據(jù)所述資源占用情況,生成兼容性測試日志。
31、第二方面,本技術(shù)還提供了一種基于沖突可能性的應(yīng)用程序兼容性測試裝置,包括:
32、數(shù)據(jù)獲取模塊,用于獲取應(yīng)用程序測試有向圖,所述應(yīng)用程序測試有向圖的每個節(jié)點表征一組功能組合,每一所述功能組合為多個待測應(yīng)用程序之間的功能的一種排列組合,所述有向圖的邊表征所述功能組合之間的轉(zhuǎn)移方向;
33、模擬執(zhí)行模塊,用于針對每一組功能組合,模擬執(zhí)行所述功能組合中的功能,確定所述功能組合的資源占用沖突得分,所述資源占用沖突得分用于表征資源占用沖突概率;
34、路徑查找模塊,用于基于各所述功能組合的資源占用沖突得分,從所述應(yīng)用程序測試有向圖中查找出資源占用沖突概率最大的目標功能測試路徑;
35、兼容性測試模塊,用于基于所述目標功能測試路徑,對多個所述待測應(yīng)用程序進行兼容性測試。
36、第三方面,本技術(shù)還提供了一種計算機設(shè)備,包括存儲器和處理器,所述存儲器存儲有計算機程序,所述處理器執(zhí)行所述計算機程序時實現(xiàn)上述任一基于沖突可能性的應(yīng)用程序兼容性測試方法實施例中的步驟。
37、第四方面,本技術(shù)還提供了一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)上述任一基于沖突可能性的應(yīng)用程序兼容性測試方法實施例中的步驟。
38、第五方面,本技術(shù)還提供了一種計算機程序產(chǎn)品,包括計算機程序,該計算機程序被處理器執(zhí)行時實現(xiàn)上述任一基于沖突可能性的應(yīng)用程序兼容性測試方法實施例中的步驟。
39、上述基于沖突可能性的應(yīng)用程序兼容性測試方法、裝置、計算機設(shè)備、計算機可讀存儲介質(zhì)和計算機程序產(chǎn)品,區(qū)別于傳統(tǒng)方案,本方案通過將不同待測應(yīng)用程序中數(shù)量眾多的功能組合用應(yīng)用程序測試有向圖的形式來表示,使得原本無序、繁雜的功能組合系統(tǒng)化和組織化,在后續(xù)測試過程中不容易遺漏功能組合或重復(fù)測試功能組合,提高了測試效率;進一步地,通過模擬執(zhí)行功能組合中的功能,可以在實際測試之前預(yù)估哪些功能組合可能會導(dǎo)致資源占用沖突事件,并以此為依據(jù)確定功能組合的資源占用沖突得分,然后,根據(jù)資源占用沖突得分從應(yīng)用程序測試有向圖中查找出資源占用沖突概率最大的目標功能測試路徑,最后根據(jù)目標功能測試路徑,對多個所述待測應(yīng)用程序進行兼容性測試,以重點關(guān)注和優(yōu)先測試這些高風(fēng)險的組合路徑,這種針對性的測試方式,可以更加快速地發(fā)現(xiàn)不同待測應(yīng)用程序的兼容性問題,減少測試資源的浪費,提高了測試效率。