两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種測試方法、裝置及終端與流程

文檔序號:11216169閱讀:329來源:國知局
一種測試方法、裝置及終端與流程

本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體涉及軟件測試技術(shù)領(lǐng)域,尤其涉及一種測試方法、裝置及終端。



背景技術(shù):

計(jì)算機(jī)軟件需要涉及接口測試,接口是指api(applicationprogramminginterface,應(yīng)用程序編程接口)函數(shù),接口測試主要是指檢測系統(tǒng)各組件之間的數(shù)據(jù)交換、數(shù)據(jù)傳遞、控制管理以及相互邏輯依賴關(guān)系的過程。目前,接口測試的過程為:測試人員根據(jù)接口的每個輸入?yún)?shù)人工編寫測試用例,再執(zhí)行測試用例對被測接口進(jìn)行測試。在上述現(xiàn)有的接口測試框架中,測試用例由人工編寫,易出現(xiàn)測試數(shù)據(jù)不夠全面、完整的情況;并且,每增加或變更一個輸入?yún)?shù),就需要人工重新編寫對應(yīng)的測試用例,隨著輸入?yún)?shù)的數(shù)量增長,這會造成重復(fù)繁瑣的編寫工作,導(dǎo)致測試效率低下,且提升測試過程的人力成本以及測試用例的維護(hù)成本。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明實(shí)施例提供一種測試方法、裝置及終端,能夠根據(jù)被測接口的輸入?yún)?shù)的數(shù)據(jù)類型,自動生成全面完整的測試數(shù)據(jù)及測試用例,提升測試效率,降低測試成本。

本發(fā)明實(shí)施例第一方面提供一種測試方法,可包括:

獲取被測接口的至少一個輸入?yún)?shù)的數(shù)據(jù)類型;

根據(jù)每個輸入?yún)?shù)的數(shù)據(jù)類型的等價類生成至少一組測試數(shù)據(jù);

按照所述至少一組測試數(shù)據(jù)生成至少一個測試用例;

執(zhí)行所述至少一個測試用例獲得所述被測接口的測試結(jié)果。

優(yōu)選地,所述獲取被測接口的至少一個輸入?yún)?shù)的數(shù)據(jù)類型之前,還包括:

預(yù)先存儲至少一種數(shù)據(jù)類型以及每一種數(shù)據(jù)類型的等價類;

其中,所述數(shù)據(jù)類型包括:整數(shù)、數(shù)組、字符、字符串、指針中的任一種; 所述等價類包括有效等價類和無效等價類。

優(yōu)選地,所述獲取被測接口的至少一個輸入?yún)?shù)的數(shù)據(jù)類型,包括:

查詢被測接口的頭文件;

從所述被測接口的頭文件中讀取至少一個輸入?yún)?shù)的數(shù)據(jù)類型。

優(yōu)選地,所述根據(jù)每個輸入?yún)?shù)的數(shù)據(jù)類型的等價類生成至少一組測試數(shù)據(jù),包括:

從存儲空間中查詢每個輸入?yún)?shù)的數(shù)據(jù)類型的等價類;

將每個輸入?yún)?shù)的數(shù)據(jù)類型的等價類進(jìn)行排列組合,生成至少一組測試數(shù)據(jù)。

優(yōu)選地,所述按照所述至少一組測試數(shù)據(jù)生成至少一個測試用例,包括:

從所述至少一組測試數(shù)據(jù)中選取每一組測試數(shù)據(jù);

根據(jù)所選取的每一組測試數(shù)據(jù)依次生成每一個測試用例。

本發(fā)明實(shí)施例第二方面提供一種測試裝置,可包括:

數(shù)據(jù)類型獲取單元,用于獲取被測接口的至少一個輸入?yún)?shù)的數(shù)據(jù)類型;

測試數(shù)據(jù)生成單元,用于根據(jù)每個輸入?yún)?shù)的數(shù)據(jù)類型的等價類生成至少一組測試數(shù)據(jù);

測試用例生成單元,用于按照所述至少一組測試數(shù)據(jù)生成至少一個測試用例;

測試單元,用于執(zhí)行所述至少一個測試用例獲得所述被測接口的測試結(jié)果。

優(yōu)選地,所述裝置還包括:

存儲單元,用于預(yù)先存儲至少一種數(shù)據(jù)類型以及每一種數(shù)據(jù)類型的等價類;

其中,所述數(shù)據(jù)類型包括:整數(shù)、數(shù)組、字符、字符串、指針中的任一種;所述等價類包括有效等價類和無效等價類。

優(yōu)選地,所述數(shù)據(jù)類型獲取單元包括:

頭文件查詢單元,用于查詢被測接口的頭文件;

讀取單元,用于從所述被測接口的頭文件中讀取至少一個輸入?yún)?shù)的數(shù)據(jù)類型。

優(yōu)選地,所述測試數(shù)據(jù)生成單元包括:

等價類查詢單元,用于從存儲空間中查詢每個輸入?yún)?shù)的數(shù)據(jù)類型的等價類;

組合單元,用于將每個輸入?yún)?shù)的數(shù)據(jù)類型的等價類進(jìn)行排列組合,生成至少一組測試數(shù)據(jù)。

優(yōu)選地,所述測試用例生成單元包括:

選取單元,用于從所述至少一組測試數(shù)據(jù)中選取每一組測試數(shù)據(jù);

用例生成單元,用于根據(jù)所選取的每一組測試數(shù)據(jù)依次生成每一個測試用例。

本發(fā)明實(shí)施例第三方面提供一種終端,可包括上述第二方面所述的測試裝置。

本發(fā)明實(shí)施例中,可以獲取被測接口的至少一個輸入?yún)?shù)的數(shù)據(jù)類型,根據(jù)每個輸入?yún)?shù)的數(shù)據(jù)類型的等價類生成至少一組測試數(shù)據(jù),并按照所述至少一組測試數(shù)據(jù)生成至少一個測試用例,執(zhí)行所述至少一個測試用例獲得所述被測接口的測試結(jié)果;由于測試數(shù)據(jù)來源于輸入?yún)?shù)的數(shù)據(jù)類型的所有等價類,這使得測試數(shù)據(jù)更為全面、完整;并且,依據(jù)測試數(shù)據(jù)自動化生成測試用例,避免人工編寫過程的重復(fù)繁瑣,有效提升測試效率,降低測試成本。

附圖說明

為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明實(shí)施例提供的一種測試方法的流程圖;

圖2為本發(fā)明實(shí)施例提供的一種終端的結(jié)構(gòu)示意圖;

圖3為本發(fā)明實(shí)施例提供的一種測試裝置的結(jié)構(gòu)示意圖。

具體實(shí)施方式

下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

本發(fā)明實(shí)施例可以根據(jù)被測接口的每個輸入?yún)?shù)的數(shù)據(jù)類型的等價類自動 化生成至少一組測試數(shù)據(jù),并按照所述至少一組測試數(shù)據(jù)自動化生成至少一個測試用例,執(zhí)行所述至少一個測試用例獲得所述被測接口的測試結(jié)果;由于測試數(shù)據(jù)來源于輸入?yún)?shù)的數(shù)據(jù)類型的所有等價類,這使得測試數(shù)據(jù)更為全面、完整;并且,依據(jù)測試數(shù)據(jù)自動化生成測試用例,避免人工編寫過程的重復(fù)繁瑣,有效提升測試效率,降低測試成本。

本發(fā)明實(shí)施例中,被測接口是指被測試的api函數(shù)。測試用例是指為某個特定目標(biāo)而編制的一組包含測試輸入、執(zhí)行條件及預(yù)期結(jié)果的文檔,執(zhí)行測試用例能夠測試某個函數(shù)是否滿足某個特定需求。數(shù)據(jù)類型可包括但不限于:整數(shù)、數(shù)組、字符、字符串、指針等等。每種數(shù)據(jù)類型均包括等價類,所述等價類包括有效等價類和無效等價類;有效等價類是指合理的、有意義的輸入數(shù)據(jù)構(gòu)成的集合;無效等價類是指不合理的、沒有意義的輸入數(shù)據(jù)構(gòu)成的集合。

基于上述描述,本發(fā)明實(shí)施例公開了一種測試方法,請參見圖1,該方法可包括以下步驟s101-步驟s104。

s101,獲取被測接口的至少一個輸入?yún)?shù)的數(shù)據(jù)類型。

具體實(shí)現(xiàn)中,該方法在執(zhí)行步驟s101的過程中,具體執(zhí)行如下步驟s11-s12:

s11,查詢被測接口的頭文件。

s12,從所述被測接口的頭文件中讀取至少一個輸入?yún)?shù)的數(shù)據(jù)類型。

接口通常包含頭文件和源文件,頭文件用于記錄接口的描述信息,包括但不限于:記錄接口聲明使用到的輸入?yún)?shù)以及輸入?yún)?shù)的數(shù)據(jù)類型,等等。源文件用于記錄接口的功能函數(shù)信息及代碼信息。那么,步驟s11-s12中,通過查詢被測接口的頭文件可以讀取被測接口的至少一個輸入?yún)?shù)的數(shù)據(jù)類型;例如:假設(shè)從被測接口的頭文件中讀取到該被測接口的描述為:function(inta,charb),由此可知該被測接口包括兩個輸入?yún)?shù)a和b,且輸入?yún)?shù)a的數(shù)據(jù)類型為int(即整數(shù)),輸入?yún)?shù)b的數(shù)據(jù)類型為char(即字符)。

可選地,該方法在執(zhí)行步驟s101之前,還可執(zhí)行如下步驟s100。

s100,預(yù)先存儲至少一種數(shù)據(jù)類型以及每一種數(shù)據(jù)類型的等價類。

具體地,可以通過如下表一存儲至少一種數(shù)據(jù)類型以每一種數(shù)據(jù)類型的等價類;表一可表示如下:

表一:數(shù)據(jù)類型的等價類表

上述表一僅為舉例,其中的數(shù)據(jù)類型及其等價類可以根據(jù)實(shí)際需要進(jìn)行增加或變更,通過及時更新維護(hù)上述表一,可以保證測試數(shù)據(jù)的全面性和完整性,從而保證測試用例的系統(tǒng)性,保證測試結(jié)果的全面性。

s102,根據(jù)每個輸入?yún)?shù)的數(shù)據(jù)類型的等價類生成至少一組測試數(shù)據(jù)。

由上述表一可知,一種數(shù)據(jù)類型對應(yīng)至少一個等價類,因此,將每個輸入?yún)?shù)的數(shù)據(jù)類型的等價類進(jìn)行排列組合,可以得到若干組的測試數(shù)據(jù)。具體實(shí)現(xiàn)中,該方法在執(zhí)行步驟s102的過程中,具體執(zhí)行如下步驟s21-s22:

s21,從存儲空間中查詢每個輸入?yún)?shù)的數(shù)據(jù)類型的等價類。

s22,將每個輸入?yún)?shù)的數(shù)據(jù)類型的等價類進(jìn)行排列組合,生成至少一組測試數(shù)據(jù)。

以上述被測接口function(inta,charb)為例,該被測接口包括兩個輸入?yún)?shù)a和b,且輸入?yún)?shù)a的數(shù)據(jù)類型為int(即整數(shù)),輸入?yún)?shù)b的數(shù)據(jù)類型為char(即字符);那么,步驟s21中,可通過存儲空間中的上述表一查詢到輸入?yún)?shù)a的數(shù)據(jù)類型的等價類為{正整數(shù)、負(fù)整數(shù)、零、邊界值、不輸入、非整數(shù)、溢出的整數(shù)},假設(shè)同時查詢到輸入?yún)?shù)b的數(shù)據(jù)類型的等價類為{甲、乙、丙}。步驟s22中可排列組合生成的測試數(shù)據(jù)包括:第一組:正整數(shù)、甲;第二組:正整數(shù)、乙;第三組:正整數(shù)、丙;第四組:負(fù)整數(shù)、甲;第四組:負(fù)整數(shù)、乙;以此類推,第二十一組:溢出的整數(shù)、丙。

s103,按照所述至少一組測試數(shù)據(jù)生成至少一個測試用例。

具體實(shí)現(xiàn)中,該方法在執(zhí)行步驟s103的過程中,具體執(zhí)行如下步驟s31-s32:

s31,從所述至少一組測試數(shù)據(jù)中選取每一組測試數(shù)據(jù)。

s32,根據(jù)所選取的每一組測試數(shù)據(jù)依次生成每一個測試用例。

步驟s31-s32屬于測試用例的自動化生成過程,每一組測試數(shù)據(jù)可生成一個測試用例,因此,至少一組測試數(shù)據(jù)可生成至少一個測試用例,由于測試數(shù)據(jù) 來源于輸入?yún)?shù)的數(shù)據(jù)類型的所有等價類,測試人員只需要維護(hù)及更新各種數(shù)據(jù)類型及其等價類,即可保證測試數(shù)據(jù)的全面性和完整性,進(jìn)而保證測試用例的系統(tǒng)性和全面性。

s104,執(zhí)行所述至少一個測試用例獲得所述被測接口的測試結(jié)果。

具體實(shí)現(xiàn)中,在執(zhí)行所述至少一個測試用例時,可以編譯測試腳本,在測試腳本中使用所述至少一個測試用例,運(yùn)行測試腳本即可執(zhí)行所述至少一個測試用例獲得被測接口的測試結(jié)果。

本發(fā)明實(shí)施例的測試方法,可以根據(jù)被測接口的每個輸入?yún)?shù)的數(shù)據(jù)類型的等價類自動化生成至少一組測試數(shù)據(jù),并按照所述至少一組測試數(shù)據(jù)自動化生成至少一個測試用例,執(zhí)行所述至少一個測試用例獲得所述被測接口的測試結(jié)果;由于測試數(shù)據(jù)來源于輸入?yún)?shù)的數(shù)據(jù)類型的所有等價類,這使得測試數(shù)據(jù)更為全面、完整;并且,依據(jù)測試數(shù)據(jù)自動化生成測試用例,避免人工編寫過程的重復(fù)繁瑣,有效提升測試效率,降低測試成本。

基于上述實(shí)施例所示的測試方法,本發(fā)明實(shí)施例還提供了一種終端,該終端可用于執(zhí)行上述圖1所示方法流程的相應(yīng)步驟。請參見圖2,該終端的內(nèi)部結(jié)構(gòu)可包括但不限于:處理器、用戶接口、網(wǎng)絡(luò)接口及存儲器。其中,終端內(nèi)的處理器、用戶接口、網(wǎng)絡(luò)接口及存儲器可通過總線或其他方式連接,在本發(fā)明實(shí)施例所示圖2中以通過總線連接為例。

其中,用戶接口是實(shí)現(xiàn)用戶(如測試人員)與終端進(jìn)行交互和信息交換的媒介,其具體體現(xiàn)可以包括用于輸出的顯示屏(display)以及用于輸入的鍵盤(keyboard)等等,需要說明的是,此處的鍵盤既可以為實(shí)體鍵盤,也可以為觸屏虛擬鍵盤,還可以為實(shí)體與觸屏虛擬相結(jié)合的鍵盤。處理器(或稱cpu(centralprocessingunit,中央處理器))是終端的計(jì)算核心以及控制核心,其可以解析終端內(nèi)的各類指令以及處理終端的各類數(shù)據(jù)。存儲器(memory)是終端中的記憶設(shè)備,用于存放程序和數(shù)據(jù)??梢岳斫獾氖牵颂幍拇鎯ζ骷瓤梢园ńK端的內(nèi)置存儲器,當(dāng)然也可以包括終端所支持的擴(kuò)展存儲器。存儲器提供存儲空間,該存儲空間存儲了終端的操作系統(tǒng),可包括但不限于:windows系統(tǒng)(一種操作系統(tǒng))、android(安卓,一種移動操作系統(tǒng))系統(tǒng)、ios(一種移動操作系統(tǒng))系統(tǒng)等等,本發(fā)明對此并不作限定。存儲器的存儲空間存儲了 測試裝置。

在本發(fā)明實(shí)施例中,終端通過運(yùn)行存儲器中的測試裝置來執(zhí)行上述圖1所示方法流程的相應(yīng)步驟。請一并參見圖3,該測試裝置運(yùn)行如下單元:

數(shù)據(jù)類型獲取單元101,用于獲取被測接口的至少一個輸入?yún)?shù)的數(shù)據(jù)類型。

測試數(shù)據(jù)生成單元102,用于根據(jù)每個輸入?yún)?shù)的數(shù)據(jù)類型的等價類生成至少一組測試數(shù)據(jù)。

測試用例生成單元103,用于按照所述至少一組測試數(shù)據(jù)生成至少一個測試用例。

測試單元104,用于執(zhí)行所述至少一個測試用例獲得所述被測接口的測試結(jié)果。

具體實(shí)現(xiàn)中,可選地,該裝置還可運(yùn)行如下單元:

存儲單元105,用于預(yù)先存儲至少一種數(shù)據(jù)類型以及每一種數(shù)據(jù)類型的等價類;其中,所述數(shù)據(jù)類型包括:整數(shù)、數(shù)組、字符、字符串、指針中的任一種;所述等價類包括有效等價類和無效等價類。

具體實(shí)現(xiàn)中,該裝置在運(yùn)行所述數(shù)據(jù)類型獲取單元101的過程中,具體運(yùn)行如下單元:

頭文件查詢單元1001,用于查詢被測接口的頭文件。

讀取單元1002,用于從所述被測接口的頭文件中讀取至少一個輸入?yún)?shù)的數(shù)據(jù)類型。

具體實(shí)現(xiàn)中,該裝置在運(yùn)行所述測試數(shù)據(jù)生成單元102的過程中,具體運(yùn)行如下單元:

等價類查詢單元2001,用于從存儲空間中查詢每個輸入?yún)?shù)的數(shù)據(jù)類型的等價類。

組合單元2002,用于將每個輸入?yún)?shù)的數(shù)據(jù)類型的等價類進(jìn)行排列組合,生成至少一組測試數(shù)據(jù)。

具體實(shí)現(xiàn)中,該裝置在運(yùn)行所述測試用例生成單元103的過程中,具體運(yùn)行如下單元:

選取單元3001,用于從所述至少一組測試數(shù)據(jù)中選取每一組測試數(shù)據(jù)。

用例生成單元3002,用于根據(jù)所選取的每一組測試數(shù)據(jù)依次生成每一個測試用例。

與方法同理,本發(fā)明實(shí)施例的終端及測試裝置,可以根據(jù)被測接口的每個輸入?yún)?shù)的數(shù)據(jù)類型的等價類自動化生成至少一組測試數(shù)據(jù),并按照所述至少一組測試數(shù)據(jù)自動化生成至少一個測試用例,執(zhí)行所述至少一個測試用例獲得所述被測接口的測試結(jié)果;由于測試數(shù)據(jù)來源于輸入?yún)?shù)的數(shù)據(jù)類型的所有等價類,這使得測試數(shù)據(jù)更為全面、完整;并且,依據(jù)測試數(shù)據(jù)自動化生成測試用例,避免人工編寫過程的重復(fù)繁瑣,有效提升測試效率,降低測試成本。

本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計(jì)算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(read-onlymemory,rom)或隨機(jī)存儲記憶體(randomaccessmemory,ram)等。

以上所揭露的僅為本發(fā)明較佳實(shí)施例而已,當(dāng)然不能以此來限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
万荣县| 五大连池市| 阜宁县| 肥西县| 芒康县| 理塘县| 平塘县| 清远市| 霍林郭勒市| 平阳县| 洛阳市| 黑龙江省| 襄城县| 灵川县| 阜宁县| 清苑县| 三台县| 漳平市| 洪江市| 从化市| 通化市| 祥云县| 泰宁县| 雷波县| 福清市| 南康市| 亚东县| 横峰县| 锡林浩特市| 楚雄市| 克什克腾旗| 长顺县| 古丈县| 锡林郭勒盟| 东港市| 淄博市| 封开县| 富顺县| 崇信县| 沙坪坝区| 洛南县|