国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

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

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

      本發(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ù)接口的每個(gè)輸入?yún)?shù)人工編寫測試用例,再執(zhí)行測試用例對被測接口進(jìn)行測試。在上述現(xiàn)有的接口測試框架中,測試用例由人工編寫,易出現(xiàn)測試數(shù)據(jù)不夠全面、完整的情況;并且,每增加或變更一個(gè)輸入?yún)?shù),就需要人工重新編寫對應(yīng)的測試用例,隨著輸入?yún)?shù)的數(shù)量增長,這會(huì)造成重復(fù)繁瑣的編寫工作,導(dǎo)致測試效率低下,且提升測試過程的人力成本以及測試用例的維護(hù)成本。



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

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

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

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

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

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

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

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

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

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

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

      查詢被測接口的頭文件;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      附圖說明

      為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dò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í)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      以上述被測接口function(inta,charb)為例,該被測接口包括兩個(gè)輸入?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ù)類型的等價(jià)類為{正整數(shù)、負(fù)整數(shù)、零、邊界值、不輸入、非整數(shù)、溢出的整數(shù)},假設(shè)同時(shí)查詢到輸入?yún)?shù)b的數(shù)據(jù)類型的等價(jià)類為{甲、乙、丙}。步驟s22中可排列組合生成的測試數(shù)據(jù)包括:第一組:正整數(shù)、甲;第二組:正整數(shù)、乙;第三組:正整數(shù)、丙;第四組:負(fù)整數(shù)、甲;第四組:負(fù)整數(shù)、乙;以此類推,第二十一組:溢出的整數(shù)、丙。

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

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

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

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

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

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

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

      本發(fā)明實(shí)施例的測試方法,可以根據(jù)被測接口的每個(gè)輸入?yún)?shù)的數(shù)據(jù)類型的等價(jià)類自動(dòng)化生成至少一組測試數(shù)據(jù),并按照所述至少一組測試數(shù)據(jù)自動(dòng)化生成至少一個(gè)測試用例,執(zhí)行所述至少一個(gè)測試用例獲得所述被測接口的測試結(jié)果;由于測試數(shù)據(jù)來源于輸入?yún)?shù)的數(shù)據(jù)類型的所有等價(jià)類,這使得測試數(shù)據(jù)更為全面、完整;并且,依據(jù)測試數(shù)據(jù)自動(dòng)化生成測試用例,避免人工編寫過程的重復(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ù)。可以理解的是,此處的存儲器既可以包括終端的內(nèi)置存儲器,當(dāng)然也可以包括終端所支持的擴(kuò)展存儲器。存儲器提供存儲空間,該存儲空間存儲了終端的操作系統(tǒng),可包括但不限于:windows系統(tǒng)(一種操作系統(tǒng))、android(安卓,一種移動(dòng)操作系統(tǒng))系統(tǒng)、ios(一種移動(dòng)操作系統(tǒng))系統(tǒng)等等,本發(fā)明對此并不作限定。存儲器的存儲空間存儲了 測試裝置。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計(jì)算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(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條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1