本公開(kāi)涉及計(jì)算機(jī),尤其涉及一種測(cè)試用例調(diào)度方法、裝置、設(shè)備及可讀存儲(chǔ)介質(zhì)。
背景技術(shù):
1、目前,執(zhí)行自動(dòng)化的回歸測(cè)試時(shí),通常會(huì)按照人為選定的固定測(cè)試用例組進(jìn)行多輪測(cè)試執(zhí)行。
2、但是,隨著測(cè)試用例數(shù)量的不斷增加,如果每輪測(cè)試都是全部測(cè)試用例參加測(cè)試,執(zhí)行測(cè)試用例所需要的總時(shí)間也會(huì)呈線性增加。在這樣的情況下,單位時(shí)間內(nèi)就會(huì)減少每一個(gè)測(cè)試用例的覆蓋次數(shù),從而會(huì)減小發(fā)現(xiàn)被測(cè)目標(biāo)的缺陷的概率,導(dǎo)致不能及時(shí)發(fā)現(xiàn)被測(cè)目標(biāo)的缺陷。
技術(shù)實(shí)現(xiàn)思路
1、為了解決上述技術(shù)問(wèn)題或者至少部分地解決上述技術(shù)問(wèn)題,本公開(kāi)提供了一種測(cè)試用例調(diào)度方法、裝置、設(shè)備及可讀存儲(chǔ)介質(zhì),以將失敗頻率高的測(cè)試用例進(jìn)行相對(duì)高頻次的調(diào)度,可以盡早發(fā)現(xiàn)被測(cè)目標(biāo)的缺陷,將失敗頻率低的測(cè)試用例進(jìn)行相對(duì)低頻次的調(diào)度,可以減少整體時(shí)間的花費(fèi),減少重復(fù)驗(yàn)證的力度,保證全部的測(cè)試用例都能被調(diào)度到。
2、第一方面,本公開(kāi)實(shí)施例提供一種測(cè)試用例調(diào)度方法,所述方法包括:
3、對(duì)于每個(gè)執(zhí)行輪次,獲取各個(gè)測(cè)試用例以及各個(gè)測(cè)試用例對(duì)應(yīng)的權(quán)重值;
4、基于各個(gè)測(cè)試用例對(duì)應(yīng)的權(quán)重值以及調(diào)度閾值,篩選出當(dāng)前執(zhí)行輪次的測(cè)試用例組,所述調(diào)度閾值為判斷各個(gè)測(cè)試用例是否達(dá)到當(dāng)前執(zhí)行輪次的調(diào)度要求的閾值;
5、獲取當(dāng)前執(zhí)行輪次的測(cè)試用例組的執(zhí)行結(jié)果;
6、根據(jù)測(cè)試用例組的執(zhí)行結(jié)果和執(zhí)行完成情況,采用如下方式進(jìn)行調(diào)度策略的調(diào)整:方式一、基于當(dāng)前執(zhí)行輪次的測(cè)試用例組中各目標(biāo)測(cè)試用例的執(zhí)行結(jié)果,對(duì)測(cè)試用例組中各目標(biāo)測(cè)試用例對(duì)應(yīng)的權(quán)重值進(jìn)行更新;和/或
7、方式二、響應(yīng)于當(dāng)前執(zhí)行輪次的測(cè)試用例組中各目標(biāo)測(cè)試用例均執(zhí)行完成,對(duì)所述調(diào)度閾值進(jìn)行調(diào)整;
8、重復(fù)執(zhí)行所述獲取各個(gè)測(cè)試用例以及各個(gè)測(cè)試用例對(duì)應(yīng)的權(quán)重值的步驟,直至每個(gè)執(zhí)行輪次的測(cè)試用例組均執(zhí)行完成。
9、在一些實(shí)施例中,所述基于各個(gè)測(cè)試用例對(duì)應(yīng)的權(quán)重值以及調(diào)度閾值,篩選出當(dāng)前執(zhí)行輪次的測(cè)試用例組,包括:
10、對(duì)于各個(gè)測(cè)試用例中的任一測(cè)試用例,判斷該測(cè)試用例對(duì)應(yīng)的權(quán)重值是否大于或等于調(diào)度閾值;
11、若該測(cè)試用例對(duì)應(yīng)的權(quán)重值大于或等于調(diào)度閾值,則將該測(cè)試用例篩選到測(cè)試用例組中。
12、在一些實(shí)施例中,所述方法還包括:
13、若該測(cè)試用例對(duì)應(yīng)的權(quán)重值小于所述調(diào)度閾值,則確定該測(cè)試用例不進(jìn)行當(dāng)前執(zhí)行輪次的調(diào)度。
14、在一些實(shí)施例中,所述對(duì)于每個(gè)執(zhí)行輪次,獲取各個(gè)測(cè)試用例以及各個(gè)測(cè)試用例對(duì)應(yīng)的權(quán)重值之后,所述方法還包括:
15、根據(jù)各個(gè)測(cè)試用例的歷史通過(guò)率,對(duì)各個(gè)測(cè)試用例對(duì)應(yīng)的權(quán)重值進(jìn)行調(diào)整;
16、所述根據(jù)各個(gè)測(cè)試用例的歷史通過(guò)率,對(duì)各個(gè)測(cè)試用例對(duì)應(yīng)的權(quán)重值進(jìn)行調(diào)整,包括:
17、對(duì)于各個(gè)測(cè)試用例中的任一測(cè)試用例,若所述測(cè)試用例的歷史通過(guò)率大于或等于預(yù)設(shè)通過(guò)率閾值,則調(diào)低所述測(cè)試用例對(duì)應(yīng)的權(quán)重值;
18、若所述測(cè)試用例的歷史通過(guò)率小于預(yù)設(shè)通過(guò)率閾值,則調(diào)高所述測(cè)試用例對(duì)應(yīng)的權(quán)重值。
19、在一些實(shí)施例中,所述獲取當(dāng)前執(zhí)行輪次的測(cè)試用例組的執(zhí)行結(jié)果,包括:
20、調(diào)用自動(dòng)化測(cè)試框架對(duì)當(dāng)前執(zhí)行輪次的測(cè)試用例組進(jìn)行測(cè)試執(zhí)行;
21、獲取所述自動(dòng)化測(cè)試框架反饋的當(dāng)前執(zhí)行輪次的測(cè)試用例組中各目標(biāo)測(cè)試用例的執(zhí)行結(jié)果。
22、在一些實(shí)施例中,所述基于當(dāng)前執(zhí)行輪次的測(cè)試用例組中各目標(biāo)測(cè)試用例的執(zhí)行結(jié)果,對(duì)測(cè)試用例組中各目標(biāo)測(cè)試用例對(duì)應(yīng)的權(quán)重值進(jìn)行更新,包括:
23、若所述目標(biāo)測(cè)試用例的執(zhí)行結(jié)果為成功,則基于所述目標(biāo)測(cè)試用例對(duì)應(yīng)的權(quán)重值結(jié)合第一平衡因子調(diào)低權(quán)重值,計(jì)算方式為:計(jì)算所述目標(biāo)測(cè)試用例對(duì)應(yīng)的權(quán)重值與第一平衡因子的乘積值,用所述目標(biāo)測(cè)試用例對(duì)應(yīng)的權(quán)重值減去所述乘積值,得到所述目標(biāo)測(cè)試用例對(duì)應(yīng)的目標(biāo)權(quán)重值;
24、若所述目標(biāo)測(cè)試用例的執(zhí)行結(jié)果為失敗,則基于所述目標(biāo)測(cè)試用例對(duì)應(yīng)的權(quán)重值結(jié)合第一平衡因子調(diào)高權(quán)重值,計(jì)算公式為:計(jì)算預(yù)設(shè)權(quán)重值閾值與目標(biāo)測(cè)試用例對(duì)應(yīng)的權(quán)重值的差值,計(jì)算所述差值與第一平衡因子的乘積值,用所述目標(biāo)測(cè)試用例對(duì)應(yīng)的權(quán)重值加上所述乘積值,得到所述目標(biāo)測(cè)試用例對(duì)應(yīng)的目標(biāo)權(quán)重值;
25、將所述目標(biāo)測(cè)試用例對(duì)應(yīng)的權(quán)重值更新為目標(biāo)權(quán)重值。
26、在一些實(shí)施例中,所述將所述目標(biāo)測(cè)試用例對(duì)應(yīng)的權(quán)重值更新為目標(biāo)權(quán)重值,包括:
27、判斷所述目標(biāo)測(cè)試用例對(duì)應(yīng)的目標(biāo)權(quán)重值是否小于或等于零,或所述目標(biāo)權(quán)重值是否大于或等于所述預(yù)設(shè)權(quán)重值閾值;
28、若所述目標(biāo)測(cè)試用例對(duì)應(yīng)的目標(biāo)權(quán)重值小于或等于零,則將所述目標(biāo)測(cè)試用例對(duì)應(yīng)的權(quán)重值更新為初始值;
29、若所述目標(biāo)測(cè)試用例對(duì)應(yīng)的目標(biāo)權(quán)重值大于或等于所述預(yù)設(shè)權(quán)重值閾值,則將所述目標(biāo)測(cè)試用例對(duì)應(yīng)的權(quán)重值更新為所述預(yù)設(shè)權(quán)重值閾值;
30、若所述目標(biāo)測(cè)試用例對(duì)應(yīng)的目標(biāo)權(quán)重值大于零且小于所述預(yù)設(shè)權(quán)重值閾值,則將所述目標(biāo)測(cè)試用例對(duì)應(yīng)的權(quán)重值更新為目標(biāo)權(quán)重值。
31、在一些實(shí)施例中,所述基于當(dāng)前執(zhí)行輪次的測(cè)試用例組中各目標(biāo)測(cè)試用例的執(zhí)行結(jié)果,對(duì)測(cè)試用例組中各目標(biāo)測(cè)試用例對(duì)應(yīng)的權(quán)重值進(jìn)行更新,包括:
32、若所述目標(biāo)測(cè)試用例的執(zhí)行結(jié)果為成功,則對(duì)計(jì)算出的權(quán)重值向下取整,得到所述目標(biāo)測(cè)試用例對(duì)應(yīng)的目標(biāo)權(quán)重值;
33、若所述目標(biāo)測(cè)試用例的執(zhí)行結(jié)果為失敗,則對(duì)計(jì)算出的權(quán)重值向上取整,得到所述目標(biāo)測(cè)試用例對(duì)應(yīng)的目標(biāo)權(quán)重值。
34、在一些實(shí)施例中,所述對(duì)所述調(diào)度閾值進(jìn)行調(diào)整,包括:
35、結(jié)合第二平衡因子對(duì)調(diào)度閾值進(jìn)行調(diào)整;
36、所述結(jié)合第二平衡因子對(duì)調(diào)度閾值進(jìn)行調(diào)整,包括:
37、計(jì)算預(yù)設(shè)目標(biāo)閾值與第二平衡因子的乘積值,用所述調(diào)度閾值加上所述乘積值,得到目標(biāo)調(diào)度閾值;
38、判斷所述目標(biāo)調(diào)度閾值是否大于或等于預(yù)設(shè)目標(biāo)閾值;
39、若所述目標(biāo)調(diào)度閾值大于或等于預(yù)設(shè)目標(biāo)閾值,則將所述調(diào)度閾值調(diào)整為零;
40、若所述目標(biāo)調(diào)度閾值小于預(yù)設(shè)目標(biāo)閾值,則將所述調(diào)度閾值調(diào)整為所述目標(biāo)調(diào)度閾值。
41、第二方面,本公開(kāi)實(shí)施例提供一種測(cè)試用例調(diào)度裝置,所述裝置包括:
42、第一獲取模塊,用于對(duì)于每個(gè)執(zhí)行輪次,獲取各個(gè)測(cè)試用例以及各個(gè)測(cè)試用例對(duì)應(yīng)的權(quán)重值;
43、篩選模塊,用于基于各個(gè)測(cè)試用例對(duì)應(yīng)的權(quán)重值以及調(diào)度閾值,篩選出當(dāng)前執(zhí)行輪次的測(cè)試用例組,所述調(diào)度閾值為判斷各個(gè)測(cè)試用例是否達(dá)到當(dāng)前執(zhí)行輪次的調(diào)度要求的閾值;
44、第二獲取模塊,用于獲取當(dāng)前執(zhí)行輪次的測(cè)試用例組的執(zhí)行結(jié)果;
45、調(diào)整模塊,用于根據(jù)測(cè)試用例組的執(zhí)行結(jié)果和執(zhí)行完成情況,采用如下方式進(jìn)行調(diào)度策略的調(diào)整:方式一、基于當(dāng)前執(zhí)行輪次的測(cè)試用例組中各目標(biāo)測(cè)試用例的執(zhí)行結(jié)果,對(duì)測(cè)試用例組中各目標(biāo)測(cè)試用例對(duì)應(yīng)的權(quán)重值進(jìn)行更新;和/或
46、方式二、響應(yīng)于當(dāng)前執(zhí)行輪次的測(cè)試用例組中各目標(biāo)測(cè)試用例均執(zhí)行完成,對(duì)所述調(diào)度閾值進(jìn)行調(diào)整;
47、完成模塊,用于重復(fù)執(zhí)行所述獲取各個(gè)測(cè)試用例以及各個(gè)測(cè)試用例對(duì)應(yīng)的權(quán)重值的步驟,直至每個(gè)執(zhí)行輪次的測(cè)試用例組均執(zhí)行完成。
48、第三方面,本公開(kāi)實(shí)施例提供一種電子設(shè)備,包括:
49、存儲(chǔ)器;
50、處理器;以及
51、計(jì)算機(jī)程序;
52、其中,所述計(jì)算機(jī)程序存儲(chǔ)在所述存儲(chǔ)器中,并被配置為由所述處理器執(zhí)行以實(shí)現(xiàn)如第一方面所述的方法。
53、第四方面,本公開(kāi)實(shí)施例提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行以實(shí)現(xiàn)如第一方面所述的方法。
54、第五方面,本公開(kāi)實(shí)施例還提供了一種計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)程序或指令,該計(jì)算機(jī)程序或指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)如第一方面所述的方法。
55、本公開(kāi)實(shí)施例提供的測(cè)試用例調(diào)度方法、裝置、設(shè)備及可讀存儲(chǔ)介質(zhì),通過(guò)對(duì)于每個(gè)執(zhí)行輪次,獲取各個(gè)測(cè)試用例以及各個(gè)測(cè)試用例對(duì)應(yīng)的權(quán)重值,基于各個(gè)測(cè)試用例對(duì)應(yīng)的權(quán)重值以及調(diào)度閾值,篩選出當(dāng)前執(zhí)行輪次的測(cè)試用例組。一方面,獲取當(dāng)前執(zhí)行輪次的測(cè)試用例組的執(zhí)行結(jié)果,基于當(dāng)前執(zhí)行輪次的測(cè)試用例組中各目標(biāo)測(cè)試用例的執(zhí)行結(jié)果,對(duì)測(cè)試用例組中各目標(biāo)測(cè)試用例對(duì)應(yīng)的權(quán)重值進(jìn)行更新;和/或,另一方面,響應(yīng)于當(dāng)前執(zhí)行輪次的測(cè)試用例組中各目標(biāo)測(cè)試用例均執(zhí)行完成,對(duì)所述調(diào)度閾值進(jìn)行調(diào)整,重復(fù)執(zhí)行所述獲取各個(gè)測(cè)試用例以及各個(gè)測(cè)試用例對(duì)應(yīng)的權(quán)重值的步驟,直至每個(gè)執(zhí)行輪次的測(cè)試用例組均執(zhí)行完成。從控制調(diào)度測(cè)試用例的權(quán)重值和/或調(diào)整調(diào)度閾值的兩個(gè)角度至少之一,改進(jìn)測(cè)試用例的調(diào)度策略,相較于現(xiàn)有技術(shù),本公開(kāi)實(shí)施例通過(guò)基于各個(gè)測(cè)試用例對(duì)應(yīng)的權(quán)重值以及調(diào)度閾值,篩選出當(dāng)前執(zhí)行輪次的測(cè)試用例組,并基于當(dāng)前執(zhí)行輪次的測(cè)試用例組中各目標(biāo)測(cè)試用例的執(zhí)行結(jié)果,對(duì)測(cè)試用例組中各目標(biāo)測(cè)試用例對(duì)應(yīng)的權(quán)重值進(jìn)行更新,可以為測(cè)試用例分配不同的權(quán)重值,進(jìn)而可以盡早發(fā)現(xiàn)被測(cè)目標(biāo)的缺陷,減少整體時(shí)間的花費(fèi),減少重復(fù)驗(yàn)證的力度,同時(shí)保證全部的測(cè)試用例都能被調(diào)度到。