本技術(shù)涉及軟件測(cè)試,特別是涉及一種量測(cè)終端應(yīng)用程序兼容性測(cè)試方法、系統(tǒng)、裝置、計(jì)算機(jī)設(shè)備、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)和計(jì)算機(jī)程序產(chǎn)品。
背景技術(shù):
1、量測(cè)終端是電網(wǎng)量測(cè)體系的關(guān)鍵節(jié)點(diǎn)之一,隨著電網(wǎng)業(yè)務(wù)的不斷擴(kuò)展與功能的持續(xù)增強(qiáng),量測(cè)終端智能化、平臺(tái)化成為發(fā)展的趨勢(shì),大量新業(yè)務(wù)可以通過(guò)在智能量測(cè)終端上安裝相應(yīng)的應(yīng)用程序來(lái)實(shí)現(xiàn)。智能量測(cè)終端的應(yīng)用程序在架前需要對(duì)其進(jìn)行測(cè)試,其中兼容性測(cè)試是一項(xiàng)重要的測(cè)試內(nèi)容,旨在確保應(yīng)用程序能夠在指定的硬件、操作系統(tǒng)、網(wǎng)絡(luò)環(huán)境以及其他相關(guān)軟件上正常運(yùn)行且不會(huì)出現(xiàn)錯(cuò)誤或異常。
2、由于智能量測(cè)終端是電網(wǎng)的專用設(shè)備,其軟硬件結(jié)構(gòu)和工作模式與現(xiàn)有的計(jì)算機(jī)、手機(jī)等均不相同,并且,每個(gè)應(yīng)用程序包含多個(gè)功能模塊,功能模塊之間存在調(diào)用關(guān)系和先后順序,且每個(gè)功能模塊運(yùn)行時(shí)間不確定,需要的輸入格式也各不相同,多個(gè)應(yīng)用程序之間還存在交叉使用的情況,這無(wú)疑增加了量測(cè)終端應(yīng)用程序的兼容性測(cè)試的難度,若使用傳統(tǒng)的兼容性測(cè)試方案進(jìn)行測(cè)試需要花費(fèi)大量時(shí)間和人力,導(dǎo)致量測(cè)終端的應(yīng)用程序兼容性測(cè)試。
3、因此,需要提供一種量測(cè)終端應(yīng)用程序間的兼容性自動(dòng)測(cè)試的方案。
技術(shù)實(shí)現(xiàn)思路
1、基于此,有必要針對(duì)上述技術(shù)問(wèn)題,提供一種能夠高效地對(duì)量測(cè)終端應(yīng)用程序之間進(jìn)行兼容性測(cè)試的量測(cè)終端應(yīng)用程序測(cè)試方法、裝置、系統(tǒng)、計(jì)算機(jī)設(shè)備、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)和計(jì)算機(jī)程序產(chǎn)品。
2、第一方面,本技術(shù)提供了一種量測(cè)終端應(yīng)用程序兼容性測(cè)試方法,包括:
3、獲取量測(cè)終端的多個(gè)待測(cè)應(yīng)用程序的功能調(diào)用有向圖,所述功能調(diào)用有向圖包括表征應(yīng)用程序的功能的節(jié)點(diǎn),以及表征功能之間調(diào)用關(guān)系的有向邊;
4、針對(duì)每個(gè)待測(cè)應(yīng)用程序,從所述待測(cè)應(yīng)用程序的功能調(diào)用有向圖篩選出一條路徑;
5、基于篩選出的路徑上的各節(jié)點(diǎn)表征的功能的持續(xù)時(shí)間范圍,確定所述待測(cè)應(yīng)用程序的測(cè)試指令時(shí)序序列;
6、合并多個(gè)待測(cè)應(yīng)用程序的測(cè)試指令時(shí)序序列,得到包含多個(gè)待測(cè)應(yīng)用程序功能調(diào)用時(shí)間點(diǎn)的全局測(cè)試指令時(shí)序序列;
7、基于所述全局測(cè)試指令時(shí)序序列,在虛擬環(huán)境中模擬運(yùn)行所述多個(gè)待測(cè)應(yīng)用程序,檢測(cè)所述待測(cè)應(yīng)用程序之間是否存在兼容性沖突。
8、在其中一個(gè)實(shí)施例中,所述功能有向圖包含起始節(jié)點(diǎn)和結(jié)束節(jié)點(diǎn);所述從所述待測(cè)應(yīng)用程序的功能調(diào)用有向圖篩選出一條路徑,包括以下方式中的任意一種:
9、第一種,從所述待測(cè)應(yīng)用程序的功能調(diào)用有向圖中隨機(jī)篩選出一條路徑,所述路徑起始于所述起始節(jié)點(diǎn)、終止于所述結(jié)束節(jié)點(diǎn);
10、第二種,確定所述待測(cè)應(yīng)用程序的功能調(diào)用有向圖中各路徑的功能覆蓋率,從所述功能調(diào)用有向圖中篩選出功能覆蓋率最大的路徑;
11、第三種,確定所述待測(cè)應(yīng)用程序的功能調(diào)用有向圖中各路徑的資源占用沖突得分,從所述功能調(diào)用有向圖中篩選出資源占用沖突得分最大的路徑。
12、在其中一個(gè)實(shí)施例中,所述基于篩選出的路徑上的各節(jié)點(diǎn)表征的功能的持續(xù)時(shí)間范圍,確定所述待測(cè)應(yīng)用程序的測(cè)試指令時(shí)序序列,包括:
13、在所述路徑上各節(jié)點(diǎn)表征的功能的持續(xù)時(shí)間范圍內(nèi)隨機(jī)采樣,確定各節(jié)點(diǎn)所表征的功能的持續(xù)時(shí)間;
14、基于各節(jié)點(diǎn)所表征的功能的持續(xù)時(shí)間,確定所述路徑上各節(jié)點(diǎn)所表征的功能的開(kāi)始調(diào)用時(shí)間;
15、對(duì)路徑上各節(jié)點(diǎn)所表征的功能的開(kāi)始調(diào)用時(shí)間進(jìn)行排序,得到所述待測(cè)應(yīng)用程序的測(cè)試指令時(shí)序序列。
16、在其中一個(gè)實(shí)施例中,所述基于各節(jié)點(diǎn)所表征的功能的持續(xù)時(shí)間,確定所述路徑上各節(jié)點(diǎn)所表征的功能的開(kāi)始調(diào)用時(shí)間,包括:
17、隨機(jī)確定所述路徑的啟動(dòng)時(shí)間;
18、針對(duì)每一節(jié)點(diǎn),將所述節(jié)點(diǎn)之前的前序節(jié)點(diǎn)所表征的功能的開(kāi)始調(diào)用時(shí)間之和,確定為所述節(jié)點(diǎn)所表征的功能的開(kāi)始調(diào)用時(shí)間,得到所述路徑上各節(jié)點(diǎn)所表征的功能的開(kāi)始調(diào)用時(shí)間。
19、在其中一個(gè)實(shí)施例中,所述基于所述全局測(cè)試指令時(shí)序序列,在虛擬環(huán)境中模擬運(yùn)行所述多個(gè)待測(cè)應(yīng)用程序,檢測(cè)所述待測(cè)應(yīng)用程序之間是否存在兼容性沖突,包括:
20、獲取運(yùn)行日志文件;
21、基于所述運(yùn)行日志文件,檢測(cè)所述待測(cè)應(yīng)用程序之間是否存在兼容性沖突,得到兼容性沖突檢測(cè)結(jié)果,其中,兼容性沖突包括接口調(diào)用沖突、通信接口沖突、數(shù)據(jù)庫(kù)訪問(wèn)沖突以及設(shè)備訪問(wèn)沖突中的至少一種。
22、在其中一個(gè)實(shí)施例中,所述方法還包括:
23、基于兼容性沖突檢測(cè)結(jié)果,生成沖突檢測(cè)報(bào)告。
24、第二方面,本技術(shù)還提供了一種量測(cè)終端應(yīng)用程序兼容性測(cè)試裝置,包括:
25、數(shù)據(jù)獲取模塊,用于獲取量測(cè)終端的多個(gè)待測(cè)應(yīng)用程序的功能調(diào)用有向圖,所述功能調(diào)用有向圖包括表征應(yīng)用程序的功能的節(jié)點(diǎn),以及表征功能之間調(diào)用關(guān)系的有向邊;
26、路徑篩選模塊,用于針對(duì)每個(gè)待測(cè)應(yīng)用程序,從所述待測(cè)應(yīng)用程序的功能調(diào)用有向圖篩選出一條路徑;
27、序列確定模塊,用于基于篩選出的路徑上的各節(jié)點(diǎn)表征的功能的持續(xù)時(shí)間范圍,確定所述待測(cè)應(yīng)用程序的測(cè)試指令時(shí)序序列;
28、序列合并模塊,用于合并多個(gè)待測(cè)應(yīng)用程序的測(cè)試指令時(shí)序序列,得到包含多個(gè)待測(cè)應(yīng)用程序功能調(diào)用時(shí)間點(diǎn)的全局測(cè)試指令時(shí)序序列;
29、兼容性測(cè)試模塊,用于基于所述全局測(cè)試指令時(shí)序序列,在虛擬環(huán)境中模擬運(yùn)行所述多個(gè)待測(cè)應(yīng)用程序,檢測(cè)所述待測(cè)應(yīng)用程序之間是否存在兼容性沖突。
30、第三方面,本技術(shù)還提供了一種量測(cè)終端應(yīng)用程序兼容性測(cè)試系統(tǒng),包括:量測(cè)終端、服務(wù)器通信模塊、虛擬服務(wù)器、設(shè)備通信模塊以及多個(gè)虛擬設(shè)備,所述量測(cè)終端上安裝有多個(gè)待測(cè)應(yīng)用程序,所述服務(wù)器通信模塊連接所述虛擬服務(wù)器和所述量測(cè)終端,所述設(shè)備通信模塊連接所述量測(cè)終端和所述虛擬設(shè)備;
31、所述服務(wù)器通信模塊,用于模擬實(shí)際系統(tǒng)服務(wù)器與所述量測(cè)終端之間的通信協(xié)議,為所述待測(cè)應(yīng)用程序和所述虛擬服務(wù)器提供統(tǒng)一的通信接口;
32、所述虛擬服務(wù)器,用于模擬所述實(shí)際系統(tǒng)服務(wù)器和所述量測(cè)終端的功能,接收所述量測(cè)終端傳送的數(shù)據(jù),根據(jù)上述任意一項(xiàng)所述的量測(cè)終端應(yīng)用程序兼容性測(cè)試方法對(duì)所述量測(cè)終端的應(yīng)用程序進(jìn)行兼容性測(cè)試;
33、所述設(shè)備通信模塊,用于模擬量測(cè)終端與設(shè)備之間的通信協(xié)議,為所述待測(cè)應(yīng)用程序和所述虛擬設(shè)備之間提供統(tǒng)一的通信接口;
34、所述虛擬設(shè)備,用于模擬量測(cè)終端控制的設(shè)備,接收所述待測(cè)應(yīng)用程序發(fā)送的指令,通過(guò)所述設(shè)備通信模塊將數(shù)據(jù)傳送至所述待測(cè)應(yīng)用程序。
35、第四方面,本技術(shù)還提供了一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器和處理器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)上述任意一項(xiàng)量測(cè)終端應(yīng)用程序兼容性測(cè)試方法實(shí)施例中的步驟。
36、第五方面,本技術(shù)還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述任意一項(xiàng)量測(cè)終端應(yīng)用程序兼容性測(cè)試方法實(shí)施例中的步驟。
37、第六方面,本技術(shù)還提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述任意一項(xiàng)量測(cè)終端應(yīng)用程序兼容性測(cè)試方法實(shí)施例中的步驟。
38、上述量測(cè)終端應(yīng)用程序兼容性測(cè)試方法、裝置、系統(tǒng)、計(jì)算機(jī)設(shè)備、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)和計(jì)算機(jī)程序產(chǎn)品,提供了一種通過(guò)構(gòu)建和分析應(yīng)用程序的功能調(diào)用有向圖,生成測(cè)試指令時(shí)序序列,并在虛擬環(huán)境中模擬運(yùn)行多個(gè)待測(cè)應(yīng)用程序,以檢測(cè)它們之間的兼容性沖突的方案,具體地,通過(guò)構(gòu)建功能調(diào)用有向圖,將應(yīng)用程序的功能及其調(diào)用關(guān)系可視化,從功能調(diào)用有向圖中篩選出一條或多條路徑,確保了對(duì)應(yīng)用程序主要功能調(diào)用路徑的覆蓋,基于篩選出的路徑和各功能的持續(xù)時(shí)間范圍,生成測(cè)試指令時(shí)序序列,使得測(cè)試過(guò)程中的時(shí)間控制更加精確,再合并多個(gè)應(yīng)用程序的測(cè)試指令時(shí)序序列,形成一個(gè)全局的測(cè)試計(jì)劃,最后,再基于全局的測(cè)試計(jì)劃,在虛擬環(huán)境中同時(shí)運(yùn)行多個(gè)應(yīng)用程序,能夠?qū)崿F(xiàn)自動(dòng)化的測(cè)試執(zhí)行,減少人工干預(yù),提高了兼容性測(cè)試效率。