本技術(shù)涉及軟件測(cè)試,特別涉及一種測(cè)試用例的生成方法、系統(tǒng)、設(shè)備及介質(zhì)。
背景技術(shù):
1、物聯(lián)網(wǎng)連接平臺(tái)作為連接物與物、物與人的關(guān)鍵樞紐,其穩(wěn)定性和安全性對(duì)于整個(gè)物聯(lián)網(wǎng)系統(tǒng)至關(guān)重要。然而,隨著物聯(lián)網(wǎng)設(shè)備的不斷增加和功能的不斷豐富,物聯(lián)網(wǎng)連接平臺(tái)的復(fù)雜性和多樣性也不斷增加,其給物聯(lián)網(wǎng)連接平臺(tái)的測(cè)試工作帶來(lái)了極大的挑戰(zhàn)。
2、目前,傳統(tǒng)的軟件測(cè)試方法通常是由測(cè)試人員編寫出供物聯(lián)網(wǎng)連接平臺(tái)執(zhí)行的測(cè)試用例,該種方式需要測(cè)試人員耗費(fèi)大量時(shí)間和精力編寫測(cè)試用例,測(cè)試人員的工作量較大,耗時(shí)和成本較高,且往往難以保證測(cè)試的全面性和準(zhǔn)確性。
3、因此,現(xiàn)有技術(shù)存在的問(wèn)題還亟需解決和優(yōu)化。
技術(shù)實(shí)現(xiàn)思路
1、為解決上述技術(shù)問(wèn)題的至少之一,本技術(shù)提供了一種測(cè)試用例的生成方法、系統(tǒng)、設(shè)備及介質(zhì),該方法可以有效減少測(cè)試用例生成所需的耗時(shí)和成本,有利于提高測(cè)試用例的全面性和準(zhǔn)確性。
2、根據(jù)本技術(shù)的第一方面,提供了一種測(cè)試用例的生成方法,包括:
3、獲取參與者的參與名稱和動(dòng)作序列,并根據(jù)所述參與名稱,對(duì)所述動(dòng)作序列進(jìn)行活動(dòng)圖構(gòu)建,得到參與活動(dòng)圖;
4、對(duì)所述參與活動(dòng)圖進(jìn)行測(cè)試場(chǎng)景生成,得到若干個(gè)中間測(cè)試場(chǎng)景,所有所述中間測(cè)試場(chǎng)景的測(cè)試路徑構(gòu)成的路徑集合覆蓋所述參與活動(dòng)圖;
5、對(duì)所述參與活動(dòng)圖進(jìn)行測(cè)試數(shù)據(jù)生成,得到若干個(gè)中間測(cè)試數(shù)據(jù);
6、根據(jù)所有所述中間測(cè)試數(shù)據(jù),對(duì)所有所述中間測(cè)試場(chǎng)景進(jìn)行用例生成,得到目標(biāo)測(cè)試用例。
7、在一些實(shí)施例中,所述根據(jù)所述參與名稱,對(duì)所述動(dòng)作序列進(jìn)行活動(dòng)圖構(gòu)建,得到參與活動(dòng)圖,包括:
8、獲取預(yù)設(shè)的用例描述模板;
9、根據(jù)所述參與名稱,對(duì)所述動(dòng)作序列進(jìn)行用例圖構(gòu)建,得到參與用例圖;
10、根據(jù)所述用例描述模板,對(duì)所述參與用例圖進(jìn)行模板描述,得到所述參與用例描述;
11、對(duì)所述參與用例描述進(jìn)行邏輯分析,得到所述參與活動(dòng)圖。
12、在一些實(shí)施例中,所述對(duì)所述參與活動(dòng)圖進(jìn)行測(cè)試場(chǎng)景生成,得到若干個(gè)中間測(cè)試場(chǎng)景,包括:
13、獲取預(yù)設(shè)的有向圖轉(zhuǎn)換規(guī)則;
14、根據(jù)所述有向圖轉(zhuǎn)換規(guī)則,對(duì)所述參與活動(dòng)圖進(jìn)行有向圖轉(zhuǎn)換,得到參與有向圖;
15、對(duì)所述參與有向圖進(jìn)行有向場(chǎng)景生成,得到若干個(gè)所述中間測(cè)試場(chǎng)景。
16、在一些實(shí)施例中,所述對(duì)所述參與有向圖進(jìn)行有向場(chǎng)景生成,得到若干個(gè)所述中間測(cè)試場(chǎng)景,包括:
17、獲取適應(yīng)度優(yōu)化函數(shù)和預(yù)設(shè)的優(yōu)化目標(biāo),所述優(yōu)化目標(biāo)包括最大優(yōu)化次數(shù)和目標(biāo)個(gè)體數(shù);
18、對(duì)所述參與有向圖進(jìn)行有向圖編碼,得到編碼有向圖;
19、對(duì)所述編碼有向圖進(jìn)行種群初始化處理,得到與所述編碼有向圖對(duì)應(yīng)的編碼種群;
20、根據(jù)所述適應(yīng)度優(yōu)化函數(shù)和所述優(yōu)化目標(biāo),對(duì)所述編碼種群進(jìn)行種群優(yōu)化,得到若干個(gè)所述中間測(cè)試場(chǎng)景。
21、在一些實(shí)施例中,所述根據(jù)所述適應(yīng)度優(yōu)化函數(shù)和所述優(yōu)化目標(biāo),對(duì)所述編碼種群進(jìn)行種群優(yōu)化,得到所述中間測(cè)試場(chǎng)景,包括:
22、獲取當(dāng)前的編碼種群,以及所述當(dāng)前的編碼種群對(duì)應(yīng)的交叉算子、變異算子和選擇優(yōu)化算子;
23、根據(jù)所述交叉算子和變異算子,對(duì)所述當(dāng)前的編碼種群進(jìn)行交叉變異處理,得到第一種群;
24、根據(jù)所述適應(yīng)度優(yōu)化函數(shù),對(duì)所述第一種群進(jìn)行個(gè)體適應(yīng)度計(jì)算,得到若干個(gè)個(gè)體適應(yīng)度,每個(gè)個(gè)體適應(yīng)度對(duì)應(yīng)所述第一種群中的一個(gè)中間種群個(gè)體;
25、根據(jù)所述選擇優(yōu)化算子、所述第一種群和所有所述個(gè)體適應(yīng)度,對(duì)所述當(dāng)前的編碼種群進(jìn)行個(gè)體添加,得到第二種群和所述第二種群的種群信息,所述種群信息包括種群優(yōu)化次數(shù)和種群個(gè)體數(shù);
26、根據(jù)所述種群信息,對(duì)所述優(yōu)化目標(biāo)進(jìn)行目標(biāo)匹配,得到目標(biāo)匹配結(jié)果;
27、若所述目標(biāo)匹配結(jié)果為所述種群優(yōu)化次數(shù)小于所述最大優(yōu)化次數(shù)且所述種群個(gè)體數(shù)小于所述目標(biāo)個(gè)體數(shù),則根據(jù)所述第二種群,對(duì)所述當(dāng)前的編碼種群進(jìn)行更新,然后返回執(zhí)行獲取當(dāng)前的編碼種群,以及所述當(dāng)前的編碼種群對(duì)應(yīng)的交叉算子、變異算子和選擇優(yōu)化算子的步驟;或者,若所述目標(biāo)匹配結(jié)果為所述種群優(yōu)化次數(shù)等于所述最大優(yōu)化次數(shù)或所述種群個(gè)體數(shù)等于所述目標(biāo)個(gè)體數(shù),則根據(jù)所述第二種群,確定所述中間測(cè)試場(chǎng)景。
28、在一些實(shí)施例中,所述對(duì)所述參與活動(dòng)圖進(jìn)行測(cè)試數(shù)據(jù)生成,得到若干個(gè)中間測(cè)試數(shù)據(jù),包括:
29、獲取預(yù)設(shè)的名詞條件、邊界分類條件和所述參與活動(dòng)圖中的所有選擇分支信息;
30、根據(jù)所述名詞條件,對(duì)所有所述選擇分支信息進(jìn)行第一信息分類,得到第一分支信息和第二分支信息,所述第一分支信息為滿足所述名詞條件的選擇分支信息,所述第二分支信息為不滿足所述名詞條件的選擇分支信息;
31、對(duì)所述第一分支信息進(jìn)行詞性標(biāo)注,得到第一測(cè)試數(shù)據(jù);
32、根據(jù)所述邊界分類條件,對(duì)所述第二分支信息進(jìn)行第二信息分類及數(shù)據(jù)生成,得到第二測(cè)試數(shù)據(jù)和第三測(cè)試數(shù)據(jù);
33、整合所述第一測(cè)試數(shù)據(jù)、所述第二測(cè)試數(shù)據(jù)和所述第三測(cè)試數(shù)據(jù),得到若干個(gè)所述中間測(cè)試數(shù)據(jù)。
34、在一些實(shí)施例中,所述根據(jù)所述邊界分類條件,對(duì)所述第二分支信息進(jìn)行第二信息分類及數(shù)據(jù)生成,得到第二測(cè)試數(shù)據(jù)和第三測(cè)試數(shù)據(jù),包括:
35、根據(jù)所述邊界分類條件,對(duì)所述第二分支信息進(jìn)行第二信息分類,得到第三分支信息和第四分支信息,所述第三分支信息為滿足所述邊界分類條件的第二分支信息,所述第四分支信息為不滿足所述邊界分類條件的第二分支信息;
36、對(duì)所述第三分支信息進(jìn)行邊界分類處理,得到所述第二測(cè)試數(shù)據(jù);
37、對(duì)所述第四分支信息進(jìn)行經(jīng)驗(yàn)數(shù)據(jù)生成,得到所述第三測(cè)試數(shù)據(jù)。
38、根據(jù)本技術(shù)的第二方面,提供了一種測(cè)試用例的生成系統(tǒng),包括:
39、第一處理單元,用于獲取參與者的參與名稱和動(dòng)作序列,并根據(jù)所述參與名稱,對(duì)所述動(dòng)作序列進(jìn)行活動(dòng)圖構(gòu)建,得到參與活動(dòng)圖;
40、第二處理單元,用于對(duì)所述參與活動(dòng)圖進(jìn)行測(cè)試場(chǎng)景生成,得到若干個(gè)中間測(cè)試場(chǎng)景,所有所述中間測(cè)試場(chǎng)景的測(cè)試路徑構(gòu)成的路徑集合覆蓋所述參與活動(dòng)圖;
41、第三處理單元,用于對(duì)所述參與活動(dòng)圖進(jìn)行測(cè)試數(shù)據(jù)生成,得到若干個(gè)中間測(cè)試數(shù)據(jù);
42、第四處理單元,用于根據(jù)所有所述中間測(cè)試數(shù)據(jù),對(duì)所有所述中間測(cè)試場(chǎng)景進(jìn)行用例生成,得到目標(biāo)測(cè)試用例。
43、根據(jù)本技術(shù)的第三方面,提供了一種計(jì)算機(jī)設(shè)備,包括:
44、至少一個(gè)處理器;
45、至少一個(gè)存儲(chǔ)器,用于存儲(chǔ)至少一個(gè)程序;
46、當(dāng)所述至少一個(gè)程序被所述至少一個(gè)處理器執(zhí)行,使得所述至少一個(gè)處理器實(shí)現(xiàn)如上述任一方面所述的方法。
47、根據(jù)本技術(shù)的第四方面,提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中存儲(chǔ)有處理器可執(zhí)行的程序,所述處理器可執(zhí)行的程序在由所述處理器執(zhí)行時(shí)用于實(shí)現(xiàn)如上述任一方面所述的方法。
48、本技術(shù)實(shí)施例提供的技術(shù)方案的有益效果是:
49、本技術(shù)提供了一種測(cè)試用例的生成方法、系統(tǒng)、設(shè)備及介質(zhì),其中,該方法獲取參與者的參與名稱和動(dòng)作序列,并根據(jù)所述參與名稱,對(duì)所述動(dòng)作序列進(jìn)行活動(dòng)圖構(gòu)建,得到參與活動(dòng)圖;對(duì)所述參與活動(dòng)圖進(jìn)行測(cè)試場(chǎng)景生成,得到若干個(gè)中間測(cè)試場(chǎng)景,所有所述中間測(cè)試場(chǎng)景的測(cè)試路徑構(gòu)成的路徑集合覆蓋所述參與活動(dòng)圖;對(duì)所述參與活動(dòng)圖進(jìn)行測(cè)試數(shù)據(jù)生成,得到若干個(gè)中間測(cè)試數(shù)據(jù);根據(jù)所有所述中間測(cè)試數(shù)據(jù),對(duì)所有所述中間測(cè)試場(chǎng)景進(jìn)行用例生成,得到目標(biāo)測(cè)試用例。該方法通過(guò)對(duì)參與活動(dòng)圖進(jìn)行場(chǎng)景生成,可以生成若干個(gè)中間測(cè)試場(chǎng)景,這些中間測(cè)試場(chǎng)景的測(cè)試路徑構(gòu)成的路徑集合覆蓋參與活動(dòng)圖,其可以涵蓋物聯(lián)網(wǎng)連接平臺(tái)在正常情況下的系統(tǒng)行為和異常情況下的系統(tǒng)響應(yīng)。有效確保測(cè)試用例生成的全面性和完整性;另外,該方法通過(guò)對(duì)參與活動(dòng)圖進(jìn)行測(cè)試數(shù)據(jù)生成,可以生成與路徑集合中的每個(gè)路徑節(jié)點(diǎn)對(duì)應(yīng)的中間測(cè)試數(shù)據(jù),該中間測(cè)試數(shù)據(jù)更加符合物聯(lián)網(wǎng)連接平臺(tái)的實(shí)際業(yè)務(wù)場(chǎng)景和平臺(tái)特性,其在減少測(cè)試人員編寫測(cè)試用例的工作量的同時(shí),還可以提高測(cè)試數(shù)據(jù)的準(zhǔn)確性和有效性,從而有利于提高生成的目標(biāo)測(cè)試用例的全面性和準(zhǔn)確性。