一種接口健壯性測試用例生成方法及裝置制造方法
【專利摘要】本發明公開了一種接口健壯性測試用例生成方法及裝置,該方法包括:獲取輸入接口的定義信息確定所使用的健壯性測試用例生成模板,再根據輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對輸入接口進行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數據的必填屬性、數據類型、長度、取值范圍中的一種或多種,然后根據確定出的需要輸入的字段以及針對所述需要輸入的字段所輸入的數據的必填屬性、數據類型、長度、取值范圍中的一種或多種,為輸入接口生成健壯性測試用例集。通過本發明實施例可以解決現有技術中需要依賴于開發的源代碼,且無法驗證源代碼與接口文檔中定義的是否一致,無法保證測試的有效性的問題。
【專利說明】一種接口健壯性測試用例生成方法及裝置
【技術領域】
[0001]本發明涉及軟件測試【技術領域】,具體的涉及一種接口健壯性測試用例生成方法及
>J-U ρ?α裝直。
【背景技術】
[0002]軟件測試是對軟件需求分析、設計規格說明和編碼的最終復審,通過使用人工或者自動化的手段檢驗系統是否滿足規定需求,是軟件質量保證的關鍵步驟。
[0003]接口的健壯性測試是忽略業務差異,對接口的健壯性進行檢驗,從而確保在各種無效或異常輸入下的正確處理,提高系統的安全性和可靠性。
[0004]現有的接口健壯性一般是依靠測試人員的經驗來進行健壯性測試,測試人員根據接口設計文檔采用將事先手工編寫的測試用例文檔轉化成測試代碼,直接調用被測接口的方式進行,需要手工編寫測試用例以及測試代碼。雖然接口健壯性測試屏蔽了業務的差異性有一定的規律,但是現有的技術依賴人工的經驗積累,工作量繁重,執行效率低耗時長,且容易出現覆蓋率不全問題。
[0005]另一種接口的健壯性測試方法是通過對靜態代碼的掃描提取待測接口信息,再進行健壯性用例的自動生成和測試。這種方法依賴開發代碼的完成,需要確保代碼編寫的方式符合要求,并且前提是假設代碼的實現無誤,否則自動生成的測試用例本身就是有問題的,無法保證接口測試的有效性。
[0006]由此可見,目前亟需一種自動生成接口健壯性測試用例的方案,且該測試用例無需依賴于開發代碼的完成,有效對接口的健壯性進行測試。
【發明內容】
[0007]本發明實施例提供一種接口健壯性測試用例生成方法及裝置,用以實現自動生成接口健壯性測試用例且生成的測試用例無需依賴于開發的源代碼。
[0008]本發明實施例提供一種接口健壯性測試用例生成方法,該方法包括:
[0009]獲取輸入接口的定義信息;
[0010]根據所述輸入接口的定義信息確定所使用的健壯性測試用例生成模板;
[0011 ] 根據所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數據的必填屬性、數據類型、長度、取值范圍中的一種或多種;
[0012]根據確定出的需要輸入的字段以及針對所述需要輸入的字段所輸入的數據的必填屬性、數據類型、長度、取值范圍中的一種或多種,為所述輸入接口生成健壯性測試用例集。
[0013]較佳地,所述根據所述輸入接口的定義信息確定所使用的健壯性測試用例生成模板,包括:
[0014]如果所述輸入接口的定義信息中定義了必填字段的名稱、長度、數據類型、是否允許為空,則確定至少使用以下健壯性測試用例生成模板:必填字段缺失健壯性測試用例生成模板、必填字段為空健壯性測試用例生成模板、字段長度不合法健壯性測試用例生成模板,以及字段類型不合法健壯性測試用例生成模板;
[0015]根據所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數據的必填屬性、數據類型、長度、取值范圍中的一種或多種,包括:
[0016]根據所述輸入接口的定義信息中定義的必填字段的名稱以及所述必填字段缺失健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時不輸入所述必填字段的輸入數據;
[0017]根據所述輸入接口中定義信息中定義的必填字段的名稱以及是否允許為空,以及所述必填字段為空健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時將所述必填字段的輸入數據設為空;
[0018]根據所述輸入接口中定義信息中定義的必填字段的名稱和長度以及所述字段長度不合法健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時將所述必填字段的輸入數據的長度設置為非法長度值,所述非法長度值至少包括所述必填字段的最大長度值加I和所述必填字段的最小長度值減I;
[0019]根據所述輸入接口中定義信息中定義的必填字段的名稱和數據類型以及所述字段類型不合法健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時將所述必填字段的輸入數據的類型設置為非法數據類型。
[0020]較佳地,所述根據所述輸入接口的定義信息確定所使用的健壯性測試用例生成模板,包括:
[0021]如果所述輸入接口的定義信息中定義了非必填字段的名稱、長度、數據類型、是否允許為空,則確定至少使用以下健壯性測試用例生成模板:非必填字段缺失健壯性測試用例生成模板、非必填字段為空健壯性測試用例生成模板、字段長度不合法健壯性測試用例生成模板,以及字段類型不合法健壯性測試用例生成模板;
[0022]根據所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數據的必填屬性、數據類型、長度、取值范圍中的一種或多種,包括:
[0023]根據所述輸入接口的定義信息中定義的非必填字段的名稱以及所述非必填字段缺失健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時不輸入所述非必填字段的輸入數據;
[0024]根據所述輸入接口的定義信息中定義的非必填字段的名稱以及是否允許為空,以及所述非必填字段為空健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時將所述非必填字段的輸入數據設為空;
[0025]根據所述輸入接口的定義信息中定義的非必填字段的名稱和長度以及所述字段長度不合法健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時將所述非必填字段的輸入數據的長度設置為非法長度值,所述非法長度值至少包括所述非必填字段的最大長度值加I和所述非必填字段的最小長度值減I;
[0026]根據所述輸入接口的定義信息中定義的非必填字段的名稱和數據類型以及所述字段類型不合法健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時將所述非必填字段的輸入數據的類型設置為非法數據類型。
[0027]較佳地,根據所述輸入接口的定義信息確定出的所使用的健壯性測試用例生成模板,還包括:最全量字段輸入健壯性測試用例生成模板和最少量字段輸入健壯性測試用例生成模板;
[0028]根據所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數據的必填屬性、數據類型、長度、取值范圍中的一種或多種,包括:
[0029]根據所述輸入接口的定義信息中定義的所有字段的名稱和長度以及所述最全量字段輸入健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時輸入必填字段和非必填字段的輸入數據且每個字段的長度為本字段長度的最大值;
[0030]根據所述輸入接口的定義信息中定義的所有必填字段和非必填字段的名稱和長度以及所述最少量字段輸入健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時僅輸入必填字段的輸入數據且每個必填字段的長度本字段的最小長度。
[0031]較佳地,根據所述輸入接口的定義信息確定所使用的健壯性測試用例生成模板之后,還包括:
[0032]確定使用所述健壯性測試用例生成模板對所述輸入接口進行健壯性測試時的預期結果。
[0033]本發明實施例還提供一種接口健壯性測試用例生成裝置,該裝置包括:
[0034]獲取單元,用于獲取輸入接口的定義信息;
[0035]模板選擇單元,用于根據所述輸入接口的定義信息確定所使用的健壯性測試用例生成模板;
[0036]測試用例生成單元,用于根據所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數據的必填屬性、數據類型、長度、取值范圍中的一種或多種,并根據確定出的需要輸入的字段以及針對所述需要輸入的字段所輸入的數據的必填屬性、數據類型、長度、取值范圍中的一種或多種,為所述輸入接口生成健壯性測試用例集。
[0037]較佳地,所述測試用例生成單元,具體用于:
[0038]如果所述輸入接口的定義信息中定義了必填字段的名稱、長度、數據類型、是否允許為空,則確定至少使用以下健壯性測試用例生成模板:必填字段缺失健壯性測試用例生成模板、必填字段為空健壯性測試用例生成模板、字段長度不合法健壯性測試用例生成模板,以及字段類型不合法健壯性測試用例生成模板;
[0039]根據所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數據的必填屬性、數據類型、長度、取值范圍中的一種或多種,包括:
[0040]根據所述輸入接口的定義信息中定義的必填字段的名稱以及所述必填字段缺失健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時不輸入所述必填字段的輸入數據;
[0041]根據所述輸入接口中定義信息中定義的必填字段的名稱以及是否允許為空,以及所述必填字段為空健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時將所述必填字段的輸入數據設為空;
[0042]根據所述輸入接口中定義信息中定義的必填字段的名稱和長度以及所述字段長度不合法健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時將所述必填字段的輸入數據的長度設置為非法長度值,所述非法長度值至少包括所述必填字段的最大長度值加I和所述必填字段的最小長度值減I;
[0043]根據所述輸入接口中定義信息中定義的必填字段的名稱和數據類型以及所述字段類型不合法健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時將所述必填字段的輸入數據的類型設置為非法數據類型。
[0044]較佳地,所述測試用例生成單元,具體用于:
[0045]如果所述輸入接口的定義信息中定義了非必填字段的名稱、長度、數據類型、是否允許為空,則確定至少使用以下健壯性測試用例生成模板:非必填字段缺失健壯性測試用例生成模板、非必填字段為空健壯性測試用例生成模板、字段長度不合法健壯性測試用例生成模板,以及字段類型不合法健壯性測試用例生成模板;
[0046]根據所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數據的必填屬性、數據類型、長度、取值范圍中的一種或多種,包括:
[0047]根據所述輸入接口的定義信息中定義的非必填字段的名稱以及所述非必填字段缺失健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時不輸入所述非必填字段的輸入數據;
[0048]根據所述輸入接口的定義信息中定義的非必填字段的名稱以及是否允許為空,以及所述非必填字段為空健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時將所述非必填字段的輸入數據設為空;
[0049]根據所述輸入接口的定義信息中定義的非必填字段的名稱和長度以及所述字段長度不合法健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時將所述非必填字段的輸入數據的長度設置為非法長度值,所述非法長度值至少包括所述非必填字段的最大長度值加I和所述非必填字段的最小長度值減I;
[0050]根據所述輸入接口的定義信息中定義的非必填字段的名稱和數據類型以及所述字段類型不合法健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時將所述非必填字段的輸入數據的類型設置為非法數據類型。
[0051 ] 較佳地,所述測試用例生成單元根據所述輸入接口的定義信息確定出的所使用的健壯性測試用例生成模板,還包括:最全量字段輸入健壯性測試用例生成模板和最少量字段輸入健壯性測試用例生成模板;
[0052]所述測試用例生成單元還用于:
[0053]根據所述輸入接口的定義信息中定義的所有字段的名稱和長度以及所述最全量字段輸入健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時輸入必填字段和非必填字段的輸入數據且每個字段的長度為本字段長度的最大值;
[0054]根據所述輸入接口的定義信息中定義的所有必填字段和非必填字段的名稱和長度以及所述最少量字段輸入健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時僅輸入必填字段的輸入數據且每個必填字段的長度本字段的最小長度。
[0055]較佳地,所述測試用例生成單元,還用于:
[0056]在所述模板選擇單元根據所述輸入接口的定義信息確定所使用的健壯性測試用例生成模板之后,確定使用所述健壯性測試用例生成模板對所述輸入接口進行健壯性測試時的預期結果。
[0057]本發明的上述實施例中,通過獲取輸入接口的定義信息確定所使用的健壯性測試用例生成模板,再根據所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數據的必填屬性、數據類型、長度、取值范圍中的一種或多種,然后根據確定出的需要輸入的字段以及針對所述輸入的數據的必填屬性、數據類型、長度、取值范圍中的一種或多種,為所述輸入接口生成健壯性測試用例集。通過本發明實施例可以解決現有技術中需要依賴于開發的源代碼,且無法驗證源代碼與接口文檔中定義的是否一致,無法保證測試的有效性的問題。
【專利附圖】
【附圖說明】
[0058]為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡要介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域的普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
[0059]圖1為本發明實施例中一種接口健壯性測試用例生成方法流程示意圖;
[0060]圖2為本發明實施例中一種接口健壯性測試用例生成裝置結構示意圖。
【具體實施方式】
[0061]為了使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明作進一步地詳細描述,顯然,所描述的實施例僅僅是本發明一部份實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其它實施例,都屬于本發明保護的范圍。
[0062]如圖1所示,本發明實施例提供了一種接口健壯性測試用例生成方法流程示意圖,該流程可由接口健壯性測試用例生成裝置執行,所述裝置可由軟件實現。該方法步驟包括:
[0063]步驟S101,獲取輸入接口的定義信息。
[0064]具體的,接口文檔中對各種接口進行了定義,可從接口文檔中獲取輸入接口的定義信息。一個輸入接口的定義信息中對該輸入接口的每個字段的屬性進行了定義,比如,字段名稱、必填屬性(即該字段是否必填)、長度、數據類型、是否允許為空等信息。
[0065]步驟S102,根據所述輸入接口的定義信息確定所使用的健壯性測試用例生成模板。
[0066]具體的,可預先設置多種健壯性測試用例生成模板,該步驟中,可根據獲取輸入接口的定義信息中定義的字段名稱、必填屬性(即該字段是否必填)、長度、數據類型、是否允許為空等信息,來確定所需使用哪種健壯性測試用例生成模板。
[0067]步驟S103,根據所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數據的必填屬性、數據類型、長度、取值范圍中的一種或多種。
[0068]步驟S104,根據確定出的需要輸入的字段以及針對所述需要輸入的字段所輸入的數據的必填屬性、數據類型、長度、取值范圍中的一種或多種,為所述輸入接口生成健壯性測試用例集。
[0069]本發明的上述實施例中,通過獲取輸入接口的定義信息確定所使用的健壯性測試用例生成模板,再根據所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數據的必填屬性、數據類型、長度、取值范圍中的一種或多種,然后根據確定出的需要輸入的字段以及針對所述需要輸入的字段所輸入的數據的必填屬性、數據類型、長度、取值范圍中的一種或多種,為所述輸入接口生成健壯性測試用例集。通過本發明實施例可以解決現有技術中需要依賴于開發的源代碼,且無法驗證源代碼與接口文檔中定義的是否一致,無法保證測試的有效性的問題。
[0070]針對接口中必填字段的測試,可預先設置的多種健壯性測試用例生成模板中可包括:必填字段缺失健壯性測試用例生成模板、必填字段為空健壯性測試用例生成模板、字段長度不合法健壯性測試用例生成模板,以及字段類型不合法健壯性測試用例生成模板。
[0071]相應地,在本發明實施例所述步驟S102中,如果所述輸入接口的定義信息中定義了必填字段的名稱、長度、數據類型、是否允許為空,則確定至少使用以下健壯性測試用例生成模板:必填字段缺失健壯性測試用例生成模板、必填字段為空健壯性測試用例生成模板、字段長度不合法健壯性測試用例生成模板,以及字段類型不合法健壯性測試用例生成模板。
[0072]在步驟S103中,可根據上述各模板確定測試用例中所輸入的字段以及針對所述需要輸入的字段所輸入的數據的必填屬性、數據類型、長度、取值范圍中的一種或多種生成測試用例,具體來說可包括:
[0073]根據所述輸入接口的定義信息中定義的必填字段的名稱以及所述必填字段缺失健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時不輸入所述必填字段的輸入數據,這樣,可使用該模塊所生成的測試用例對輸入接口中的必填字段的缺少的情況進行測試;
[0074]根據所述輸入接口中定義信息中定義的必填字段的名稱以及是否允許為空,以及所述必填字段為空健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時將所述必填字段的輸入數據設為空,這樣,可使用該模塊所生成的測試用例對輸入接口中的必填字段是否為空的情況進行測試;
[0075]根據所述輸入接口中定義信息中定義的必填字段的名稱和長度以及所述字段長度不合法健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時將所述必填字段的輸入數據的長度設置為非法長度值,所述非法長度值至少包括所述必填字段的最大長度值加I和所述必填字段的最小長度值減1,這樣,可使用該模塊所生成的測試用例對輸入接口中的字段長度不合法的情況進行測試;
[0076]根據所述輸入接口中定義信息中定義的必填字段的名稱和數據類型以及所述字段類型不合法健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時將所述必填字段的輸入數據的類型設置為非法數據類型,這樣,可使用該模塊所生成的測試用例對輸入接口中的字段類型不合法的情況進行測試。
[0077]針對接口中非必填字段的測試,可預先設置的多種健壯性測試用例生成模板中可包括:非必填字段缺失健壯性測試用例生成模板、非必填字段為空健壯性測試用例生成模板、字段長度不合法健壯性測試用例生成模板,以及字段類型不合法健壯性測試用例生成模板。
[0078]相應地,如果所述輸入接口的定義信息中定義了非必填字段的名稱、長度、數據類型、是否允許為空,則確定至少使用以下健壯性測試用例生成模板:非必填字段缺失健壯性測試用例生成模板、非必填字段為空健壯性測試用例生成模板、字段長度不合法健壯性測試用例生成模板,以及字段類型不合法健壯性測試用例生成模板。
[0079]步驟S103中,可根據上述各模板確定測試用例中所輸入的字段以及針對所述需要輸入的字段所輸入的數據的必填屬性、數據類型、長度、取值范圍中的一種或多種生成測試用例,具體來說可包括:
[0080]根據所述輸入接口的定義信息中定義的非必填字段的名稱以及所述非必填字段缺失健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時不輸入所述非必填字段的輸入數據,這樣,可使用該模塊所生成的測試用例對輸入接口中的非必填字段的缺少的情況進行測試;
[0081]根據所述輸入接口的定義信息中定義的非必填字段的名稱以及是否允許為空,以及所述非必填字段為空健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時將所述非必填字段的輸入數據設為空,這樣,可使用該模塊所生成的測試用例對輸入接口中的非必填字段是否為空的情況進行測試;
[0082]根據所述輸入接口的定義信息中定義的非必填字段的名稱和長度以及所述字段長度不合法健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時將所述非必填字段的輸入數據的長度設置為非法長度值,所述非法長度值至少包括所述非必填字段的最大長度值加I和所述非必填字段的最小長度值減1,這樣,可使用該模塊所生成的測試用例對輸入接口中的字段長度不合法的的情況進行測試;
[0083]根據所述輸入接口的定義信息中定義的非必填字段的名稱和數據類型以及所述字段類型不合法健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時將所述非必填字段的輸入數據的類型設置為非法數據類型,這樣,可使用該模塊所生成的測試用例對輸入接口中的字段類型不合法的情況進行測試。
[0084]如果輸入接口包括N個字段,則每個字段都需要根據上述不同健壯性測試用例生成模板,按照健壯性測試用例生成模板種類,循環一個一個生成健壯性測試用例。
[0085]如一需要進行健壯性測試的接口包括A、B、C三個字段,在根據接口的接口文檔中的定義信息關于字段的定義以及上述健壯性測試用例生成模板生成健壯性測試用例時,字段A先根據上述健壯性測試用例生成模板循環一個一個生成健壯性測試用例,然后字段B和字段C依次循環生成健壯性測試用例,最后再把三個字段的所有生成的健壯性測試用例匯總成健壯性測試用例集。
[0086]進一步地,還可預先設置最全量字段輸入健壯性測試用例生成模板和最少量字段輸入健壯性測試用例生成模板。
[0087]相應地,在對輸入接口進行健壯性測試時還使用最全量字段輸入健壯性測試用例生成模板和最少量字段輸入健壯性測試用例生成模板。
[0088]相應地,在步驟S103中,可根據上述各模板確定測試用例中所輸入的字段以及針對所述需要輸入的字段所輸入的數據的必填屬性、數據類型、長度、取值范圍中的一種或多種生成測試用例,具體來說可包括:
[0089]根據所述輸入接口的定義信息中定義的所有字段的名稱和長度以及所述最全量字段輸入健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時輸入必填字段和非必填字段的輸入數據且每個字段的長度為本字段長度的最大值,這樣,可使用該模塊所生成的測試用例對輸入接口中的最全量字段輸入的情況進行測試;
[0090]根據所述輸入接口的定義信息中定義的所有必填字段和非必填字段的名稱和長度以及所述最少量字段輸入健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時僅輸入必填字段的輸入數據且每個必填字段的長度本字段的最小長度,這樣,可使用該模塊所生成的測試用例對輸入接口中的最少量字段輸入的情況進行測試。
[0091]優選地,在本發明實施例所述步驟S102之后,還包括:確定使用所述健壯性測試用例生成模板對所述輸入接口進行健壯性測試時的預期結果。對應每一個健壯性測試用例都會生成相對應的測試時的預期結果,通過將每個健壯性測試用例的預先效果與該測試用例的實際測試結果對比,可以判斷所述輸入接口的健壯性問題。
[0092]為了能更好的解釋本發明,下面使用一個具體的例子對本發明進行說明,可以理解的是,下述說明僅出于示例目的,根據本發明的實施例不限于此。
[0093]為了清除起見,本實施例提供了如下健壯性測試用例生成模板:
[0094]必填字段缺失健壯性測試用例生成模板、必填字段為空健壯性測試用例生成模板、非必填字段缺失健壯性測試用例生成模板、非必填字段為空健壯性測試用例生成模板、字段長度不合法健壯性測試用例生成模板、字段類型不合法健壯性測試用例生成模板、最全量字段輸入健壯性測試用例生成模板和最少量字段輸入健壯性測試用例生成模板等八種健壯性測試用例生成模板。
[0095]必填字段缺失健壯性測試用例生成模板規定了在對輸入接口進行健壯性測試時不輸入必填字段的輸入數據;
[0096]必填字段為空健壯性測試用例生成模板規定了在對輸入接口進行健壯性測試時將必填字段的輸入數據設為空;
[0097]非必填字段缺失健壯性測試用例生成模板規定了在對輸入接口進行健壯性測試時不輸入非必填字段的輸入數據;
[0098]非必填字段為空健壯性測試用例生成模板規定了在對輸入接口進行健壯性測試時將非必填字段的輸入數據設為空;
[0099]字段長度不合法健壯性測試用例生成模板規定了在對輸入接口進行健壯性測試時將必填字段的輸入數據的長度設置為非法長度值,非法長度值至少包括必填字段的最大長度值加I和必填字段的最小長度值減I;
[0100]最全量字段輸入健壯性測試用例生成模板規定了在對輸入接口進行健壯性測試時輸入必填字段和非必填字段的輸入數據且每個字段的長度為本字段長度的最大值;
[0101]最少量字段輸入健壯性測試用例生成模板規定了在對所述輸入接口進行健壯性測試時僅輸入必填字段的輸入數據且每個必填字段的長度本字段的最小長度;
[0102]字段類型不合法健壯性測試用例生成模板規定了在對輸入接口進行健壯性測試時將必填字段的輸入數據的類型設置為非法數據類型。
[0103]字段類型不合法健壯性測試用例生成模板中的每一種字段類型都有其對應的非法數據類型,如字段的數據類型為實數型(double、float),其相應的非法數據類型為:負數、字符、字符串、漢字(生僻字)等;
[0104]字段的數據類型為整數類型(byte、short、int、long):其相應的非法數據類型為:負數、小數、字符、字符串、漢字(生僻字)等;
[0105]字段的數據類型為字符類型(char):其相應的非法數據類型為:負數、小數、漢字(生僻字)等;
[0106]字段的數據類型為布爾值類型(Boolean):其相應的非法數據類型為:非true值或false值;
[0107]字段的數據類型為日期類型(date):其相應的非法數據類型為:非date規范格式的值;
[0108]字段的數據類型為時間戳類型(timestamp):其相應的非法數據類型為:非timestamp規范格式的值;
[0109]字段的數據類型為字符串類型(string):無非法數據類型限制;
[0110]還包括:所有字段的數據類型的公共的非法數據類型為:非法標點符號。
[0111]下面以對一種實現兩個數相加的接口進行健壯性測試為例來具體說明。
[0112]首先,根據該接口的接口文檔,獲取該接口定義的定義信息,包括:字段a (整數,必填,不可空、長度[3,16])和字段b (整數,必填,不可空,長度[2,16])。表示字段a的數據類型為整數、該字段必填、該字段不可空、該字段的長度取值范圍為3到16位,包括3位和16位,字段b的數據類型為整數、該字段為必填、該字段不可空、該字段的長度取值范圍為2到16位,包括2位和16位。
[0113]其次,根據上述獲取的定義信息確定使用以下健壯性測試用例生成模板:必填字段缺失健壯性測試用例生成模板、必填字段為空健壯性測試用例生成模板、字段長度不合法健壯性測試用例生成模板、字段類型不合法健壯性測試用例生成模板、最全量字段輸入健壯性測試用例生成模板和最少量字段輸入健壯性測試用例生成模板等八種健壯性測試用例生成模板。
[0114]再次,根據所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數據的類型、長度、取值范圍中的一種或多種。
[0115]如字段a在使用必填字段缺失健壯性測試用例生成模板時,字段a所需輸入的數據缺失;字段b所需輸入的數據類型為整數、長度取2到16位中的任一值。
[0116]如字段a在使用必填字段為空健壯性測試用例生成模板時,字段a所需輸入的數據設置為空;字段b所需輸入的數據類型為整數、長度取2到16位中的任一值。
[0117]如字段a在使用字段長度不合法健壯性測試用例生成模板時,字段a所需輸入的數據類型為整數,長度取值為2或者17位;字段b所需輸入的數據類型為整數、長度取2到16位中的任一值。
[0118]如字段a在使用字段類型不合法健壯性測試用例生成模板時,字段a所需輸入的數據類型為負數、小數、字符、字符串或漢字(生僻字)中的一種或多種,長度取為3到16位中任一值;字段b所需輸入的數據類型為整數、長度取2到16位中的任一值。
[0119]如在使用最全量字段輸入健壯性測試用例生成模板時,字段a所需輸入的數據類型為整數,長度取16位;字段b所需輸入的數據類型為整數,長度取16位。
[0120]如在使用最少量字段輸入健壯性測試用例生成模板時,字段a所需輸入的數據類型為整數,長度取3位;字段b所需輸入的數據類型為整數,長度取2位。
[0121]相應地,字段b也需要確定在使用上述健壯性測試用例生成模板時,所需輸入的數據的類型、長度、取值范圍等信息。
[0122]最后,根據確定出的需要輸入的字段以及針對所述需要輸入的字段所輸入的數據的類型、長度、取值范圍中的一種或多種,為所述輸入接口生成健壯性測試用例集。
[0123]如字段a在使用必填字段缺失健壯性測試用例生成模板時,生成的健壯性測試用例中的輸入數據為b = 12345。
[0124]如字段a在使用必填字段為空健壯性測試用例生成模板時,生成的健壯性測試用例中的輸入數據為a =,b = 12345。
[0125]如字段a在使用字段長度不合法健壯性測試用例生成模板時,生成的健壯性測試用例中的輸入數據為 a = 23 或 a = 12345678998765432,b = 12345。
[0126]如字段a在使用字段類型不合法健壯性測試用例生成模板時,生成的健壯性測試用例中的輸入數據為a = sgfsgs, b = 12345。
[0127]如在使用最全量字段輸入健壯性測試用例生成模板時,生成的健壯性測試用例中的輸入數據為 a = 1234567899876543,b = 1234567899876543。
[0128]如在使用最少量字段輸入健壯性測試用例生成模板時,生成的健壯性測試用例中的輸入數據為a = 123,b = 12。
[0129]相應地,字段b也需要在使用上述健壯性測試用例生成模板時,生成的健壯性測試用例。
[0130]將所有生成的健壯性測試用例集合在一起,用來對所述兩個數相加的接口進行健壯性的測試。該接口定義了多少字段,就需要對所有的字段根據可以使用的所有的健壯性測試用例生成模板都需要進行測試,同時必不可少的是對所有字段根據最全量字段輸入健壯性測試用例生成模板和最少量字段輸入健壯性測試用例生成模板生成健壯性測試用例集。
[0131]基于相同的技術構思,圖2示出了一種接口健壯性測試用例生成裝置,該裝置可應用于圖1所示的流程。
[0132]該裝置包括:
[0133]獲取單元201,用于獲取輸入接口的定義信息;
[0134]模板選擇單元202,用于根據所述輸入接口的定義信息確定所使用的健壯性測試用例生成模板;
[0135]測試用例生成單元203,用于根據所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數據的必填屬性、數據類型、長度、取值范圍中的一種或多種,并根據確定出的需要輸入的字段以及針對所述需要輸入的字段所輸入的數據的必填屬性、數據類型、長度、取值范圍中的一種或多種,為所述輸入接口生成健壯性測試用例集。
[0136]優選地,所述測試用例生成單元203,具體用于:
[0137]如果所述輸入接口的定義信息中定義了必填字段的名稱、長度、數據類型、是否允許為空,則確定至少使用以下健壯性測試用例生成模板:必填字段缺失健壯性測試用例生成模板、必填字段為空健壯性測試用例生成模板、字段長度不合法健壯性測試用例生成模板,以及字段類型不合法健壯性測試用例生成模板;
[0138]根據所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數據的必填屬性、數據類型、長度、取值范圍中的一種或多種,包括:
[0139]根據所述輸入接口的定義信息中定義的必填字段的名稱以及所述必填字段缺失健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時不輸入所述必填字段的輸入數據;
[0140]根據所述輸入接口中定義信息中定義的必填字段的名稱以及是否允許為空,以及所述必填字段為空健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時將所述必填字段的輸入數據設為空;
[0141]根據所述輸入接口中定義信息中定義的必填字段的名稱和長度以及所述字段長度不合法健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時將所述必填字段的輸入數據的長度設置為非法長度值,所述非法長度值至少包括所述必填字段的最大長度值加I和所述必填字段的最小長度值減I;
[0142]根據所述輸入接口中定義信息中定義的必填字段的名稱和數據類型以及所述字段類型不合法健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時將所述必填字段的輸入數據的類型設置為非法數據類型。
[0143]優選地,所述測試用例生成單元203,具體用于:
[0144]如果所述輸入接口的定義信息中定義了非必填字段的名稱、長度、數據類型、是否允許為空,則確定至少使用以下健壯性測試用例生成模板:非必填字段缺失健壯性測試用例生成模板、非必填字段為空健壯性測試用例生成模板、字段長度不合法健壯性測試用例生成模板,以及字段類型不合法健壯性測試用例生成模板;
[0145]根據所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數據的必填屬性、數據類型、長度、取值范圍中的一種或多種,包括:
[0146]根據所述輸入接口的定義信息中定義的非必填字段的名稱以及所述非必填字段缺失健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時不輸入所述非必填字段的輸入數據;
[0147]根據所述輸入接口的定義信息中定義的非必填字段的名稱以及是否允許為空,以及所述非必填字段為空健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時將所述非必填字段的輸入數據設為空;
[0148]根據所述輸入接口的定義信息中定義的非必填字段的名稱和長度以及所述字段長度不合法健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時將所述非必填字段的輸入數據的長度設置為非法長度值,所述非法長度值至少包括所述非必填字段的最大長度值加I和所述非必填字段的最小長度值減I;
[0149]根據所述輸入接口的定義信息中定義的非必填字段的名稱和數據類型以及所述字段類型不合法健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時將所述非必填字段的輸入數據的類型設置為非法數據類型。
[0150]優選地,所述測試用例生成單元203根據所述輸入接口的定義信息確定出的所使用的健壯性測試用例生成模板,還包括:最全量字段輸入健壯性測試用例生成模板和最少量字段輸入健壯性測試用例生成模板;
[0151]所述測試用例生成單元203還用于:
[0152]根據所述輸入接口的定義信息中定義的所有字段的名稱和長度以及所述最全量字段輸入健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時輸入必填字段和非必填字段的輸入數據且每個字段的長度為本字段長度的最大值;
[0153]根據所述輸入接口的定義信息中定義的所有必填字段和非必填字段的名稱和長度以及所述最少量字段輸入健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時僅輸入必填字段的輸入數據且每個必填字段的長度本字段的最小長度。
[0154]優選地,所述測試用例生成單元203,還用于:
[0155]在所述模板選擇單元根據所述輸入接口的定義信息確定所使用的健壯性測試用例生成模板之后,確定使用所述健壯性測試用例生成模板對所述輸入接口進行健壯性測試時的預期結果。
[0156]基于上述實施例,通過獲取輸入接口的定義信息確定所使用的健壯性測試用例生成模板,再根據所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數據的必填屬性、數據類型、長度、取值范圍中的一種或多種,然后根據確定出的需要輸入的字段以及針對所述需要輸入的字段所輸入的數據的必填屬性、數據類型、長度、取值范圍中的一種或多種,為所述輸入接口生成健壯性測試用例集。通過本發明實施例可以解決現有技術中需要依賴于開發的源代碼,且無法驗證源代碼與接口文檔中定義的是否一致,無法保證測試的有效性的問題,大幅度提高健壯性測試的效率和有效性。
[0157]本發明是參照根據本發明實施例的方法、設備(系統)、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0158]這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0159]這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0160]盡管已描述了本發明的優選實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權利要求意欲解釋為包括優選實施例以及落入本發明范圍的所有變更和修改。
[0161]顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和范圍。這樣,倘若本發明的這些修改和變型屬于本發明權利要求及其等同技術的范圍之內,則本發明也意圖包含這些改動和變型在內。
【權利要求】
1.一種接口健壯性測試用例生成方法,其特征在于,該方法包括: 獲取輸入接口的定義信息; 根據所述輸入接口的定義信息確定所使用的健壯性測試用例生成模板; 根據所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數據的必填屬性、數據類型、長度、取值范圍中的一種或多種; 根據確定出的需要輸入的字段以及針對所述需要輸入的字段所輸入的數據的必填屬性、數據類型、長度、取值范圍中的一種或多種,為所述輸入接口生成健壯性測試用例集。
2.如權利要求1所述的方法,其特征在于,所述根據所述輸入接口的定義信息確定所使用的健壯性測試用例生成模板,包括: 如果所述輸入接口的定義信息中定義了必填字段的名稱、長度、數據類型、是否允許為空,則確定至少使用以下健壯性測試用例生成模板:必填字段缺失健壯性測試用例生成模板、必填字段為空健壯性測試用例生成模板、字段長度不合法健壯性測試用例生成模板,以及字段類型不合法健壯性測試用例生成模板; 根據所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數據的必填屬性、數據類型、長度、取值范圍中的一種或多種,包括: 根據所述輸入接口的定義信息中定義的必填字段的名稱以及所述必填字段缺失健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時不輸入所述必填字段的輸入數據; 根據所述輸入接口中定義信息中定義的必填字段的名稱以及是否允許為空,以及所述必填字段為空健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時將所述必填字段的輸入數據設為空; 根據所述輸入接口中定義信息中定義的必填字段的名稱和長度以及所述字段長度不合法健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時將所述必填字段的輸入數據的長度設置為非法長度值,所述非法長度值至少包括所述必填字段的最大長度值加I和所述必填字段的最小長度值減I; 根據所述輸入接口中定義信息中定義的必填字段的名稱和數據類型以及所述字段類型不合法健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時將所述必填字段的輸入數據的類型設置為非法數據類型。
3.如權利要求1所述的方法,其特征在于,所述根據所述輸入接口的定義信息確定所使用的健壯性測試用例生成模板,包括: 如果所述輸入接口的定義信息中定義了非必填字段的名稱、長度、數據類型、是否允許為空,則確定至少使用以下健壯性測試用例生成模板:非必填字段缺失健壯性測試用例生成模板、非必填字段為空健壯性測試用例生成模板、字段長度不合法健壯性測試用例生成模板,以及字段類型不合法健壯性測試用例生成模板; 根據所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數據的必填屬性、數據類型、長度、取值范圍中的一種或多種,包括: 根據所述輸入接口的定義信息中定義的非必填字段的名稱以及所述非必填字段缺失健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時不輸入所述非必填字段的輸入數據; 根據所述輸入接口的定義信息中定義的非必填字段的名稱以及是否允許為空,以及所述非必填字段為空健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時將所述非必填字段的輸入數據設為空; 根據所述輸入接口的定義信息中定義的非必填字段的名稱和長度以及所述字段長度不合法健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時將所述非必填字段的輸入數據的長度設置為非法長度值,所述非法長度值至少包括所述非必填字段的最大長度值加I和所述非必填字段的最小長度值減I; 根據所述輸入接口的定義信息中定義的非必填字段的名稱和數據類型以及所述字段類型不合法健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時將所述非必填字段的輸入數據的類型設置為非法數據類型。
4.如權利要求2或3所述的方法,其特征在于,根據所述輸入接口的定義信息確定出的所使用的健壯性測試用例生成模板,還包括:最全量字段輸入健壯性測試用例生成模板和最少量字段輸入健壯性測試用例生成模板; 根據所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數據的必填屬性、數據類型、長度、取值范圍中的一種或多種,包括: 根據所述輸入接口的定義信息中定義的所有字段的名稱和長度以及所述最全量字段輸入健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時輸入必填字段和非必填字段的輸入數據且每個字段的長度為本字段長度的最大值; 根據所述輸入接口的定義信息中定義的所有必填字段和非必填字段的名稱和長度以及所述最少量字段輸入健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時僅輸入必填字段的輸入數據且每個必填字段的長度本字段的最小長度。
5.如權利要求1所述的方法,其特征在于,根據所述輸入接口的定義信息確定所使用的健壯性測試用例生成模板之后,還包括: 確定使用所述健壯性測試用例生成模板對所述輸入接口進行健壯性測試時的預期結果O
6.一種接口健壯性測試用例生成裝置,其特征在于,該裝置包括: 獲取單元,用于獲取輸入接口的定義信息; 模板選擇單元,用于根據所述輸入接口的定義信息確定所使用的健壯性測試用例生成模板; 測試用例生成單元,用于根據所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數據的必填屬性、數據類型、長度、取值范圍中的一種或多種,并根據確定出的需要輸入的字段以及針對所述需要輸入的字段所輸入的數據的必填屬性、數據類型、長度、取值范圍中的一種或多種,為所述輸入接口生成健壯性測試用例集。
7.如權利要求6所述的裝置,其特征在于,所述測試用例生成單元,具體用于: 如果所述輸入接口的定義信息中定義了必填字段的名稱、長度、數據類型、是否允許為空,則確定至少使用以下健壯性測試用例生成模板:必填字段缺失健壯性測試用例生成模板、必填字段為空健壯性測試用例生成模板、字段長度不合法健壯性測試用例生成模板,以及字段類型不合法健壯性測試用例生成模板; 根據所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數據的必填屬性、數據類型、長度、取值范圍中的一種或多種,包括: 根據所述輸入接口的定義信息中定義的必填字段的名稱以及所述必填字段缺失健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時不輸入所述必填字段的輸入數據; 根據所述輸入接口中定義信息中定義的必填字段的名稱以及是否允許為空,以及所述必填字段為空健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時將所述必填字段的輸入數據設為空; 根據所述輸入接口中定義信息中定義的必填字段的名稱和長度以及所述字段長度不合法健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時將所述必填字段的輸入數據的長度設置為非法長度值,所述非法長度值至少包括所述必填字段的最大長度值加I和所述必填字段的最小長度值減I; 根據所述輸入接口中定義信息中定義的必填字段的名稱和數據類型以及所述字段類型不合法健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時將所述必填字段的輸入數據的類型設置為非法數據類型。
8.如權利要求6所述的裝置,其特征在于,所述測試用例生成單元,具體用于: 如果所述輸入接口的定義信息中定義了非必填字段的名稱、長度、數據類型、是否允許為空,則確定至少使用以下健壯性測試用例生成模板:非必填字段缺失健壯性測試用例生成模板、非必填字段為空健壯性測試用例生成模板、字段長度不合法健壯性測試用例生成模板,以及字段類型不合法健壯性測試用例生成模板; 根據所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數據的必填屬性、數據類型、長度、取值范圍中的一種或多種,包括: 根據所述輸入接口的定義信息中定義的非必填字段的名稱以及所述非必填字段缺失健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時不輸入所述非必填字段的輸入數據; 根據所述輸入接口的定義信息中定義的非必填字段的名稱以及是否允許為空,以及所述非必填字段為空健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時將所述非必填字段的輸入數據設為空; 根據所述輸入接口的定義信息中定義的非必填字段的名稱和長度以及所述字段長度不合法健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時將所述非必填字段的輸入數據的長度設置為非法長度值,所述非法長度值至少包括所述非必填字段的最大長度值加I和所述非必填字段的最小長度值減I ; 根據所述輸入接口的定義信息中定義的非必填字段的名稱和數據類型以及所述字段類型不合法健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時將所述非必填字段的輸入數據的類型設置為非法數據類型。
9.如權利要求7或8所述的裝置,其特征在于,所述測試用例生成單元根據所述輸入接口的定義信息確定出的所使用的健壯性測試用例生成模板,還包括:最全量字段輸入健壯性測試用例生成模板和最少量字段輸入健壯性測試用例生成模板; 所述測試用例生成單元還用于: 根據所述輸入接口的定義信息中定義的所有字段的名稱和長度以及所述最全量字段輸入健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時輸入必填字段和非必填字段的輸入數據且每個字段的長度為本字段長度的最大值; 根據所述輸入接口的定義信息中定義的所有必填字段和非必填字段的名稱和長度以及所述最少量字段輸入健壯性測試用例生成模板,確定在對所述輸入接口進行健壯性測試時僅輸入必填字段的輸入數據且每個必填字段的長度本字段的最小長度。
10.如權利要求6所述的裝置,其特征在于,所述測試用例生成單元,還用于: 在所述模板選擇單元根據所述輸入接口的定義信息確定所使用的健壯性測試用例生成模板之后,確定使用所述健壯性測試用例生成模板對所述輸入接口進行健壯性測試時的預期結果。
【文檔編號】G06F11/36GK104407976SQ201410714715
【公開日】2015年3月11日 申請日期:2014年11月28日 優先權日:2014年11月28日
【發明者】趙軍, 陽淦婷, 鄒國平 申請人:聯動優勢電子商務有限公司