亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

測(cè)試用例處理方法和裝置與流程

文檔序號(hào):12719398閱讀:203來(lái)源:國(guó)知局
測(cè)試用例處理方法和裝置與流程
本發(fā)明涉及計(jì)算機(jī)
技術(shù)領(lǐng)域
,特別是涉及一種測(cè)試用例處理方法和裝置。
背景技術(shù)
:測(cè)試用例(TestCase)是為測(cè)試程序而設(shè)計(jì)的一組測(cè)試輸入、執(zhí)行條件和預(yù)期的結(jié)果的數(shù)據(jù)。測(cè)試用例可以設(shè)計(jì)一個(gè)場(chǎng)景,使被測(cè)程序在這種場(chǎng)景下運(yùn)行,以測(cè)試程序是否能否滿足設(shè)計(jì)需求。目前,需要為被測(cè)程序設(shè)計(jì)足夠數(shù)量的測(cè)試用例,通常全量執(zhí)行測(cè)試用例以保證對(duì)被測(cè)程序進(jìn)行充分的測(cè)試。在被測(cè)程序開(kāi)發(fā)初期,測(cè)試用例總量較少,執(zhí)行全量的測(cè)試用例也容易管理。然而,隨著被測(cè)程序的開(kāi)發(fā)進(jìn)展,在每個(gè)開(kāi)發(fā)階段會(huì)產(chǎn)生新的測(cè)試用例,測(cè)試用例的數(shù)量顯著增加,全量執(zhí)行測(cè)試用例需要消耗大量的時(shí)間成本和人力成本,測(cè)試效率低。技術(shù)實(shí)現(xiàn)要素:基于此,有必要針對(duì)目前每次測(cè)試需要執(zhí)行全量測(cè)試用例導(dǎo)致測(cè)試成本低的問(wèn)題,提供一種測(cè)試用例處理方法和裝置。一種測(cè)試用例處理方法,包括:獲取測(cè)試用例標(biāo)識(shí)集合和被測(cè)函數(shù)標(biāo)識(shí)集合;對(duì)于所述測(cè)試用例標(biāo)識(shí)集合中的每個(gè)測(cè)試用例標(biāo)識(shí),確定針對(duì)所述被測(cè)函數(shù)標(biāo)識(shí)集合的測(cè)試覆蓋關(guān)系;將所述測(cè)試用例標(biāo)識(shí)集合中的測(cè)試用例標(biāo)識(shí),按照相應(yīng)的所述測(cè)試覆蓋關(guān)系之間的相似度進(jìn)行聚類,獲得多于一個(gè)的測(cè)試用例標(biāo)識(shí)子集;根據(jù)所述測(cè)試用例標(biāo)識(shí)子集,從所述測(cè)試用例標(biāo)識(shí)集合中篩選出部分測(cè)試用例標(biāo)識(shí)。一種測(cè)試用例處理裝置,包括:獲取模塊,用于獲取測(cè)試用例標(biāo)識(shí)集合和被測(cè)函數(shù)標(biāo)識(shí)集合;測(cè)試覆蓋關(guān)系確定模塊,用于對(duì)于所述測(cè)試用例標(biāo)識(shí)集合中的每個(gè)測(cè)試用例標(biāo)識(shí),確定針對(duì)所述被測(cè)函數(shù)標(biāo)識(shí)集合的測(cè)試覆蓋關(guān)系;聚類模塊,用于將所述測(cè)試用例標(biāo)識(shí)集合中的測(cè)試用例標(biāo)識(shí),按照相應(yīng)的所述測(cè)試覆蓋關(guān)系之間的相似度進(jìn)行聚類,獲得多于一個(gè)的測(cè)試用例標(biāo)識(shí)子集;測(cè)試用例篩選模塊,用于根據(jù)所述測(cè)試用例標(biāo)識(shí)子集,從所述測(cè)試用例標(biāo)識(shí)集合中篩選出部分測(cè)試用例標(biāo)識(shí)。上述測(cè)試用例處理方法和裝置,獲取測(cè)試用例標(biāo)識(shí)集合和被測(cè)函數(shù)標(biāo)識(shí)集合后,確定每個(gè)測(cè)試用例標(biāo)識(shí)相對(duì)于被測(cè)函數(shù)標(biāo)識(shí)集合的測(cè)試覆蓋關(guān)系,該測(cè)試覆蓋關(guān)系反映了該測(cè)試用例標(biāo)識(shí)表示的測(cè)試用例,對(duì)于被測(cè)函數(shù)標(biāo)識(shí)集合所表示的被測(cè)函數(shù)的覆蓋情況。利用測(cè)試覆蓋關(guān)系之間的相似度進(jìn)行聚類,得到若干測(cè)試用例標(biāo)識(shí)子集。根據(jù)所述測(cè)試用例標(biāo)識(shí)子集篩選出部分測(cè)試用例標(biāo)識(shí),以對(duì)測(cè)試用例標(biāo)識(shí)集合進(jìn)行精簡(jiǎn)。利用精簡(jiǎn)后得到的測(cè)試用例標(biāo)識(shí)所對(duì)應(yīng)的測(cè)試用例對(duì)被測(cè)程序進(jìn)行測(cè)試,不僅可以保證測(cè)試覆蓋率,還能提高測(cè)試效率。附圖說(shuō)明圖1為一個(gè)實(shí)施例中測(cè)試用例處理方法的應(yīng)用環(huán)境圖;圖2為一個(gè)實(shí)施例中用于執(zhí)行測(cè)試用例處理方法的電子設(shè)備的內(nèi)部結(jié)構(gòu)示意圖;圖3為一個(gè)實(shí)施例中測(cè)試用例處理方法的流程示意圖;圖4為一個(gè)實(shí)施例中對(duì)于測(cè)試用例標(biāo)識(shí)集合中的每個(gè)測(cè)試用例標(biāo)識(shí),確定針對(duì)被測(cè)函數(shù)標(biāo)識(shí)集合的測(cè)試覆蓋關(guān)系的步驟的流程示意圖;圖5為一個(gè)實(shí)施例中對(duì)于測(cè)試用例標(biāo)識(shí)集合中的每個(gè)測(cè)試用例標(biāo)識(shí),分別判斷與被測(cè)函數(shù)標(biāo)識(shí)集合中的每個(gè)被測(cè)函數(shù)標(biāo)識(shí)是否存在測(cè)試對(duì)應(yīng)關(guān)系的步驟的流程示意圖;圖6為一個(gè)實(shí)施例中將測(cè)試用例標(biāo)識(shí)集合中的測(cè)試用例標(biāo)識(shí),按照相應(yīng)的測(cè)試覆蓋關(guān)系之間的相似度進(jìn)行聚類,獲得多于一個(gè)的測(cè)試用例標(biāo)識(shí)子集的步驟的流程示意圖;圖7為一個(gè)實(shí)施例中將數(shù)值化對(duì)象按照數(shù)值化對(duì)象之間的相似度進(jìn)行聚類,獲得多于一個(gè)的數(shù)值化對(duì)象聚類簇的步驟的流程示意圖;圖8為一個(gè)實(shí)施例中輪次將每個(gè)數(shù)值化對(duì)象聚類簇按照數(shù)值化對(duì)象之間的相似度劃分為兩個(gè)候選聚類簇,得到每個(gè)候選聚類簇的聚類中心的步驟的流程示意圖;圖9為一個(gè)具體應(yīng)用場(chǎng)景中測(cè)試用例處理方法的流程示意圖;圖10為一個(gè)實(shí)施例中測(cè)試用例處理裝置的結(jié)構(gòu)框圖。具體實(shí)施方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。圖1為一個(gè)實(shí)施例中測(cè)試用例處理方法的應(yīng)用環(huán)境圖。參照?qǐng)D1,該測(cè)試用例處理方法可應(yīng)用于服務(wù)器110。服務(wù)器110具體可獲取測(cè)試用例標(biāo)識(shí)集合和被測(cè)函數(shù)標(biāo)識(shí)集合;對(duì)于測(cè)試用例標(biāo)識(shí)集合中的每個(gè)測(cè)試用例標(biāo)識(shí),確定針對(duì)被測(cè)函數(shù)標(biāo)識(shí)集合的測(cè)試覆蓋關(guān)系;將測(cè)試用例標(biāo)識(shí)集合中的測(cè)試用例標(biāo)識(shí),按照相應(yīng)的測(cè)試覆蓋關(guān)系之間的相似度進(jìn)行聚類,獲得多于一個(gè)的測(cè)試用例標(biāo)識(shí)子集;根據(jù)測(cè)試用例標(biāo)識(shí)子集,從測(cè)試用例標(biāo)識(shí)集合中篩選出部分測(cè)試用例標(biāo)識(shí)。服務(wù)器110可將篩選出的部分測(cè)試用例標(biāo)識(shí)推薦至終端120,或者可以將篩選出的部分測(cè)試用例標(biāo)識(shí)所對(duì)應(yīng)的測(cè)試用例推薦至終端120。通過(guò)網(wǎng)絡(luò)連接的服務(wù)器110和終端120可構(gòu)成一種測(cè)試用例推薦系統(tǒng)??梢岳斫獾氖?,測(cè)試用例處理方法可應(yīng)用于一種獨(dú)立的電子設(shè)備,該電子設(shè)備可在篩選出部分測(cè)試用例標(biāo)識(shí)后,根據(jù)該部分測(cè)試用例標(biāo)識(shí)所對(duì)應(yīng)的測(cè)試用例直接對(duì)被測(cè)程序進(jìn)行測(cè)試。圖2為一個(gè)實(shí)施例中電子設(shè)備的結(jié)構(gòu)框圖。該電子設(shè)備可以是服務(wù)器110,該電子設(shè)備用于實(shí)現(xiàn)一種測(cè)試用例處理方法。參照?qǐng)D2,該電子設(shè)備包括通過(guò)系統(tǒng)總線連接的處理器、非易失性存儲(chǔ)介質(zhì)、內(nèi)存儲(chǔ)器和網(wǎng)絡(luò)接口。其中,該電子設(shè)備的非易失性存儲(chǔ)介質(zhì)存儲(chǔ)有操作系統(tǒng)、數(shù)據(jù)庫(kù)和測(cè)試用例處理裝置。數(shù)據(jù)庫(kù)中存儲(chǔ)有測(cè)試用例標(biāo)識(shí)集合和被測(cè)函數(shù)標(biāo)識(shí)集合,還可以存儲(chǔ)有測(cè)試對(duì)應(yīng)關(guān)系集合。測(cè)試用例處理裝置用于實(shí)現(xiàn)一種測(cè)試用例處理方法。該電子設(shè)備的處理器用于提供計(jì)算和控制能力,支撐整個(gè)電子設(shè)備的運(yùn)行。該電子設(shè)備的內(nèi)存儲(chǔ)器為非易失性存儲(chǔ)介質(zhì)中的測(cè)試用例處理裝置的運(yùn)行提供環(huán)境,該內(nèi)存儲(chǔ)器中可儲(chǔ)存有計(jì)算機(jī)可讀指令,該計(jì)算機(jī)可讀指令被處理器執(zhí)行時(shí),可使得處理器執(zhí)行一種測(cè)試用例處理方法。該服務(wù)器的網(wǎng)絡(luò)接口用于連接網(wǎng)絡(luò)進(jìn)行通信。電子設(shè)備可以是獨(dú)立的設(shè)備或者是多個(gè)電子設(shè)備組成的設(shè)備集群來(lái)實(shí)現(xiàn)。本領(lǐng)域技術(shù)人員可以理解,圖2中示出的結(jié)構(gòu),僅僅是與本申請(qǐng)方案相關(guān)的部分結(jié)構(gòu)的框圖,并不構(gòu)成對(duì)本申請(qǐng)方案所應(yīng)用于其上的服務(wù)器的限定,具體的服務(wù)器可以包括比圖中所示更多或更少的部件,或者組合某些部件,或者具有不同的部件布置。圖3為一個(gè)實(shí)施例中測(cè)試用例處理方法的流程示意圖。本實(shí)施例主要以該方法應(yīng)用于上述圖1中的服務(wù)器來(lái)舉例說(shuō)明。參照?qǐng)D3,該測(cè)試用例處理方法包括如下步驟:S302,獲取測(cè)試用例標(biāo)識(shí)集合和被測(cè)函數(shù)標(biāo)識(shí)集合。其中,測(cè)試用例標(biāo)識(shí)集合是測(cè)試用例標(biāo)識(shí)構(gòu)成的集合,測(cè)試用例標(biāo)識(shí)用于唯一標(biāo)識(shí)相應(yīng)的測(cè)試用例。被測(cè)函數(shù)標(biāo)識(shí)集合是被測(cè)函數(shù)標(biāo)識(shí)構(gòu)成的集合,被測(cè)函數(shù)標(biāo)識(shí)用于唯一標(biāo)識(shí)相應(yīng)的被測(cè)函數(shù)。被測(cè)函數(shù)是被測(cè)程序的函數(shù),通過(guò)調(diào)用被測(cè)函數(shù)可以實(shí)現(xiàn)對(duì)被測(cè)程序的測(cè)試。被測(cè)函數(shù)標(biāo)識(shí)集合可以是全量被測(cè)函數(shù)標(biāo)識(shí)構(gòu)成的集合,也可以是從全量被測(cè)函數(shù)標(biāo)識(shí)中篩選出的部分被測(cè)函數(shù)標(biāo)識(shí)構(gòu)成的集合。全量被測(cè)函數(shù)標(biāo)識(shí),是指被測(cè)程序所有被測(cè)函數(shù)各自的標(biāo)識(shí)。測(cè)試用例標(biāo)識(shí)集合可以是全量測(cè)試用例標(biāo)識(shí)構(gòu)成的集合。S304,對(duì)于測(cè)試用例標(biāo)識(shí)集合中的每個(gè)測(cè)試用例標(biāo)識(shí),確定針對(duì)被測(cè)函數(shù)標(biāo)識(shí)集合的測(cè)試覆蓋關(guān)系。其中,測(cè)試用例標(biāo)識(shí)相對(duì)于被測(cè)函數(shù)標(biāo)識(shí)集合的測(cè)試覆蓋關(guān)系,表示該測(cè)試用例標(biāo)識(shí)所標(biāo)識(shí)的測(cè)試用例,相對(duì)于該被測(cè)函數(shù)標(biāo)識(shí)集合所表示的該被測(cè)函數(shù)集合的測(cè)試覆蓋情況。測(cè)試覆蓋關(guān)系可以反映相應(yīng)的測(cè)試用例所能夠覆蓋的被測(cè)函數(shù)。比如,假設(shè)某測(cè)試用例涉及被測(cè)函數(shù)集合中的測(cè)試用例A和B,不涉及測(cè)試用例C,表達(dá)的就是該測(cè)試用例相對(duì)于該被測(cè)函數(shù)集合的測(cè)試覆蓋關(guān)系,也就是相應(yīng)的測(cè)試用例標(biāo)識(shí)相對(duì)于被測(cè)函數(shù)標(biāo)識(shí)集合的測(cè)試覆蓋關(guān)系。S306,將測(cè)試用例標(biāo)識(shí)集合中的測(cè)試用例標(biāo)識(shí),按照相應(yīng)的測(cè)試覆蓋關(guān)系之間的相似度進(jìn)行聚類,獲得多于一個(gè)的測(cè)試用例標(biāo)識(shí)子集。其中,測(cè)試覆蓋關(guān)系之間的相似度,表示的是相應(yīng)的測(cè)試用例對(duì)被測(cè)函數(shù)集合的測(cè)試覆蓋情況的相似程度。相似度與測(cè)試覆蓋關(guān)系之間的相似程度正相關(guān),也就是相似度越高,表示相應(yīng)的測(cè)試覆蓋關(guān)系更加相似。測(cè)試覆蓋關(guān)系之間的相似度可以用覆蓋的被測(cè)函數(shù)標(biāo)識(shí)的交集大小表示。比如測(cè)試覆蓋關(guān)系X表示覆蓋被測(cè)函數(shù)A、B和C,測(cè)試覆蓋關(guān)系Y表示覆蓋被測(cè)函數(shù)A、B和D,測(cè)試覆蓋關(guān)系Z表示覆蓋被測(cè)函數(shù)D、E和F。那么測(cè)試覆蓋關(guān)系X與Y由于存在交集{A,B},相似度最高;測(cè)試覆蓋關(guān)系Y和Z存在交集{D},相似度次之;測(cè)試覆蓋關(guān)系X和Z沒(méi)有交集,相似度最小。測(cè)試用例標(biāo)識(shí)子集是對(duì)測(cè)試用例標(biāo)識(shí)集合中的測(cè)試用例標(biāo)識(shí)進(jìn)行聚類后得到的聚類結(jié)果。聚類后測(cè)試用例標(biāo)識(shí)集合中的測(cè)試用例標(biāo)識(shí),被劃分為不同的子集,每個(gè)子集表示一個(gè)測(cè)試用例標(biāo)識(shí)子集。每個(gè)測(cè)試用例標(biāo)識(shí)子集包括一個(gè)或多于一個(gè)的測(cè)試用例標(biāo)識(shí)。具體地,服務(wù)器可計(jì)算兩兩測(cè)試覆蓋關(guān)系之間的相似度,然后將相似度較高的測(cè)試覆蓋關(guān)系對(duì)應(yīng)的測(cè)試用例標(biāo)識(shí)聚類為相同的聚類簇,得到多于一個(gè)的測(cè)試用例標(biāo)識(shí)子集。聚類時(shí)可采用層次聚類算法、神經(jīng)網(wǎng)絡(luò)聚類算法或者FCM(FuzzyC-means,一種基于目標(biāo)函數(shù)的模糊聚類算法)算法等。S308,根據(jù)測(cè)試用例標(biāo)識(shí)子集,從測(cè)試用例標(biāo)識(shí)集合中篩選出部分測(cè)試用例標(biāo)識(shí)。其中,部分測(cè)試用例標(biāo)識(shí),是指從測(cè)試用例標(biāo)識(shí)集合中篩選出的局部的測(cè)試用例標(biāo)識(shí)。部分測(cè)試用例標(biāo)識(shí)中測(cè)試用例標(biāo)識(shí)的數(shù)量,小于測(cè)試用例標(biāo)識(shí)集合中測(cè)試用例標(biāo)識(shí)的數(shù)量。通過(guò)篩選出部分測(cè)試用例標(biāo)識(shí),可以實(shí)現(xiàn)測(cè)試用例精簡(jiǎn)。具體地,服務(wù)器可將測(cè)試用例標(biāo)識(shí)子集發(fā)送至終端,由終端顯示測(cè)試用例標(biāo)識(shí)子集,并獲取針對(duì)顯示的測(cè)試用例標(biāo)識(shí)子集的選擇指令,根據(jù)選擇指令選擇部分測(cè)試用例標(biāo)識(shí)。進(jìn)一步地,服務(wù)器可以將篩選出的部分測(cè)試用例標(biāo)識(shí)存儲(chǔ)在本地。服務(wù)器也可以將篩選出的部分測(cè)試用例標(biāo)識(shí)發(fā)送至終端,實(shí)現(xiàn)向終端推薦精簡(jiǎn)的測(cè)試用例。上述測(cè)試用例處理方法,獲取測(cè)試用例標(biāo)識(shí)集合和被測(cè)函數(shù)標(biāo)識(shí)集合后,確定每個(gè)測(cè)試用例標(biāo)識(shí)相對(duì)于被測(cè)函數(shù)標(biāo)識(shí)集合的測(cè)試覆蓋關(guān)系,該測(cè)試覆蓋關(guān)系反映了該測(cè)試用例標(biāo)識(shí)表示的測(cè)試用例,對(duì)于被測(cè)函數(shù)標(biāo)識(shí)集合所表示的被測(cè)函數(shù)的覆蓋情況。利用測(cè)試覆蓋關(guān)系之間的相似度進(jìn)行聚類,得到若干測(cè)試用例標(biāo)識(shí)子集。根據(jù)測(cè)試用例標(biāo)識(shí)子集篩選出部分測(cè)試用例標(biāo)識(shí),以對(duì)測(cè)試用例標(biāo)識(shí)集合進(jìn)行精簡(jiǎn)。利用精簡(jiǎn)后得到的測(cè)試用例標(biāo)識(shí)所對(duì)應(yīng)的測(cè)試用例對(duì)被測(cè)程序進(jìn)行測(cè)試,不僅可以保證測(cè)試覆蓋率,還能提高測(cè)試效率。如圖4所示,在一個(gè)實(shí)施例中,步驟S304包括如下步驟:S402,對(duì)于測(cè)試用例標(biāo)識(shí)集合中的每個(gè)測(cè)試用例標(biāo)識(shí),分別判斷與被測(cè)函數(shù)標(biāo)識(shí)集合中的每個(gè)被測(cè)函數(shù)標(biāo)識(shí)是否存在測(cè)試對(duì)應(yīng)關(guān)系。其中,測(cè)試用例標(biāo)識(shí)與被測(cè)函數(shù)標(biāo)識(shí)之間存在測(cè)試對(duì)應(yīng)關(guān)系,表示該測(cè)試用例標(biāo)識(shí)所對(duì)應(yīng)的測(cè)試用例能夠?qū)崿F(xiàn)對(duì)該被測(cè)函數(shù)的測(cè)試。該被測(cè)函數(shù)可以存在于該測(cè)試用例中。測(cè)試用例標(biāo)識(shí)與被測(cè)函數(shù)標(biāo)識(shí)之間不存在測(cè)試對(duì)應(yīng)關(guān)系,則表示該測(cè)試用例標(biāo)識(shí)所對(duì)應(yīng)的測(cè)試用例不能夠?qū)崿F(xiàn)對(duì)該被測(cè)函數(shù)的測(cè)試。具體地,服務(wù)器可遍歷測(cè)試用例標(biāo)識(shí)集合中的每個(gè)測(cè)試用例標(biāo)識(shí),遍歷至某測(cè)試用例標(biāo)識(shí)時(shí),對(duì)應(yīng)于遍歷至的該測(cè)試用例標(biāo)識(shí),再遍歷被測(cè)函數(shù)標(biāo)識(shí)集合中的每個(gè)被測(cè)函數(shù)標(biāo)識(shí),從而判斷遍歷至的測(cè)試用例標(biāo)識(shí)和遍歷至的被測(cè)函數(shù)標(biāo)識(shí)是否存在測(cè)試對(duì)應(yīng)關(guān)系。進(jìn)一步地,服務(wù)器在判斷一個(gè)測(cè)試用例標(biāo)識(shí)和一個(gè)被測(cè)函數(shù)標(biāo)識(shí)是否存在測(cè)試對(duì)應(yīng)關(guān)系時(shí),具體可判斷該測(cè)試用例標(biāo)識(shí)所標(biāo)識(shí)的測(cè)試用例中是否存在對(duì)該被測(cè)函數(shù)標(biāo)識(shí)的調(diào)用;若存在則可以判定存在測(cè)試對(duì)應(yīng)關(guān)系;若不存在則可判定不存在測(cè)試對(duì)應(yīng)關(guān)系。在一個(gè)實(shí)施例中,服務(wù)器也可以對(duì)于測(cè)試用例標(biāo)識(shí)集合中的每個(gè)測(cè)試用例標(biāo)識(shí),分別在預(yù)設(shè)的測(cè)試對(duì)應(yīng)關(guān)系集合中,查詢與被測(cè)函數(shù)標(biāo)識(shí)集合中的每個(gè)被測(cè)函數(shù)標(biāo)識(shí)是否存在測(cè)試對(duì)應(yīng)關(guān)系。S404,根據(jù)是否存在測(cè)試對(duì)應(yīng)關(guān)系的判斷結(jié)果,確定與測(cè)試用例標(biāo)識(shí)集合中的每個(gè)測(cè)試用例標(biāo)識(shí)相應(yīng)的針對(duì)被測(cè)函數(shù)標(biāo)識(shí)集合的測(cè)試覆蓋關(guān)系。具體地,服務(wù)器在判斷出每個(gè)測(cè)試用例標(biāo)識(shí)與每個(gè)被測(cè)函數(shù)標(biāo)識(shí)是否存在測(cè)試對(duì)應(yīng)關(guān)系后,可以將對(duì)應(yīng)相同測(cè)試用例標(biāo)識(shí)的是否存在測(cè)試對(duì)應(yīng)關(guān)系的判斷結(jié)果整合,得到對(duì)應(yīng)該相同測(cè)試用例標(biāo)識(shí)的、且針對(duì)被測(cè)函數(shù)標(biāo)識(shí)集合的測(cè)試覆蓋關(guān)系。本實(shí)施例中,可準(zhǔn)確地衡量測(cè)試覆蓋關(guān)系,根據(jù)該測(cè)試覆蓋關(guān)系可以準(zhǔn)確地從測(cè)試用例標(biāo)識(shí)集合中篩選出部分測(cè)試用例標(biāo)識(shí),提高了測(cè)試用例精簡(jiǎn)的準(zhǔn)確性和效率。如圖5所示,在一個(gè)實(shí)施例中,步驟S402具體包括如下步驟:S502,獲取測(cè)試用例標(biāo)識(shí)和被測(cè)函數(shù)標(biāo)識(shí)之間的根據(jù)歷史測(cè)試記錄確定的測(cè)試對(duì)應(yīng)關(guān)系集合。其中,歷史測(cè)試記錄,是執(zhí)行本實(shí)施例的測(cè)試用例處理方法之前,對(duì)被測(cè)程序進(jìn)行測(cè)試時(shí)保留的相關(guān)記錄。歷史測(cè)試記錄至少直接或間接記錄了測(cè)試用例標(biāo)識(shí)和被測(cè)函數(shù)標(biāo)識(shí)之間的測(cè)試對(duì)應(yīng)關(guān)系。具體地,服務(wù)器可預(yù)先收集歷史測(cè)試記錄,從而從歷史測(cè)試記錄中提取測(cè)試用例標(biāo)識(shí)和被測(cè)函數(shù)標(biāo)識(shí)之間的測(cè)試對(duì)應(yīng)關(guān)系,構(gòu)成測(cè)試對(duì)應(yīng)關(guān)系集合。該測(cè)試對(duì)應(yīng)關(guān)系集合包括了若干測(cè)試對(duì)應(yīng)關(guān)系。每個(gè)測(cè)試對(duì)應(yīng)關(guān)系可用存在測(cè)試對(duì)應(yīng)關(guān)系的測(cè)試用例標(biāo)識(shí)和被測(cè)函數(shù)標(biāo)識(shí)之間的映射關(guān)系表示。S504,對(duì)于測(cè)試用例標(biāo)識(shí)集合中的每個(gè)測(cè)試用例標(biāo)識(shí),分別在測(cè)試對(duì)應(yīng)關(guān)系集合中,查詢與被測(cè)函數(shù)標(biāo)識(shí)集合中的每個(gè)被測(cè)函數(shù)標(biāo)識(shí)是否存在測(cè)試對(duì)應(yīng)關(guān)系。具體地,服務(wù)器可遍歷測(cè)試用例標(biāo)識(shí)集合中的每個(gè)測(cè)試用例標(biāo)識(shí),遍歷至某測(cè)試用例標(biāo)識(shí)時(shí),對(duì)應(yīng)于遍歷至的該測(cè)試用例標(biāo)識(shí),再遍歷被測(cè)函數(shù)標(biāo)識(shí)集合中的每個(gè)被測(cè)函數(shù)標(biāo)識(shí),從而判斷遍歷至的測(cè)試用例標(biāo)識(shí)和遍歷至的被測(cè)函數(shù)標(biāo)識(shí)的測(cè)試對(duì)應(yīng)關(guān)系是否存在于測(cè)試對(duì)應(yīng)關(guān)系集合中。若存在,則可判定遍歷至的測(cè)試用例標(biāo)識(shí)和遍歷至的被測(cè)函數(shù)標(biāo)識(shí)存在測(cè)試對(duì)應(yīng)關(guān)系。若不存在,則可判定該遍歷至的測(cè)試用例標(biāo)識(shí)和遍歷至的被測(cè)函數(shù)標(biāo)識(shí)不存在對(duì)應(yīng)關(guān)系。本實(shí)施例中,根據(jù)歷史測(cè)試記錄確可以確定測(cè)試對(duì)應(yīng)關(guān)系集合,從而可以據(jù)此高效地查詢測(cè)試用例標(biāo)識(shí)和被測(cè)函數(shù)標(biāo)識(shí)之間的測(cè)試對(duì)應(yīng)關(guān)系,從而進(jìn)一步提高精簡(jiǎn)測(cè)試用例的效率。在一個(gè)實(shí)施例中,步驟S308包括:從每個(gè)測(cè)試用例標(biāo)識(shí)子集中選擇至少一個(gè)測(cè)試用例標(biāo)識(shí),獲得測(cè)試用例標(biāo)識(shí)集合中的部分測(cè)試用例標(biāo)識(shí)。具體地,服務(wù)器可遍歷每個(gè)測(cè)試用例標(biāo)識(shí)子集,若遍歷至的測(cè)試用例標(biāo)識(shí)子集中的測(cè)試用例標(biāo)識(shí)為一個(gè),則選擇該一個(gè)測(cè)試用例標(biāo)識(shí);若遍歷至的測(cè)試用例標(biāo)識(shí)子集中的測(cè)試用例標(biāo)識(shí)為多個(gè),則選擇一個(gè)或多于一個(gè)的測(cè)試用例標(biāo)識(shí)。遍歷完畢后,將每個(gè)遍歷至的測(cè)試用例標(biāo)識(shí)子集中篩選出的測(cè)試用例標(biāo)識(shí),構(gòu)成測(cè)試用例標(biāo)識(shí)集合中的部分測(cè)試用例標(biāo)識(shí)。其中,一個(gè)或多于一個(gè)的測(cè)試用例標(biāo)識(shí),可以是與相應(yīng)的測(cè)試用例標(biāo)識(shí)子集的聚類中心最近的一個(gè)或多個(gè)測(cè)試用例標(biāo)識(shí)。一個(gè)或多個(gè)測(cè)試用例標(biāo)識(shí)的數(shù)量可以是預(yù)設(shè)的,也可以是根據(jù)測(cè)試覆蓋率動(dòng)態(tài)確定的。測(cè)試覆蓋率,表示與篩選出的部分測(cè)試用例標(biāo)識(shí)存在測(cè)試對(duì)應(yīng)關(guān)系的測(cè)試用例標(biāo)識(shí),占測(cè)試用例標(biāo)識(shí)集合的比例。本實(shí)施例中,從每個(gè)測(cè)試用例標(biāo)識(shí)子集中選擇至少一個(gè)測(cè)試用例標(biāo)識(shí),獲得測(cè)試用例標(biāo)識(shí)集合中的部分測(cè)試用例標(biāo)識(shí),可以盡可能保證足夠大的測(cè)試覆蓋率,并實(shí)現(xiàn)測(cè)試用例精簡(jiǎn),提高測(cè)試效率。在一個(gè)實(shí)施例中,步驟S308包括:對(duì)于包括多于一個(gè)的測(cè)試用例標(biāo)識(shí)的測(cè)試用例標(biāo)識(shí)子集,從指定數(shù)量為1起,從每個(gè)測(cè)試用例標(biāo)識(shí)子集中挑選指定數(shù)量的測(cè)試用例標(biāo)識(shí),與僅包括一個(gè)測(cè)試用例標(biāo)識(shí)的測(cè)試用例標(biāo)識(shí)子集構(gòu)成部分測(cè)試用例標(biāo)識(shí),計(jì)算測(cè)試覆蓋率。若測(cè)試覆蓋率達(dá)到預(yù)設(shè)值則停止,若測(cè)試覆蓋率未達(dá)到預(yù)設(shè)值則將指定數(shù)量自增1后,繼續(xù)從每個(gè)測(cè)試用例標(biāo)識(shí)子集中挑選指定數(shù)量的測(cè)試用例標(biāo)識(shí),與僅包括一個(gè)測(cè)試用例標(biāo)識(shí)的測(cè)試用例標(biāo)識(shí)子集構(gòu)成部分測(cè)試用例標(biāo)識(shí),計(jì)算測(cè)試覆蓋率,直至測(cè)試覆蓋率達(dá)到預(yù)設(shè)值時(shí)停止。如圖6所示,在一個(gè)實(shí)施例中,步驟S306包括以下步驟:S602,獲取表示每個(gè)測(cè)試用例標(biāo)識(shí)所對(duì)應(yīng)的測(cè)試覆蓋關(guān)系的數(shù)值化對(duì)象。其中,數(shù)值化對(duì)象,是將測(cè)試覆蓋關(guān)系數(shù)值化后的數(shù)據(jù)。對(duì)于每個(gè)測(cè)試用例標(biāo)識(shí),存在與之一一對(duì)應(yīng)的數(shù)值化對(duì)象,表示與該測(cè)試用例標(biāo)識(shí)一一對(duì)應(yīng)的測(cè)試覆蓋關(guān)系。數(shù)值化對(duì)象具體可以是坐標(biāo)點(diǎn)、向量或者二值化序列。坐標(biāo)點(diǎn)和向量中各個(gè)維度的取值可以是兩種值中的一種。在一個(gè)實(shí)施例中,步驟S602包括:獲取分別表示每個(gè)測(cè)試覆蓋關(guān)系的坐標(biāo)點(diǎn),坐標(biāo)點(diǎn)的維度的數(shù)量等于被測(cè)函數(shù)標(biāo)識(shí)集合中被測(cè)函數(shù)標(biāo)識(shí)的數(shù)量,且每個(gè)維度在相應(yīng)的被測(cè)函數(shù)標(biāo)識(shí)與坐標(biāo)點(diǎn)對(duì)應(yīng)的測(cè)試用例標(biāo)識(shí)之間存在或者不存在測(cè)試對(duì)應(yīng)關(guān)系時(shí)分別取不同的數(shù)值。舉例說(shuō)明,假設(shè)每個(gè)測(cè)試用例標(biāo)識(shí)所對(duì)應(yīng)的測(cè)試覆蓋關(guān)系如下表一:case\funcfunc1func2func3func4…funcMcase11001…1case20011…1case31101…1case41000…0case51101…0…………………caseN0011…1上表一中,case1~caseN均為測(cè)試用例標(biāo)識(shí),構(gòu)成包括N個(gè)測(cè)試用例標(biāo)識(shí)的測(cè)試用例標(biāo)識(shí)集合,N為大于1的正整數(shù)。func1~funcM均為被測(cè)函數(shù)標(biāo)識(shí),構(gòu)成包括M個(gè)被測(cè)函數(shù)標(biāo)識(shí)的被測(cè)函數(shù)標(biāo)識(shí)集合。上述表一的行列交叉處的數(shù)值,表示相應(yīng)的測(cè)試用例標(biāo)識(shí)與相應(yīng)的被測(cè)函數(shù)標(biāo)識(shí)之間是否存在測(cè)試對(duì)應(yīng)關(guān)系,用兩種數(shù)值分別表示存在和不存在測(cè)試對(duì)應(yīng)關(guān)系。比如當(dāng)數(shù)值為1時(shí)可表示存在測(cè)試對(duì)應(yīng)關(guān)系,當(dāng)數(shù)值為0時(shí)表示不存在測(cè)試對(duì)應(yīng)關(guān)系。對(duì)應(yīng)于case1,可按照指定的被測(cè)函數(shù)標(biāo)識(shí)排序,將相應(yīng)的是否存在對(duì)應(yīng)關(guān)系的判斷結(jié)果數(shù)值化,構(gòu)成坐標(biāo)點(diǎn)(1,0,0,1,…,1),或構(gòu)成向量[1001…1],或構(gòu)成二值化序列1001…1。其中,坐標(biāo)點(diǎn)的總數(shù)量為N,每個(gè)坐標(biāo)點(diǎn)的維度數(shù)量為M,每個(gè)維度取1和0中的一種,表示相應(yīng)的測(cè)試用例標(biāo)識(shí)和相應(yīng)的被測(cè)函數(shù)標(biāo)識(shí)是否存在測(cè)試對(duì)應(yīng)關(guān)系。S604,將數(shù)值化對(duì)象按照數(shù)值化對(duì)象之間的相似度進(jìn)行聚類,獲得多于一個(gè)的數(shù)值化對(duì)象聚類簇。具體地,當(dāng)數(shù)值化對(duì)象為坐標(biāo)點(diǎn)時(shí),數(shù)值化對(duì)象之間的相似度可采用坐標(biāo)點(diǎn)之間的歐式距離表示,相應(yīng)的數(shù)值化對(duì)象聚類簇為坐標(biāo)點(diǎn)聚類簇。當(dāng)數(shù)值化對(duì)象為向量時(shí),數(shù)值化對(duì)象之間的相似度可采用向量之間的余弦相似度,相應(yīng)的數(shù)值化對(duì)象聚類簇為向量聚類簇。當(dāng)數(shù)值化對(duì)象為二值化序列時(shí),數(shù)值化對(duì)象之間的相似度可采用漢明距離,相應(yīng)的數(shù)值化對(duì)象聚類簇為二值化序列聚類簇。S606,根據(jù)數(shù)值化對(duì)象聚類簇獲得相應(yīng)的測(cè)試用例標(biāo)識(shí)子集。具體地,在確定數(shù)值化對(duì)象聚類簇后,可根據(jù)數(shù)值化對(duì)象與測(cè)試用例標(biāo)識(shí)之間的一一對(duì)應(yīng)關(guān)系,將數(shù)值化對(duì)象聚類簇轉(zhuǎn)化為測(cè)試用例標(biāo)識(shí)子集。進(jìn)一步地,服務(wù)器可獲取每個(gè)數(shù)值化對(duì)象聚類簇中的數(shù)值化對(duì)象所對(duì)應(yīng)的測(cè)試用例標(biāo)識(shí),構(gòu)成與每個(gè)數(shù)值化對(duì)象聚類簇相應(yīng)的測(cè)試用例標(biāo)識(shí)子集。本實(shí)施例中,將測(cè)試覆蓋關(guān)系數(shù)值化后進(jìn)行聚類,可高效地對(duì)數(shù)值化對(duì)象進(jìn)行聚類,從而高效地得到測(cè)試用例標(biāo)識(shí)子集,提高精簡(jiǎn)測(cè)試用例的效率。如圖7所示,在一個(gè)實(shí)施例中,步驟S604具體包括如下步驟:S702,將數(shù)值化對(duì)象按照數(shù)值化對(duì)象之間的相似度劃分為兩個(gè)數(shù)值化對(duì)象聚類簇,得到每個(gè)數(shù)值化對(duì)象聚類簇的聚類中心。具體地,服務(wù)器可將所有的數(shù)值化對(duì)象作為一個(gè)數(shù)值化對(duì)象聚類簇,求取該數(shù)值化對(duì)象聚類簇的聚類中心。服務(wù)器將該數(shù)值化對(duì)象聚類簇劃分為兩個(gè)數(shù)值化對(duì)象聚類簇,并得到劃分出的兩個(gè)數(shù)值化對(duì)象聚類簇各自的聚類中心。具體地,服務(wù)器可將所有的坐標(biāo)點(diǎn)構(gòu)成一個(gè)坐標(biāo)點(diǎn)聚類簇,求取坐標(biāo)點(diǎn)聚類簇中所有坐標(biāo)點(diǎn)的均值得到作為聚類中心的中心坐標(biāo)點(diǎn)。服務(wù)器進(jìn)而將該一個(gè)坐標(biāo)點(diǎn)聚類簇劃分為兩個(gè)坐標(biāo)點(diǎn)聚類簇,并計(jì)算劃分出的每個(gè)坐標(biāo)點(diǎn)聚類簇的中心坐標(biāo)點(diǎn)作為相應(yīng)的聚類中心。S704,當(dāng)數(shù)值化對(duì)象聚類簇的總數(shù)少于預(yù)設(shè)數(shù)量時(shí),輪次將每個(gè)數(shù)值化對(duì)象聚類簇按照數(shù)值化對(duì)象之間的相似度劃分為兩個(gè)候選聚類簇,得到每個(gè)候選聚類簇的聚類中心。具體地,服務(wù)器可獲取當(dāng)前數(shù)值化對(duì)象聚類簇的總數(shù)k,與預(yù)設(shè)數(shù)量K比較。當(dāng)k<K時(shí),輪次對(duì)當(dāng)前每個(gè)數(shù)值化對(duì)象聚類簇進(jìn)行一分為二的劃分,每次劃分所針對(duì)的數(shù)值化對(duì)象聚類簇都劃分出兩個(gè)候選聚類簇。其中,預(yù)設(shè)數(shù)量可取測(cè)試用例標(biāo)識(shí)集合中測(cè)試用例標(biāo)識(shí)總數(shù)的10%~50%.S706,根據(jù)候選聚類簇和相應(yīng)的聚類中心,和未劃分的數(shù)值化對(duì)象聚類簇及相應(yīng)的聚類中心,計(jì)算方差和。具體地,服務(wù)器可將候選聚類簇和當(dāng)次未劃分的數(shù)值化對(duì)象聚類簇作為當(dāng)前所有的數(shù)值化對(duì)象聚類簇,根據(jù)每個(gè)數(shù)值化對(duì)象聚類簇和相應(yīng)的聚類中心計(jì)算相應(yīng)的方差,將每個(gè)計(jì)算出的方差求和得到方差和。舉例說(shuō)明,假設(shè)當(dāng)前有k個(gè)坐標(biāo)點(diǎn)聚類簇,分別對(duì)每個(gè)坐標(biāo)點(diǎn)聚類簇進(jìn)行一分為二的劃分,則的到2個(gè)候選聚類簇,加上當(dāng)次未劃分的k-1個(gè)坐標(biāo)點(diǎn)聚類簇,構(gòu)成k+1個(gè)聚類簇和相應(yīng)的聚類中心。計(jì)算該k+1個(gè)聚類簇的方差和。S708,將對(duì)應(yīng)最小方差和的候選聚類簇作為本次劃分出的數(shù)值化對(duì)象聚類簇。具體地,服務(wù)器可從計(jì)算出的方差和中,找出最小的方差和,從而將與該最小的方差和對(duì)應(yīng)的候選聚類簇作為本次劃分出的數(shù)值化對(duì)象聚類簇。其它劃分方式則丟棄。執(zhí)行步驟S708后,繼續(xù)判斷數(shù)值化對(duì)象聚類簇的總數(shù)是否少于預(yù)設(shè)數(shù)量。S710,當(dāng)數(shù)值化對(duì)象聚類簇的總數(shù)等于預(yù)設(shè)數(shù)量時(shí),輸出當(dāng)前所有的數(shù)值化對(duì)象聚類簇。具體地,服務(wù)器可獲取當(dāng)前數(shù)值化對(duì)象聚類簇的總數(shù)k,與預(yù)設(shè)數(shù)量K比較。當(dāng)k=K時(shí),直接輸出當(dāng)前所有的數(shù)值化對(duì)象聚類簇。本實(shí)施例中,根據(jù)數(shù)值化對(duì)象之間的相似度,從少到多逐步劃分出預(yù)設(shè)數(shù)量的數(shù)值化對(duì)象聚類簇,可以保證相同數(shù)值化對(duì)象聚類簇內(nèi)的數(shù)值化對(duì)象足夠相似,不同數(shù)值化對(duì)象聚類簇之間的數(shù)值化對(duì)象足夠差異化,從而在精簡(jiǎn)測(cè)試用例時(shí)可以盡可能保證測(cè)試覆蓋率。如圖8所示,在一個(gè)實(shí)施例中,輪次將每個(gè)數(shù)值化對(duì)象聚類簇按照數(shù)值化對(duì)象之間的相似度劃分為兩個(gè)候選聚類簇,得到每個(gè)候選聚類簇的聚類中心具體的步驟,包括如下步驟:S802,輪次在每個(gè)數(shù)值化對(duì)象聚類簇中,隨機(jī)選擇兩個(gè)數(shù)值化對(duì)象作為需劃分出的兩個(gè)候選聚類簇各自的聚類中心。具體地,服務(wù)器輪次執(zhí)行步驟S802至步驟S808或S810。服務(wù)器在當(dāng)次劃分所針對(duì)的數(shù)值化對(duì)象聚類簇中,隨機(jī)選擇兩個(gè)數(shù)值化對(duì)象,該兩個(gè)數(shù)值化對(duì)象假設(shè)為兩個(gè)候選聚類簇各自的聚類中心。S804,將當(dāng)次的數(shù)值化對(duì)象聚類簇中的數(shù)值化對(duì)象,歸類到相似度最高的聚類中心所屬的候選聚類簇。具體地,作為聚類中心的兩個(gè)數(shù)值化對(duì)象,自然屬于相應(yīng)的候選聚類簇。對(duì)于數(shù)值化對(duì)象聚類簇中除去兩個(gè)聚類中心的其它數(shù)值化對(duì)象,則分別計(jì)算與兩個(gè)聚類中心之間的相似度,從而將這些數(shù)值化對(duì)象均歸類到與之相似度最高的聚類中心所屬的候選聚類簇。S806,計(jì)算歸類后每個(gè)候選聚類簇的聚類中心。S808,當(dāng)計(jì)算出的聚類中心與當(dāng)次歸類所用的相應(yīng)聚類中心不一致時(shí),重新執(zhí)行步驟S804。S810,當(dāng)計(jì)算出的聚類中心與當(dāng)次歸類所用的相應(yīng)聚類中心一致時(shí),輸出當(dāng)前劃分出的候選聚類簇。具體地,計(jì)算出歸類后兩個(gè)候選聚類簇各自的聚類中心后,將計(jì)算出的聚類中心分別與當(dāng)次歸類所用的兩個(gè)聚類中心中相對(duì)應(yīng)的聚類中心比較。如果經(jīng)比較不一致,說(shuō)明當(dāng)前劃分出的候選聚類簇不是最優(yōu)的,需要基于計(jì)算出的聚類中心重新劃分候選聚類簇。如果經(jīng)比較一致,則說(shuō)明當(dāng)前劃分出的候選聚類簇是最優(yōu)的,可以直接輸出。本實(shí)施例中,在從數(shù)值化對(duì)象聚類簇中劃分候選聚類簇時(shí),采用上述步驟S802至步驟S808或S810,可以找到最優(yōu)的劃分方式劃分出相應(yīng)的候選聚類簇,保證相同數(shù)值化對(duì)象聚類簇內(nèi)的數(shù)值化對(duì)象足夠相似,從而能夠有效地實(shí)現(xiàn)測(cè)試用例的精簡(jiǎn)。下面用一個(gè)具體的應(yīng)用場(chǎng)景來(lái)說(shuō)明上述測(cè)試用例處理方法的原理。參照?qǐng)D9,已知測(cè)試用例標(biāo)識(shí)集合,輸入被測(cè)函數(shù)標(biāo)識(shí)集合以及測(cè)試對(duì)應(yīng)關(guān)系集合,啟動(dòng)測(cè)試用例聚類推薦。根據(jù)測(cè)試對(duì)應(yīng)關(guān)系集合初始化,查詢測(cè)試用例標(biāo)識(shí)集合中的每個(gè)測(cè)試用例標(biāo)識(shí)與被測(cè)函數(shù)標(biāo)識(shí)集合中的每個(gè)被測(cè)函數(shù)標(biāo)識(shí)是否存在測(cè)試對(duì)應(yīng)關(guān)系,得到相應(yīng)的測(cè)試覆蓋關(guān)系;用兩種數(shù)值(1或0)來(lái)表示該測(cè)試覆蓋關(guān)系,將該測(cè)試覆蓋關(guān)系轉(zhuǎn)化為坐標(biāo)點(diǎn)。從k=1個(gè)坐標(biāo)點(diǎn)聚類簇起,通過(guò)聚類運(yùn)算選擇最合適的坐標(biāo)點(diǎn)聚類簇拆分,k自增1,直至k<K時(shí)停止聚類,輸出聚類得到的坐標(biāo)點(diǎn)聚類簇,從而得到相應(yīng)的測(cè)試用例標(biāo)識(shí)子集并推薦。圖10為一個(gè)實(shí)施例中測(cè)試用例處理裝置1000的結(jié)構(gòu)框圖。參照?qǐng)D10,測(cè)試用例處理裝置1000包括:獲取模塊1001、測(cè)試覆蓋關(guān)系確定模塊1002、聚類模塊1003和測(cè)試用例篩選模塊1004。獲取模塊1001,用于獲取測(cè)試用例標(biāo)識(shí)集合和被測(cè)函數(shù)標(biāo)識(shí)集合。測(cè)試覆蓋關(guān)系確定模塊1002,用于對(duì)于測(cè)試用例標(biāo)識(shí)集合中的每個(gè)測(cè)試用例標(biāo)識(shí),確定針對(duì)被測(cè)函數(shù)標(biāo)識(shí)集合的測(cè)試覆蓋關(guān)系。聚類模塊1003,用于將測(cè)試用例標(biāo)識(shí)集合中的測(cè)試用例標(biāo)識(shí),按照相應(yīng)的測(cè)試覆蓋關(guān)系之間的相似度進(jìn)行聚類,獲得多于一個(gè)的測(cè)試用例標(biāo)識(shí)子集。測(cè)試用例篩選模塊1004,用于根據(jù)測(cè)試用例標(biāo)識(shí)子集,從測(cè)試用例標(biāo)識(shí)集合中篩選出部分測(cè)試用例標(biāo)識(shí)。上述測(cè)試用例處理裝置1000,獲取測(cè)試用例標(biāo)識(shí)集合和被測(cè)函數(shù)標(biāo)識(shí)集合后,確定每個(gè)測(cè)試用例標(biāo)識(shí)相對(duì)于被測(cè)函數(shù)標(biāo)識(shí)集合的測(cè)試覆蓋關(guān)系,該測(cè)試覆蓋關(guān)系反映了該測(cè)試用例標(biāo)識(shí)表示的測(cè)試用例,對(duì)于被測(cè)函數(shù)標(biāo)識(shí)集合所表示的被測(cè)函數(shù)的覆蓋情況。利用測(cè)試覆蓋關(guān)系之間的相似度進(jìn)行聚類,得到若干測(cè)試用例標(biāo)識(shí)子集。根據(jù)測(cè)試用例標(biāo)識(shí)子集篩選出部分測(cè)試用例標(biāo)識(shí),以對(duì)測(cè)試用例標(biāo)識(shí)集合進(jìn)行精簡(jiǎn)。利用精簡(jiǎn)后得到的測(cè)試用例標(biāo)識(shí)所對(duì)應(yīng)的測(cè)試用例對(duì)被測(cè)程序進(jìn)行測(cè)試,不僅可以保證測(cè)試覆蓋率,還能提高測(cè)試效率。在一個(gè)實(shí)施例中,測(cè)試覆蓋關(guān)系確定模塊1002還用于對(duì)于測(cè)試用例標(biāo)識(shí)集合中的每個(gè)測(cè)試用例標(biāo)識(shí),分別判斷與被測(cè)函數(shù)標(biāo)識(shí)集合中的每個(gè)被測(cè)函數(shù)標(biāo)識(shí)是否存在測(cè)試對(duì)應(yīng)關(guān)系;根據(jù)與測(cè)試用例標(biāo)識(shí)集合中的每個(gè)測(cè)試用例標(biāo)識(shí)相應(yīng)的是否存在測(cè)試對(duì)應(yīng)關(guān)系的判斷結(jié)果,確定與每個(gè)測(cè)試用例標(biāo)識(shí)相應(yīng)的針對(duì)被測(cè)函數(shù)標(biāo)識(shí)集合的測(cè)試覆蓋關(guān)系。本實(shí)施例中,可準(zhǔn)確地衡量測(cè)試覆蓋關(guān)系,根據(jù)該測(cè)試覆蓋關(guān)系可以準(zhǔn)確地從測(cè)試用例標(biāo)識(shí)集合中篩選出部分測(cè)試用例標(biāo)識(shí),提高了測(cè)試用例精簡(jiǎn)的準(zhǔn)確性和效率。在一個(gè)實(shí)施例中,測(cè)試覆蓋關(guān)系確定模塊1002還用于獲取測(cè)試用例標(biāo)識(shí)和被測(cè)函數(shù)標(biāo)識(shí)之間的根據(jù)歷史測(cè)試記錄確定的測(cè)試對(duì)應(yīng)關(guān)系集合;對(duì)于測(cè)試用例標(biāo)識(shí)集合中的每個(gè)測(cè)試用例標(biāo)識(shí),分別在測(cè)試對(duì)應(yīng)關(guān)系集合中,查詢與被測(cè)函數(shù)標(biāo)識(shí)集合中的每個(gè)被測(cè)函數(shù)標(biāo)識(shí)是否存在測(cè)試對(duì)應(yīng)關(guān)系。本實(shí)施例中,根據(jù)歷史測(cè)試記錄確可以確定測(cè)試對(duì)應(yīng)關(guān)系集合,從而可以據(jù)此高效地查詢測(cè)試用例標(biāo)識(shí)和被測(cè)函數(shù)標(biāo)識(shí)之間的測(cè)試對(duì)應(yīng)關(guān)系,從而進(jìn)一步提高精簡(jiǎn)測(cè)試用例的效率。在一個(gè)實(shí)施例中,測(cè)試用例篩選模塊1004還用于從每個(gè)測(cè)試用例標(biāo)識(shí)子集中選擇至少一個(gè)測(cè)試用例標(biāo)識(shí),獲得測(cè)試用例標(biāo)識(shí)集合中的部分測(cè)試用例標(biāo)識(shí)。本實(shí)施例中,從每個(gè)測(cè)試用例標(biāo)識(shí)子集中選擇至少一個(gè)測(cè)試用例標(biāo)識(shí),獲得測(cè)試用例標(biāo)識(shí)集合中的部分測(cè)試用例標(biāo)識(shí),可以盡可能保證足夠大的測(cè)試覆蓋率,并實(shí)現(xiàn)測(cè)試用例精簡(jiǎn),提高測(cè)試效率。在一個(gè)實(shí)施例中,聚類模塊1003還用于獲取表示每個(gè)測(cè)試用例標(biāo)識(shí)所對(duì)應(yīng)的測(cè)試覆蓋關(guān)系的數(shù)值化對(duì)象;將數(shù)值化對(duì)象按照數(shù)值化對(duì)象之間的相似度進(jìn)行聚類,獲得多于一個(gè)的數(shù)值化對(duì)象聚類簇;根據(jù)數(shù)值化對(duì)象聚類簇獲得相應(yīng)的測(cè)試用例標(biāo)識(shí)子集。本實(shí)施例中,將測(cè)試覆蓋關(guān)系數(shù)值化后進(jìn)行聚類,可高效地對(duì)數(shù)值化對(duì)象進(jìn)行聚類,從而高效地得到測(cè)試用例標(biāo)識(shí)子集,提高精簡(jiǎn)測(cè)試用例的效率。在一個(gè)實(shí)施例中,數(shù)值化對(duì)象為坐標(biāo)點(diǎn),數(shù)值化對(duì)象之間的相似度為坐標(biāo)點(diǎn)之間的歐式距離,數(shù)值化對(duì)象聚類簇為坐標(biāo)點(diǎn)聚類簇。在一個(gè)實(shí)施例中,測(cè)試覆蓋關(guān)系,表示相應(yīng)的測(cè)試用例標(biāo)識(shí)與被測(cè)函數(shù)標(biāo)識(shí)集合中的每個(gè)被測(cè)函數(shù)標(biāo)識(shí)是否存在測(cè)試對(duì)應(yīng)關(guān)系。聚類模塊1003還用于獲取分別表示每個(gè)測(cè)試覆蓋關(guān)系的坐標(biāo)點(diǎn),坐標(biāo)點(diǎn)的維度的數(shù)量等于被測(cè)函數(shù)標(biāo)識(shí)集合中被測(cè)函數(shù)標(biāo)識(shí)的數(shù)量,且每個(gè)維度在相應(yīng)的被測(cè)函數(shù)標(biāo)識(shí)與坐標(biāo)點(diǎn)對(duì)應(yīng)的測(cè)試用例標(biāo)識(shí)之間存在或者不存在測(cè)試對(duì)應(yīng)關(guān)系時(shí)分別取不同的數(shù)值。在一個(gè)實(shí)施例中,聚類模塊1003還用于將數(shù)值化對(duì)象按照數(shù)值化對(duì)象之間的相似度劃分為兩個(gè)數(shù)值化對(duì)象聚類簇,得到每個(gè)數(shù)值化對(duì)象聚類簇的聚類中心;當(dāng)數(shù)值化對(duì)象聚類簇的總數(shù)少于預(yù)設(shè)數(shù)量時(shí),輪次將每個(gè)數(shù)值化對(duì)象聚類簇按照數(shù)值化對(duì)象之間的相似度劃分為兩個(gè)候選聚類簇,得到每個(gè)候選聚類簇的聚類中心;根據(jù)候選聚類簇和相應(yīng)的聚類中心,和未劃分的數(shù)值化對(duì)象聚類簇及相應(yīng)的聚類中心,計(jì)算方差和;將對(duì)應(yīng)最小方差和的候選聚類簇作為本次劃分出的數(shù)值化對(duì)象聚類簇;當(dāng)數(shù)值化對(duì)象聚類簇的總數(shù)等于預(yù)設(shè)數(shù)量時(shí),輸出當(dāng)前所有的數(shù)值化對(duì)象聚類簇。本實(shí)施例中,根據(jù)數(shù)值化對(duì)象之間的相似度,從少到多逐步劃分出預(yù)設(shè)數(shù)量的數(shù)值化對(duì)象聚類簇,可以保證相同數(shù)值化對(duì)象聚類簇內(nèi)的數(shù)值化對(duì)象足夠相似,不同數(shù)值化對(duì)象聚類簇之間的數(shù)值化對(duì)象足夠差異化,從而在精簡(jiǎn)測(cè)試用例時(shí)可以盡可能保證測(cè)試覆蓋率。在一個(gè)實(shí)施例中,聚類模塊1003還用于輪次在每個(gè)數(shù)值化對(duì)象聚類簇中,隨機(jī)選擇兩個(gè)數(shù)值化對(duì)象作為需劃分出的兩個(gè)候選聚類簇各自的聚類中心;將當(dāng)次的數(shù)值化對(duì)象聚類簇中的數(shù)值化對(duì)象,歸類到相似度最高的聚類中心所屬的候選聚類簇;計(jì)算歸類后每個(gè)候選聚類簇的聚類中心;當(dāng)計(jì)算出的聚類中心與當(dāng)次歸類所用的相應(yīng)聚類中心不一致時(shí),重新執(zhí)行將當(dāng)次的數(shù)值化對(duì)象聚類簇中的數(shù)值化對(duì)象,歸類到相似度最高的聚類中心所屬的候選聚類簇;當(dāng)計(jì)算出的聚類中心與當(dāng)次歸類所用的相應(yīng)聚類中心一致時(shí),輸出當(dāng)前劃分出的候選聚類簇。本實(shí)施例中,可以找到最優(yōu)的劃分方式劃分出相應(yīng)的候選聚類簇,保證相同數(shù)值化對(duì)象聚類簇內(nèi)的數(shù)值化對(duì)象足夠相似,從而能夠有效地實(shí)現(xiàn)測(cè)試用例的精簡(jiǎn)。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過(guò)計(jì)算機(jī)程序來(lái)指令相關(guān)的硬件來(lái)完成,該計(jì)算機(jī)程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,前述的存儲(chǔ)介質(zhì)可為磁碟、光盤(pán)、只讀存儲(chǔ)記憶體(Read-OnlyMemory,ROM)等非易失性存儲(chǔ)介質(zhì),或隨機(jī)存儲(chǔ)記憶體(RandomAccessMemory,RAM)等。以上實(shí)施例的各技術(shù)特征可以進(jìn)行任意的組合,為使描述簡(jiǎn)潔,未對(duì)上述實(shí)施例中的各個(gè)技術(shù)特征所有可能的組合都進(jìn)行描述,然而,只要這些技術(shù)特征的組合不存在矛盾,都應(yīng)當(dāng)認(rèn)為是本說(shuō)明書(shū)記載的范圍。以上實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。當(dāng)前第1頁(yè)1 2 3 
當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1