System.ArgumentOutOfRangeException: 索引和長(zhǎng)度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實(shí)現(xiàn)步驟摘要】
本公開(kāi)涉及接口測(cè)試,具體而言,涉及一種測(cè)試用例生成、測(cè)試方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)。
技術(shù)介紹
1、隨著業(yè)務(wù)需求的快速迭代,線上業(yè)務(wù)系統(tǒng)會(huì)發(fā)生頻繁改動(dòng)甚至發(fā)生重構(gòu)。為了保證在業(yè)務(wù)系統(tǒng)發(fā)生改動(dòng)或者重構(gòu)后的準(zhǔn)確性和有效性,需要對(duì)業(yè)務(wù)系統(tǒng)的數(shù)據(jù)接口服務(wù)進(jìn)行準(zhǔn)確性、有效性測(cè)試;通過(guò)接口測(cè)試可以實(shí)現(xiàn)對(duì)系統(tǒng)與外界,以及系統(tǒng)內(nèi)部各模塊之間數(shù)據(jù)交互功能進(jìn)行驗(yàn)證。當(dāng)前的接口測(cè)試方法存在測(cè)試效率低的問(wèn)題。
技術(shù)實(shí)現(xiàn)思路
1、本公開(kāi)實(shí)施例至少提供一種測(cè)試用例生成、測(cè)試方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)。
2、第一方面,本公開(kāi)實(shí)施例提供了一種測(cè)試用例生成方法,包括:
3、獲取用戶在訪問(wèn)目標(biāo)服務(wù)時(shí)的服務(wù)請(qǐng)求信息,并基于所述服務(wù)請(qǐng)求信息,生成候選測(cè)試用例;
4、對(duì)所述候選測(cè)試用例進(jìn)行回放,并獲取所述候選測(cè)試用例回放過(guò)程中,所述目標(biāo)服務(wù)對(duì)所述候選測(cè)試用例進(jìn)行響應(yīng)的代碼覆蓋信息;所述代碼覆蓋信息用于描述所述目標(biāo)服務(wù)響應(yīng)所述候選測(cè)試用例過(guò)程中的代碼執(zhí)行情況;
5、基于所述代碼覆蓋信息,從所述候選測(cè)試用例中篩選對(duì)待測(cè)試服務(wù)進(jìn)行測(cè)試的目標(biāo)測(cè)試用例;
6、其中,所述待測(cè)試服務(wù)和所述目標(biāo)服務(wù)屬于相同服務(wù)的不同版本。
7、這樣,通過(guò)獲取用戶在訪問(wèn)目標(biāo)服務(wù)時(shí)的服務(wù)請(qǐng)求信息,并基于所述服務(wù)請(qǐng)求信息,生成候選測(cè)試用例,并對(duì)所述候選測(cè)試用例進(jìn)行回放,并獲取所述候選測(cè)試用例回放過(guò)程中,所述目標(biāo)服務(wù)對(duì)所述候選測(cè)試用例進(jìn)行響應(yīng)的代碼覆蓋信息;所述代碼覆蓋信息用于描
8、一種可能的實(shí)施方式中,所述獲取所述候選測(cè)試用例回放過(guò)程中,所述目標(biāo)服務(wù)對(duì)所述候選測(cè)試用例進(jìn)行響應(yīng)的代碼覆蓋信息,包括:
9、獲取所述目標(biāo)服務(wù)對(duì)所述候選測(cè)試用例進(jìn)行響應(yīng)過(guò)程中,與所述目標(biāo)服務(wù)對(duì)應(yīng)的代碼文件中各行代碼是否被執(zhí)行的執(zhí)行信息;
10、基于所述代碼文件中各行代碼的執(zhí)行信息,生成所述代碼覆蓋信息。
11、這樣,可以快速全面獲取目標(biāo)服務(wù)在執(zhí)行候選測(cè)試用例時(shí),目標(biāo)服務(wù)對(duì)應(yīng)的代碼文件中各行代碼被執(zhí)行的情況,以方便后續(xù)篩選目標(biāo)測(cè)試用例的過(guò)程。
12、一種可能的實(shí)施方式中,所述基于所述代碼覆蓋信息,從所述候選測(cè)試用例中篩選對(duì)待測(cè)試服務(wù)進(jìn)行測(cè)試的目標(biāo)測(cè)試用例,包括:
13、遍歷所述目標(biāo)服務(wù)對(duì)應(yīng)代碼文件的各行代碼,并針對(duì)當(dāng)前遍歷到的代碼,基于所述候選測(cè)試用例對(duì)應(yīng)的代碼覆蓋信息,從所述候選測(cè)試用例中,確定在所述候選測(cè)試用例回放過(guò)程中,執(zhí)行了所述當(dāng)前遍歷到的代碼的目標(biāo)候選測(cè)試用例;
14、從所述目標(biāo)候選測(cè)試用例中,確定與所述當(dāng)前遍歷到的代碼對(duì)應(yīng)的目標(biāo)測(cè)試用例。
15、這樣,通過(guò)遍歷代碼文件中的各行代碼,從候選測(cè)試用例中,以更少的數(shù)據(jù)處理量,確定能夠滿足代碼覆蓋條件的目標(biāo)測(cè)試用例。
16、一種可能的實(shí)施方式中,所述從所述目標(biāo)候選測(cè)試用例中,確定與所述當(dāng)前遍歷到的代碼對(duì)應(yīng)的目標(biāo)測(cè)試用例,包括:
17、判斷當(dāng)前已確定的目標(biāo)測(cè)試用例中是否存在任一所述目標(biāo)候選測(cè)試用例;其中,所述當(dāng)前已確定的目標(biāo)測(cè)試用例是對(duì)遍歷過(guò)的其他代碼進(jìn)行遍歷時(shí)確定的目標(biāo)測(cè)試用例;
18、若存在,遍歷下一行代碼,直至滿足目標(biāo)結(jié)束條件;
19、若不存在,從所述目標(biāo)候選測(cè)試用例中,確定與所述當(dāng)前遍歷到的代碼對(duì)應(yīng)的新的目標(biāo)測(cè)試用例。
20、一種可能的實(shí)施方式中,所述從所述目標(biāo)候選測(cè)試用例中,確定新的目標(biāo)測(cè)試用例,包括:
21、基于各個(gè)所述目標(biāo)候選測(cè)試用例分別對(duì)應(yīng)的代碼覆蓋信息,確定各個(gè)所述目標(biāo)候選測(cè)試用例分別對(duì)應(yīng)的代碼覆蓋率;
22、基于各個(gè)所述目標(biāo)候選測(cè)試用例分別對(duì)應(yīng)的代碼覆蓋率,從所述目標(biāo)候選測(cè)試用例中確定所述新的目標(biāo)測(cè)試用例。
23、一種可能的實(shí)施方式中,所述目標(biāo)結(jié)束條件包括下述至少一項(xiàng):
24、確定的目標(biāo)測(cè)試用例的數(shù)量達(dá)到目標(biāo)數(shù)量;
25、所述目標(biāo)服務(wù)對(duì)應(yīng)代碼文件中的各行代碼被遍歷完畢。
26、第二方面,本公開(kāi)實(shí)施例還提供一種測(cè)試方法,包括:
27、控制目標(biāo)服務(wù)和待測(cè)試服務(wù)執(zhí)行目標(biāo)測(cè)試用例,得到所述目標(biāo)服務(wù)執(zhí)行所述目標(biāo)測(cè)試用例的第一執(zhí)行結(jié)果、以及所述待測(cè)試服務(wù)執(zhí)行所述目標(biāo)測(cè)試用例的第二執(zhí)行結(jié)果;其中,所述目標(biāo)測(cè)試用例基于第一方面、或第一方面任一項(xiàng)所述的測(cè)試用例生成方法生成;
28、對(duì)所述第一執(zhí)行結(jié)果和所述第二執(zhí)行結(jié)果進(jìn)行比對(duì)處理,得到利用所述目標(biāo)測(cè)試用例對(duì)所述待測(cè)試服務(wù)進(jìn)行測(cè)試的測(cè)試結(jié)果。
29、這樣,由于得到的目標(biāo)測(cè)試用例能夠以較少的數(shù)量,覆蓋數(shù)據(jù)接口服務(wù)的更多代碼,從而在測(cè)試效率、和測(cè)試的準(zhǔn)確性之間取得平衡,減少測(cè)試用例的回放次數(shù)和回放所耗時(shí)間,提升測(cè)試效率,并降低了測(cè)試用例的維護(hù)成本。
30、一種可能的實(shí)施方式中,所述對(duì)所述第一執(zhí)行結(jié)果和所述第二執(zhí)行結(jié)果進(jìn)行比對(duì)處理,得到對(duì)所述待測(cè)試服務(wù)的測(cè)試結(jié)果,包括:
31、對(duì)所述第一執(zhí)行結(jié)果和所述第二執(zhí)行結(jié)果進(jìn)行字符串對(duì)比,得到字符串對(duì)比結(jié)果;
32、在所述字符串對(duì)比結(jié)果表征所述第一執(zhí)行結(jié)果和所述第二執(zhí)行結(jié)果分別對(duì)應(yīng)的字符串一致的情況下,確定所述測(cè)試結(jié)果為:測(cè)試成功;
33、在所述字符串對(duì)比結(jié)果表征所述第一執(zhí)行結(jié)果和所述第二執(zhí)行結(jié)果分別對(duì)應(yīng)的字符串不一致的情況下,確定所述第一執(zhí)行結(jié)果和所述第二執(zhí)行結(jié)果的第一差異性信息,并基于所述第一差異性信息,確定所述測(cè)試結(jié)果。
34、一種可能的實(shí)施方式中,所述確定所述第一執(zhí)行結(jié)果和所述第二執(zhí)行結(jié)果的第一差異性信息,包括:
35、將所述第一執(zhí)行結(jié)果和所述第二執(zhí)行結(jié)果分別轉(zhuǎn)換為json對(duì)象;
36、按照目標(biāo)遞歸順序,對(duì)所述第一執(zhí)行結(jié)果和所述第二執(zhí)行結(jié)果分別對(duì)應(yīng)的json對(duì)象進(jìn)行遞歸比對(duì),得到所述第一執(zhí)行結(jié)果和所述第二執(zhí)行結(jié)果的第一差異性信息;
37、其中,所述目標(biāo)遞歸順序,用于描述多種json數(shù)據(jù)類型構(gòu)成的類型順序,所述類型順序用于對(duì)所述第一執(zhí)行結(jié)果和所述第二執(zhí)行結(jié)果分別對(duì)應(yīng)的json對(duì)象進(jìn)行遍歷。
38、這樣,在目標(biāo)服務(wù)和待測(cè)試服務(wù)對(duì)同一測(cè)試用例的響應(yīng)結(jié)果不一致的情況下,能夠以更小的粒度對(duì)響應(yīng)結(jié)果中的變化字段進(jìn)行識(shí)別,以得到更加精確的測(cè)試結(jié)果,減少問(wèn)題排查所需要的工作量,提升測(cè)試效率。
39、一種可能的實(shí)施方式中,所述基于所述第一差異性信息,確定所述測(cè)試結(jié)果,包括:
40、在所述第一差異性信息指示所述第一執(zhí)行結(jié)果和所述第二執(zhí)行結(jié)果分別對(duì)應(yīng)的json對(duì)象中的鍵key不相同、或者數(shù)組本文檔來(lái)自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
1.一種測(cè)試用例生成方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取所述候選測(cè)試用例回放過(guò)程中,所述目標(biāo)服務(wù)對(duì)所述候選測(cè)試用例進(jìn)行響應(yīng)的代碼覆蓋信息,包括:
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述基于所述代碼覆蓋信息,從所述候選測(cè)試用例中篩選對(duì)待測(cè)試服務(wù)進(jìn)行測(cè)試的目標(biāo)測(cè)試用例,包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述從所述目標(biāo)候選測(cè)試用例中,確定與所述當(dāng)前遍歷到的代碼對(duì)應(yīng)的目標(biāo)測(cè)試用例,包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述從所述目標(biāo)候選測(cè)試用例中,確定新的目標(biāo)測(cè)試用例,包括:
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述目標(biāo)結(jié)束條件包括下述至少一項(xiàng):
7.一種測(cè)試方法,其特征在于,包括:
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述對(duì)所述第一執(zhí)行結(jié)果和所述第二執(zhí)行結(jié)果進(jìn)行比對(duì)處理,得到對(duì)所述待測(cè)試服務(wù)的測(cè)試結(jié)果,包括:
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述確定所述第一執(zhí)行結(jié)果和所述第二執(zhí)行結(jié)果的第一差
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述基于所述第一差異性信息,確定所述測(cè)試結(jié)果,包括:
11.一種測(cè)試用例生成裝置,其特征在于,包括:
12.一種測(cè)試裝置,其特征在于,包括:
13.一種計(jì)算機(jī)設(shè)備,其特征在于,包括:處理器、存儲(chǔ)器,所述存儲(chǔ)器存儲(chǔ)有所述處理器可執(zhí)行的機(jī)器可讀指令,所述處理器用于執(zhí)行所述存儲(chǔ)器中存儲(chǔ)的機(jī)器可讀指令,所述機(jī)器可讀指令被所述處理器執(zhí)行時(shí),所述處理器執(zhí)行如權(quán)利要求1至10任一項(xiàng)所述方法的步驟。
14.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被計(jì)算機(jī)設(shè)備運(yùn)行時(shí),所述計(jì)算機(jī)設(shè)備執(zhí)行如權(quán)利要求1至10任意一項(xiàng)所述方法的步驟。
...【技術(shù)特征摘要】
1.一種測(cè)試用例生成方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取所述候選測(cè)試用例回放過(guò)程中,所述目標(biāo)服務(wù)對(duì)所述候選測(cè)試用例進(jìn)行響應(yīng)的代碼覆蓋信息,包括:
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述基于所述代碼覆蓋信息,從所述候選測(cè)試用例中篩選對(duì)待測(cè)試服務(wù)進(jìn)行測(cè)試的目標(biāo)測(cè)試用例,包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述從所述目標(biāo)候選測(cè)試用例中,確定與所述當(dāng)前遍歷到的代碼對(duì)應(yīng)的目標(biāo)測(cè)試用例,包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述從所述目標(biāo)候選測(cè)試用例中,確定新的目標(biāo)測(cè)試用例,包括:
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述目標(biāo)結(jié)束條件包括下述至少一項(xiàng):
7.一種測(cè)試方法,其特征在于,包括:
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述對(duì)所述第一執(zhí)行結(jié)果和所述第二執(zhí)行結(jié)果進(jìn)行比...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:鐘興,曾文汶,
申請(qǐng)(專利權(quán))人:北京紛揚(yáng)科技有限責(zé)任公司,
類型:發(fā)明
國(guó)別省市:
還沒(méi)有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。