本申請屬于物聯(lián)網(wǎng),具體涉及一種測試指令生成方法、裝置、設(shè)備及計算機(jī)程序產(chǎn)品。
背景技術(shù):
1、智能卡的種類有金融卡、物聯(lián)卡、電信卡等,隨著智能卡的快速發(fā)展,對智能卡的復(fù)雜度、安全性要求及機(jī)卡兼容性等要求日趨提高,因而對智能卡測試也提出了更高的要求。
2、相關(guān)技術(shù)中,對智能卡進(jìn)行測試時,基于智能卡平臺編寫測試腳本,然后根據(jù)測試腳本手動編寫測試套件,并利用測試套件對智能卡進(jìn)行測試,其中測試套件為apdu(application?protocol?data?unit,應(yīng)用協(xié)議數(shù)據(jù)單元)測試指令的集合。然而,手動將測試腳本整理為測試套件的過程會導(dǎo)致智能卡的測試時間過長,測試效率低的問題。
技術(shù)實現(xiàn)思路
1、本申請?zhí)岢鲆环N測試指令生成方法、裝置、設(shè)備及計算機(jī)程序產(chǎn)品,能夠緩解相關(guān)技術(shù)中手動將測試腳本整理為測試套件的過程會導(dǎo)致智能卡的測試時間過長,測試效率低的問題。
2、本申請第一方面實施例提出了一種測試指令生成方法,包括:
3、生成測試用例的抽象語法樹;
4、遍歷所述抽象語法樹,獲得所述抽象語法樹中的多個條件語句節(jié)點;
5、基于各所述條件語句節(jié)點包括的嵌套參數(shù),確定與各所述條件語句節(jié)點匹配的目標(biāo)語言學(xué)習(xí)模型;所述嵌套參數(shù)用于指示所述條件語句節(jié)點中嵌套的條件語句的層數(shù);
6、基于所述目標(biāo)語言學(xué)習(xí)模型,獲取各所述條件語句節(jié)點包括的變量;
7、基于所述變量,生成各所述條件語句節(jié)點對應(yīng)的測試代碼的測試指令;
8、基于各所述條件語句節(jié)點對應(yīng)的所述測試指令,獲得所述測試用例的最終測試指令。
9、在一個或多個實施例中,基于各所述條件語句節(jié)點包括的嵌套參數(shù),確定與各所述條件語句節(jié)點匹配的目標(biāo)語言學(xué)習(xí)模型,包括:
10、獲取預(yù)先配置的多個語言學(xué)習(xí)模型各自的變量檢索個數(shù);
11、基于所述變量檢索個數(shù),從所述多個語言學(xué)習(xí)模型中查找變量檢索個數(shù)與所述嵌套參數(shù)一致的所述目標(biāo)語言學(xué)習(xí)模型。
12、在一個或多個實施例中,基于所述變量,生成各所述條件語句節(jié)點對應(yīng)的測試代碼的測試指令,包括:
13、獲取所述變量包括的變量項和變量值;
14、設(shè)置預(yù)設(shè)的apdu指令模版包括的命令頭中,與所述變量項相同的參數(shù)項的參數(shù)值為所述變量值,獲得所述測試指令。
15、在一個或多個實施例中,基于所述目標(biāo)語言學(xué)習(xí)模型,獲取各所述條件語句節(jié)點包括的變量,包括:
16、獲取所述目標(biāo)語言學(xué)習(xí)模型輸出的與各所述條件語句節(jié)點對應(yīng)的變量關(guān)系列表;
17、從所述變量關(guān)系列表中獲取各所述條件語句節(jié)點包括的所述變量。
18、在一個或多個實施例中,遍歷所述抽象語法樹,獲得所述抽象語法樹中的多個條件語句節(jié)點,包括:
19、從所述抽象語法樹中,查找節(jié)點包括預(yù)設(shè)關(guān)鍵字的多個目標(biāo)節(jié)點;
20、將所述多個目標(biāo)節(jié)點作為所述多個條件語句節(jié)點。
21、在一個或多個實施例中,生成測試用例的抽象語法樹之前,還包括:
22、通過檢索所述測試用例的入口函數(shù),獲取所述測試用例。
23、在一個或多個實施例中,所述方法還包括:
24、在確定各所述條件語句節(jié)點匹配的目標(biāo)語言學(xué)習(xí)模型的情況下,基于所述目標(biāo)語言學(xué)習(xí)模型,獲取各所述條件語句節(jié)點包括的期望響應(yīng)數(shù)據(jù);
25、基于所述變量,生成各所述條件語句節(jié)點對應(yīng)的測試代碼的測試指令,包括:
26、基于所述變量和所述期望響應(yīng)數(shù)據(jù),生成所述測試指令。
27、本申請第二方面實施例提出了一種測試指令生成裝置,包括:
28、第一生成模塊,用于生成測試用例的抽象語法樹;
29、第一獲得模塊,用于遍歷所述抽象語法樹,獲得所述抽象語法樹中的多個條件語句節(jié)點;
30、確定模塊,用于基于各所述條件語句節(jié)點包括的嵌套參數(shù),確定與各所述條件語句節(jié)點匹配的目標(biāo)語言學(xué)習(xí)模型;所述嵌套參數(shù)用于指示所述條件語句節(jié)點中嵌套的條件語句的層數(shù);
31、獲取模塊,用于基于所述目標(biāo)語言學(xué)習(xí)模型,獲取各所述條件語句節(jié)點包括的變量;
32、第二生成模塊,用于基于所述變量,生成各所述條件語句節(jié)點對應(yīng)的測試代碼的測試指令;
33、第二獲得模塊,用于基于各所述條件語句節(jié)點對應(yīng)的所述測試指令,獲得所述測試用例的最終測試指令。
34、本申請第三方面實施例提出了一種電子設(shè)備,包括存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運(yùn)行的計算機(jī)程序,所述處理器運(yùn)行所述計算機(jī)程序以實現(xiàn)如第一方面所述的方法。
35、本申請第四方面實施例提出了一種計算機(jī)可讀存儲介質(zhì),其上存儲有計算機(jī)程序,所述程序被處理器執(zhí)行實現(xiàn)如第一方面所述的方法。
36、本申請實施例中提供的技術(shù)方案,至少具有如下技術(shù)效果或優(yōu)點:
37、在本申請實施例中,通過生成測試用例的抽象語法樹,識別抽象語法樹中的各個條件語句節(jié)點,利用各條件語句節(jié)點包括的嵌套參數(shù),確定各條件語句節(jié)點匹配的目標(biāo)語言學(xué)習(xí)模型,從而利用目標(biāo)語言學(xué)習(xí)模型識別條件語句節(jié)點包括的變量,并最終基于變量生成條件語句節(jié)點對應(yīng)的測試代碼的測試指令??梢?,借助抽象語法樹和目標(biāo)語言學(xué)習(xí)模型,實現(xiàn)了將測試用例自動轉(zhuǎn)化成測試指令,相對于相關(guān)技術(shù)中手段整理測試用例為測試指令的過程,提高了測試效率。
38、本申請附加的方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變的明顯,或通過本申請的實踐了解到。
1.一種測試指令生成方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,基于各所述條件語句節(jié)點包括的嵌套參數(shù),確定與各所述條件語句節(jié)點匹配的目標(biāo)語言學(xué)習(xí)模型,包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,基于所述變量,生成各所述條件語句節(jié)點對應(yīng)的測試代碼的測試指令,包括:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,基于所述目標(biāo)語言學(xué)習(xí)模型,獲取各所述條件語句節(jié)點包括的變量,包括:
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,遍歷所述抽象語法樹,獲得所述抽象語法樹中的多個條件語句節(jié)點,包括:
6.根據(jù)權(quán)利要求1-5任一項所述的方法,其特征在于,生成測試用例的抽象語法樹之前,還包括:
7.根據(jù)權(quán)利要求1-5任一項所述的方法,其特征在于,所述方法還包括:
8.一種測試指令生成裝置,其特征在于,包括:
9.一種電子設(shè)備,包括存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運(yùn)行的計算機(jī)程序,其特征在于,所述處理器運(yùn)行所述計算機(jī)程序以實現(xiàn)如權(quán)利要求1-7任一項所述的方法。
10.一種計算機(jī)程序產(chǎn)品,其特征在于,包括計算機(jī)可讀代碼,或者承載有計算機(jī)可讀代碼的非易失性計算機(jī)可讀存儲介質(zhì),當(dāng)所述計算機(jī)可讀代碼在電子設(shè)備的處理器中運(yùn)行時,所述電子設(shè)備中的處理器執(zhí)行如權(quán)利要求1-7中任一項所述的方法。