欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種接口健壯性測試用例生成方法及裝置制造方法

文檔序號:6636716閱讀:429來源:國知局
一種接口健壯性測試用例生成方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種接口健壯性測試用例生成方法及裝置,該方法包括:獲取輸入接口的定義信息確定所使用的健壯性測試用例生成模板,再根據(jù)輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對輸入接口進(jìn)行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數(shù)據(jù)的必填屬性、數(shù)據(jù)類型、長度、取值范圍中的一種或多種,然后根據(jù)確定出的需要輸入的字段以及針對所述需要輸入的字段所輸入的數(shù)據(jù)的必填屬性、數(shù)據(jù)類型、長度、取值范圍中的一種或多種,為輸入接口生成健壯性測試用例集。通過本發(fā)明實施例可以解決現(xiàn)有技術(shù)中需要依賴于開發(fā)的源代碼,且無法驗證源代碼與接口文檔中定義的是否一致,無法保證測試的有效性的問題。
【專利說明】一種接口健壯性測試用例生成方法及裝置

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及軟件測試【技術(shù)領(lǐng)域】,具體的涉及一種接口健壯性測試用例生成方法及
>J-U ρ?α裝直。

【背景技術(shù)】
[0002]軟件測試是對軟件需求分析、設(shè)計規(guī)格說明和編碼的最終復(fù)審,通過使用人工或者自動化的手段檢驗系統(tǒng)是否滿足規(guī)定需求,是軟件質(zhì)量保證的關(guān)鍵步驟。
[0003]接口的健壯性測試是忽略業(yè)務(wù)差異,對接口的健壯性進(jìn)行檢驗,從而確保在各種無效或異常輸入下的正確處理,提高系統(tǒng)的安全性和可靠性。
[0004]現(xiàn)有的接口健壯性一般是依靠測試人員的經(jīng)驗來進(jìn)行健壯性測試,測試人員根據(jù)接口設(shè)計文檔采用將事先手工編寫的測試用例文檔轉(zhuǎn)化成測試代碼,直接調(diào)用被測接口的方式進(jìn)行,需要手工編寫測試用例以及測試代碼。雖然接口健壯性測試屏蔽了業(yè)務(wù)的差異性有一定的規(guī)律,但是現(xiàn)有的技術(shù)依賴人工的經(jīng)驗積累,工作量繁重,執(zhí)行效率低耗時長,且容易出現(xiàn)覆蓋率不全問題。
[0005]另一種接口的健壯性測試方法是通過對靜態(tài)代碼的掃描提取待測接口信息,再進(jìn)行健壯性用例的自動生成和測試。這種方法依賴開發(fā)代碼的完成,需要確保代碼編寫的方式符合要求,并且前提是假設(shè)代碼的實現(xiàn)無誤,否則自動生成的測試用例本身就是有問題的,無法保證接口測試的有效性。
[0006]由此可見,目前亟需一種自動生成接口健壯性測試用例的方案,且該測試用例無需依賴于開發(fā)代碼的完成,有效對接口的健壯性進(jìn)行測試。


【發(fā)明內(nèi)容】

[0007]本發(fā)明實施例提供一種接口健壯性測試用例生成方法及裝置,用以實現(xiàn)自動生成接口健壯性測試用例且生成的測試用例無需依賴于開發(fā)的源代碼。
[0008]本發(fā)明實施例提供一種接口健壯性測試用例生成方法,該方法包括:
[0009]獲取輸入接口的定義信息;
[0010]根據(jù)所述輸入接口的定義信息確定所使用的健壯性測試用例生成模板;
[0011 ] 根據(jù)所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進(jìn)行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數(shù)據(jù)的必填屬性、數(shù)據(jù)類型、長度、取值范圍中的一種或多種;
[0012]根據(jù)確定出的需要輸入的字段以及針對所述需要輸入的字段所輸入的數(shù)據(jù)的必填屬性、數(shù)據(jù)類型、長度、取值范圍中的一種或多種,為所述輸入接口生成健壯性測試用例集。
[0013]較佳地,所述根據(jù)所述輸入接口的定義信息確定所使用的健壯性測試用例生成模板,包括:
[0014]如果所述輸入接口的定義信息中定義了必填字段的名稱、長度、數(shù)據(jù)類型、是否允許為空,則確定至少使用以下健壯性測試用例生成模板:必填字段缺失健壯性測試用例生成模板、必填字段為空健壯性測試用例生成模板、字段長度不合法健壯性測試用例生成模板,以及字段類型不合法健壯性測試用例生成模板;
[0015]根據(jù)所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進(jìn)行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數(shù)據(jù)的必填屬性、數(shù)據(jù)類型、長度、取值范圍中的一種或多種,包括:
[0016]根據(jù)所述輸入接口的定義信息中定義的必填字段的名稱以及所述必填字段缺失健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時不輸入所述必填字段的輸入數(shù)據(jù);
[0017]根據(jù)所述輸入接口中定義信息中定義的必填字段的名稱以及是否允許為空,以及所述必填字段為空健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時將所述必填字段的輸入數(shù)據(jù)設(shè)為空;
[0018]根據(jù)所述輸入接口中定義信息中定義的必填字段的名稱和長度以及所述字段長度不合法健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時將所述必填字段的輸入數(shù)據(jù)的長度設(shè)置為非法長度值,所述非法長度值至少包括所述必填字段的最大長度值加I和所述必填字段的最小長度值減I;
[0019]根據(jù)所述輸入接口中定義信息中定義的必填字段的名稱和數(shù)據(jù)類型以及所述字段類型不合法健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時將所述必填字段的輸入數(shù)據(jù)的類型設(shè)置為非法數(shù)據(jù)類型。
[0020]較佳地,所述根據(jù)所述輸入接口的定義信息確定所使用的健壯性測試用例生成模板,包括:
[0021]如果所述輸入接口的定義信息中定義了非必填字段的名稱、長度、數(shù)據(jù)類型、是否允許為空,則確定至少使用以下健壯性測試用例生成模板:非必填字段缺失健壯性測試用例生成模板、非必填字段為空健壯性測試用例生成模板、字段長度不合法健壯性測試用例生成模板,以及字段類型不合法健壯性測試用例生成模板;
[0022]根據(jù)所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進(jìn)行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數(shù)據(jù)的必填屬性、數(shù)據(jù)類型、長度、取值范圍中的一種或多種,包括:
[0023]根據(jù)所述輸入接口的定義信息中定義的非必填字段的名稱以及所述非必填字段缺失健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時不輸入所述非必填字段的輸入數(shù)據(jù);
[0024]根據(jù)所述輸入接口的定義信息中定義的非必填字段的名稱以及是否允許為空,以及所述非必填字段為空健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時將所述非必填字段的輸入數(shù)據(jù)設(shè)為空;
[0025]根據(jù)所述輸入接口的定義信息中定義的非必填字段的名稱和長度以及所述字段長度不合法健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時將所述非必填字段的輸入數(shù)據(jù)的長度設(shè)置為非法長度值,所述非法長度值至少包括所述非必填字段的最大長度值加I和所述非必填字段的最小長度值減I;
[0026]根據(jù)所述輸入接口的定義信息中定義的非必填字段的名稱和數(shù)據(jù)類型以及所述字段類型不合法健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時將所述非必填字段的輸入數(shù)據(jù)的類型設(shè)置為非法數(shù)據(jù)類型。
[0027]較佳地,根據(jù)所述輸入接口的定義信息確定出的所使用的健壯性測試用例生成模板,還包括:最全量字段輸入健壯性測試用例生成模板和最少量字段輸入健壯性測試用例生成模板;
[0028]根據(jù)所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進(jìn)行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數(shù)據(jù)的必填屬性、數(shù)據(jù)類型、長度、取值范圍中的一種或多種,包括:
[0029]根據(jù)所述輸入接口的定義信息中定義的所有字段的名稱和長度以及所述最全量字段輸入健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時輸入必填字段和非必填字段的輸入數(shù)據(jù)且每個字段的長度為本字段長度的最大值;
[0030]根據(jù)所述輸入接口的定義信息中定義的所有必填字段和非必填字段的名稱和長度以及所述最少量字段輸入健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時僅輸入必填字段的輸入數(shù)據(jù)且每個必填字段的長度本字段的最小長度。
[0031]較佳地,根據(jù)所述輸入接口的定義信息確定所使用的健壯性測試用例生成模板之后,還包括:
[0032]確定使用所述健壯性測試用例生成模板對所述輸入接口進(jìn)行健壯性測試時的預(yù)期結(jié)果。
[0033]本發(fā)明實施例還提供一種接口健壯性測試用例生成裝置,該裝置包括:
[0034]獲取單元,用于獲取輸入接口的定義信息;
[0035]模板選擇單元,用于根據(jù)所述輸入接口的定義信息確定所使用的健壯性測試用例生成模板;
[0036]測試用例生成單元,用于根據(jù)所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進(jìn)行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數(shù)據(jù)的必填屬性、數(shù)據(jù)類型、長度、取值范圍中的一種或多種,并根據(jù)確定出的需要輸入的字段以及針對所述需要輸入的字段所輸入的數(shù)據(jù)的必填屬性、數(shù)據(jù)類型、長度、取值范圍中的一種或多種,為所述輸入接口生成健壯性測試用例集。
[0037]較佳地,所述測試用例生成單元,具體用于:
[0038]如果所述輸入接口的定義信息中定義了必填字段的名稱、長度、數(shù)據(jù)類型、是否允許為空,則確定至少使用以下健壯性測試用例生成模板:必填字段缺失健壯性測試用例生成模板、必填字段為空健壯性測試用例生成模板、字段長度不合法健壯性測試用例生成模板,以及字段類型不合法健壯性測試用例生成模板;
[0039]根據(jù)所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進(jìn)行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數(shù)據(jù)的必填屬性、數(shù)據(jù)類型、長度、取值范圍中的一種或多種,包括:
[0040]根據(jù)所述輸入接口的定義信息中定義的必填字段的名稱以及所述必填字段缺失健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時不輸入所述必填字段的輸入數(shù)據(jù);
[0041]根據(jù)所述輸入接口中定義信息中定義的必填字段的名稱以及是否允許為空,以及所述必填字段為空健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時將所述必填字段的輸入數(shù)據(jù)設(shè)為空;
[0042]根據(jù)所述輸入接口中定義信息中定義的必填字段的名稱和長度以及所述字段長度不合法健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時將所述必填字段的輸入數(shù)據(jù)的長度設(shè)置為非法長度值,所述非法長度值至少包括所述必填字段的最大長度值加I和所述必填字段的最小長度值減I;
[0043]根據(jù)所述輸入接口中定義信息中定義的必填字段的名稱和數(shù)據(jù)類型以及所述字段類型不合法健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時將所述必填字段的輸入數(shù)據(jù)的類型設(shè)置為非法數(shù)據(jù)類型。
[0044]較佳地,所述測試用例生成單元,具體用于:
[0045]如果所述輸入接口的定義信息中定義了非必填字段的名稱、長度、數(shù)據(jù)類型、是否允許為空,則確定至少使用以下健壯性測試用例生成模板:非必填字段缺失健壯性測試用例生成模板、非必填字段為空健壯性測試用例生成模板、字段長度不合法健壯性測試用例生成模板,以及字段類型不合法健壯性測試用例生成模板;
[0046]根據(jù)所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進(jìn)行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數(shù)據(jù)的必填屬性、數(shù)據(jù)類型、長度、取值范圍中的一種或多種,包括:
[0047]根據(jù)所述輸入接口的定義信息中定義的非必填字段的名稱以及所述非必填字段缺失健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時不輸入所述非必填字段的輸入數(shù)據(jù);
[0048]根據(jù)所述輸入接口的定義信息中定義的非必填字段的名稱以及是否允許為空,以及所述非必填字段為空健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時將所述非必填字段的輸入數(shù)據(jù)設(shè)為空;
[0049]根據(jù)所述輸入接口的定義信息中定義的非必填字段的名稱和長度以及所述字段長度不合法健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時將所述非必填字段的輸入數(shù)據(jù)的長度設(shè)置為非法長度值,所述非法長度值至少包括所述非必填字段的最大長度值加I和所述非必填字段的最小長度值減I;
[0050]根據(jù)所述輸入接口的定義信息中定義的非必填字段的名稱和數(shù)據(jù)類型以及所述字段類型不合法健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時將所述非必填字段的輸入數(shù)據(jù)的類型設(shè)置為非法數(shù)據(jù)類型。
[0051 ] 較佳地,所述測試用例生成單元根據(jù)所述輸入接口的定義信息確定出的所使用的健壯性測試用例生成模板,還包括:最全量字段輸入健壯性測試用例生成模板和最少量字段輸入健壯性測試用例生成模板;
[0052]所述測試用例生成單元還用于:
[0053]根據(jù)所述輸入接口的定義信息中定義的所有字段的名稱和長度以及所述最全量字段輸入健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時輸入必填字段和非必填字段的輸入數(shù)據(jù)且每個字段的長度為本字段長度的最大值;
[0054]根據(jù)所述輸入接口的定義信息中定義的所有必填字段和非必填字段的名稱和長度以及所述最少量字段輸入健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時僅輸入必填字段的輸入數(shù)據(jù)且每個必填字段的長度本字段的最小長度。
[0055]較佳地,所述測試用例生成單元,還用于:
[0056]在所述模板選擇單元根據(jù)所述輸入接口的定義信息確定所使用的健壯性測試用例生成模板之后,確定使用所述健壯性測試用例生成模板對所述輸入接口進(jìn)行健壯性測試時的預(yù)期結(jié)果。
[0057]本發(fā)明的上述實施例中,通過獲取輸入接口的定義信息確定所使用的健壯性測試用例生成模板,再根據(jù)所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進(jìn)行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數(shù)據(jù)的必填屬性、數(shù)據(jù)類型、長度、取值范圍中的一種或多種,然后根據(jù)確定出的需要輸入的字段以及針對所述輸入的數(shù)據(jù)的必填屬性、數(shù)據(jù)類型、長度、取值范圍中的一種或多種,為所述輸入接口生成健壯性測試用例集。通過本發(fā)明實施例可以解決現(xiàn)有技術(shù)中需要依賴于開發(fā)的源代碼,且無法驗證源代碼與接口文檔中定義的是否一致,無法保證測試的有效性的問題。

【專利附圖】

【附圖說明】
[0058]為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡要介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域的普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0059]圖1為本發(fā)明實施例中一種接口健壯性測試用例生成方法流程示意圖;
[0060]圖2為本發(fā)明實施例中一種接口健壯性測試用例生成裝置結(jié)構(gòu)示意圖。

【具體實施方式】
[0061]為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明作進(jìn)一步地詳細(xì)描述,顯然,所描述的實施例僅僅是本發(fā)明一部份實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護(hù)的范圍。
[0062]如圖1所示,本發(fā)明實施例提供了一種接口健壯性測試用例生成方法流程示意圖,該流程可由接口健壯性測試用例生成裝置執(zhí)行,所述裝置可由軟件實現(xiàn)。該方法步驟包括:
[0063]步驟S101,獲取輸入接口的定義信息。
[0064]具體的,接口文檔中對各種接口進(jìn)行了定義,可從接口文檔中獲取輸入接口的定義信息。一個輸入接口的定義信息中對該輸入接口的每個字段的屬性進(jìn)行了定義,比如,字段名稱、必填屬性(即該字段是否必填)、長度、數(shù)據(jù)類型、是否允許為空等信息。
[0065]步驟S102,根據(jù)所述輸入接口的定義信息確定所使用的健壯性測試用例生成模板。
[0066]具體的,可預(yù)先設(shè)置多種健壯性測試用例生成模板,該步驟中,可根據(jù)獲取輸入接口的定義信息中定義的字段名稱、必填屬性(即該字段是否必填)、長度、數(shù)據(jù)類型、是否允許為空等信息,來確定所需使用哪種健壯性測試用例生成模板。
[0067]步驟S103,根據(jù)所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進(jìn)行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數(shù)據(jù)的必填屬性、數(shù)據(jù)類型、長度、取值范圍中的一種或多種。
[0068]步驟S104,根據(jù)確定出的需要輸入的字段以及針對所述需要輸入的字段所輸入的數(shù)據(jù)的必填屬性、數(shù)據(jù)類型、長度、取值范圍中的一種或多種,為所述輸入接口生成健壯性測試用例集。
[0069]本發(fā)明的上述實施例中,通過獲取輸入接口的定義信息確定所使用的健壯性測試用例生成模板,再根據(jù)所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進(jìn)行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數(shù)據(jù)的必填屬性、數(shù)據(jù)類型、長度、取值范圍中的一種或多種,然后根據(jù)確定出的需要輸入的字段以及針對所述需要輸入的字段所輸入的數(shù)據(jù)的必填屬性、數(shù)據(jù)類型、長度、取值范圍中的一種或多種,為所述輸入接口生成健壯性測試用例集。通過本發(fā)明實施例可以解決現(xiàn)有技術(shù)中需要依賴于開發(fā)的源代碼,且無法驗證源代碼與接口文檔中定義的是否一致,無法保證測試的有效性的問題。
[0070]針對接口中必填字段的測試,可預(yù)先設(shè)置的多種健壯性測試用例生成模板中可包括:必填字段缺失健壯性測試用例生成模板、必填字段為空健壯性測試用例生成模板、字段長度不合法健壯性測試用例生成模板,以及字段類型不合法健壯性測試用例生成模板。
[0071]相應(yīng)地,在本發(fā)明實施例所述步驟S102中,如果所述輸入接口的定義信息中定義了必填字段的名稱、長度、數(shù)據(jù)類型、是否允許為空,則確定至少使用以下健壯性測試用例生成模板:必填字段缺失健壯性測試用例生成模板、必填字段為空健壯性測試用例生成模板、字段長度不合法健壯性測試用例生成模板,以及字段類型不合法健壯性測試用例生成模板。
[0072]在步驟S103中,可根據(jù)上述各模板確定測試用例中所輸入的字段以及針對所述需要輸入的字段所輸入的數(shù)據(jù)的必填屬性、數(shù)據(jù)類型、長度、取值范圍中的一種或多種生成測試用例,具體來說可包括:
[0073]根據(jù)所述輸入接口的定義信息中定義的必填字段的名稱以及所述必填字段缺失健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時不輸入所述必填字段的輸入數(shù)據(jù),這樣,可使用該模塊所生成的測試用例對輸入接口中的必填字段的缺少的情況進(jìn)行測試;
[0074]根據(jù)所述輸入接口中定義信息中定義的必填字段的名稱以及是否允許為空,以及所述必填字段為空健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時將所述必填字段的輸入數(shù)據(jù)設(shè)為空,這樣,可使用該模塊所生成的測試用例對輸入接口中的必填字段是否為空的情況進(jìn)行測試;
[0075]根據(jù)所述輸入接口中定義信息中定義的必填字段的名稱和長度以及所述字段長度不合法健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時將所述必填字段的輸入數(shù)據(jù)的長度設(shè)置為非法長度值,所述非法長度值至少包括所述必填字段的最大長度值加I和所述必填字段的最小長度值減1,這樣,可使用該模塊所生成的測試用例對輸入接口中的字段長度不合法的情況進(jìn)行測試;
[0076]根據(jù)所述輸入接口中定義信息中定義的必填字段的名稱和數(shù)據(jù)類型以及所述字段類型不合法健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時將所述必填字段的輸入數(shù)據(jù)的類型設(shè)置為非法數(shù)據(jù)類型,這樣,可使用該模塊所生成的測試用例對輸入接口中的字段類型不合法的情況進(jìn)行測試。
[0077]針對接口中非必填字段的測試,可預(yù)先設(shè)置的多種健壯性測試用例生成模板中可包括:非必填字段缺失健壯性測試用例生成模板、非必填字段為空健壯性測試用例生成模板、字段長度不合法健壯性測試用例生成模板,以及字段類型不合法健壯性測試用例生成模板。
[0078]相應(yīng)地,如果所述輸入接口的定義信息中定義了非必填字段的名稱、長度、數(shù)據(jù)類型、是否允許為空,則確定至少使用以下健壯性測試用例生成模板:非必填字段缺失健壯性測試用例生成模板、非必填字段為空健壯性測試用例生成模板、字段長度不合法健壯性測試用例生成模板,以及字段類型不合法健壯性測試用例生成模板。
[0079]步驟S103中,可根據(jù)上述各模板確定測試用例中所輸入的字段以及針對所述需要輸入的字段所輸入的數(shù)據(jù)的必填屬性、數(shù)據(jù)類型、長度、取值范圍中的一種或多種生成測試用例,具體來說可包括:
[0080]根據(jù)所述輸入接口的定義信息中定義的非必填字段的名稱以及所述非必填字段缺失健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時不輸入所述非必填字段的輸入數(shù)據(jù),這樣,可使用該模塊所生成的測試用例對輸入接口中的非必填字段的缺少的情況進(jìn)行測試;
[0081]根據(jù)所述輸入接口的定義信息中定義的非必填字段的名稱以及是否允許為空,以及所述非必填字段為空健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時將所述非必填字段的輸入數(shù)據(jù)設(shè)為空,這樣,可使用該模塊所生成的測試用例對輸入接口中的非必填字段是否為空的情況進(jìn)行測試;
[0082]根據(jù)所述輸入接口的定義信息中定義的非必填字段的名稱和長度以及所述字段長度不合法健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時將所述非必填字段的輸入數(shù)據(jù)的長度設(shè)置為非法長度值,所述非法長度值至少包括所述非必填字段的最大長度值加I和所述非必填字段的最小長度值減1,這樣,可使用該模塊所生成的測試用例對輸入接口中的字段長度不合法的的情況進(jìn)行測試;
[0083]根據(jù)所述輸入接口的定義信息中定義的非必填字段的名稱和數(shù)據(jù)類型以及所述字段類型不合法健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時將所述非必填字段的輸入數(shù)據(jù)的類型設(shè)置為非法數(shù)據(jù)類型,這樣,可使用該模塊所生成的測試用例對輸入接口中的字段類型不合法的情況進(jìn)行測試。
[0084]如果輸入接口包括N個字段,則每個字段都需要根據(jù)上述不同健壯性測試用例生成模板,按照健壯性測試用例生成模板種類,循環(huán)一個一個生成健壯性測試用例。
[0085]如一需要進(jìn)行健壯性測試的接口包括A、B、C三個字段,在根據(jù)接口的接口文檔中的定義信息關(guān)于字段的定義以及上述健壯性測試用例生成模板生成健壯性測試用例時,字段A先根據(jù)上述健壯性測試用例生成模板循環(huán)一個一個生成健壯性測試用例,然后字段B和字段C依次循環(huán)生成健壯性測試用例,最后再把三個字段的所有生成的健壯性測試用例匯總成健壯性測試用例集。
[0086]進(jìn)一步地,還可預(yù)先設(shè)置最全量字段輸入健壯性測試用例生成模板和最少量字段輸入健壯性測試用例生成模板。
[0087]相應(yīng)地,在對輸入接口進(jìn)行健壯性測試時還使用最全量字段輸入健壯性測試用例生成模板和最少量字段輸入健壯性測試用例生成模板。
[0088]相應(yīng)地,在步驟S103中,可根據(jù)上述各模板確定測試用例中所輸入的字段以及針對所述需要輸入的字段所輸入的數(shù)據(jù)的必填屬性、數(shù)據(jù)類型、長度、取值范圍中的一種或多種生成測試用例,具體來說可包括:
[0089]根據(jù)所述輸入接口的定義信息中定義的所有字段的名稱和長度以及所述最全量字段輸入健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時輸入必填字段和非必填字段的輸入數(shù)據(jù)且每個字段的長度為本字段長度的最大值,這樣,可使用該模塊所生成的測試用例對輸入接口中的最全量字段輸入的情況進(jìn)行測試;
[0090]根據(jù)所述輸入接口的定義信息中定義的所有必填字段和非必填字段的名稱和長度以及所述最少量字段輸入健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時僅輸入必填字段的輸入數(shù)據(jù)且每個必填字段的長度本字段的最小長度,這樣,可使用該模塊所生成的測試用例對輸入接口中的最少量字段輸入的情況進(jìn)行測試。
[0091]優(yōu)選地,在本發(fā)明實施例所述步驟S102之后,還包括:確定使用所述健壯性測試用例生成模板對所述輸入接口進(jìn)行健壯性測試時的預(yù)期結(jié)果。對應(yīng)每一個健壯性測試用例都會生成相對應(yīng)的測試時的預(yù)期結(jié)果,通過將每個健壯性測試用例的預(yù)先效果與該測試用例的實際測試結(jié)果對比,可以判斷所述輸入接口的健壯性問題。
[0092]為了能更好的解釋本發(fā)明,下面使用一個具體的例子對本發(fā)明進(jìn)行說明,可以理解的是,下述說明僅出于示例目的,根據(jù)本發(fā)明的實施例不限于此。
[0093]為了清除起見,本實施例提供了如下健壯性測試用例生成模板:
[0094]必填字段缺失健壯性測試用例生成模板、必填字段為空健壯性測試用例生成模板、非必填字段缺失健壯性測試用例生成模板、非必填字段為空健壯性測試用例生成模板、字段長度不合法健壯性測試用例生成模板、字段類型不合法健壯性測試用例生成模板、最全量字段輸入健壯性測試用例生成模板和最少量字段輸入健壯性測試用例生成模板等八種健壯性測試用例生成模板。
[0095]必填字段缺失健壯性測試用例生成模板規(guī)定了在對輸入接口進(jìn)行健壯性測試時不輸入必填字段的輸入數(shù)據(jù);
[0096]必填字段為空健壯性測試用例生成模板規(guī)定了在對輸入接口進(jìn)行健壯性測試時將必填字段的輸入數(shù)據(jù)設(shè)為空;
[0097]非必填字段缺失健壯性測試用例生成模板規(guī)定了在對輸入接口進(jìn)行健壯性測試時不輸入非必填字段的輸入數(shù)據(jù);
[0098]非必填字段為空健壯性測試用例生成模板規(guī)定了在對輸入接口進(jìn)行健壯性測試時將非必填字段的輸入數(shù)據(jù)設(shè)為空;
[0099]字段長度不合法健壯性測試用例生成模板規(guī)定了在對輸入接口進(jìn)行健壯性測試時將必填字段的輸入數(shù)據(jù)的長度設(shè)置為非法長度值,非法長度值至少包括必填字段的最大長度值加I和必填字段的最小長度值減I;
[0100]最全量字段輸入健壯性測試用例生成模板規(guī)定了在對輸入接口進(jìn)行健壯性測試時輸入必填字段和非必填字段的輸入數(shù)據(jù)且每個字段的長度為本字段長度的最大值;
[0101]最少量字段輸入健壯性測試用例生成模板規(guī)定了在對所述輸入接口進(jìn)行健壯性測試時僅輸入必填字段的輸入數(shù)據(jù)且每個必填字段的長度本字段的最小長度;
[0102]字段類型不合法健壯性測試用例生成模板規(guī)定了在對輸入接口進(jìn)行健壯性測試時將必填字段的輸入數(shù)據(jù)的類型設(shè)置為非法數(shù)據(jù)類型。
[0103]字段類型不合法健壯性測試用例生成模板中的每一種字段類型都有其對應(yīng)的非法數(shù)據(jù)類型,如字段的數(shù)據(jù)類型為實數(shù)型(double、float),其相應(yīng)的非法數(shù)據(jù)類型為:負(fù)數(shù)、字符、字符串、漢字(生僻字)等;
[0104]字段的數(shù)據(jù)類型為整數(shù)類型(byte、short、int、long):其相應(yīng)的非法數(shù)據(jù)類型為:負(fù)數(shù)、小數(shù)、字符、字符串、漢字(生僻字)等;
[0105]字段的數(shù)據(jù)類型為字符類型(char):其相應(yīng)的非法數(shù)據(jù)類型為:負(fù)數(shù)、小數(shù)、漢字(生僻字)等;
[0106]字段的數(shù)據(jù)類型為布爾值類型(Boolean):其相應(yīng)的非法數(shù)據(jù)類型為:非true值或false值;
[0107]字段的數(shù)據(jù)類型為日期類型(date):其相應(yīng)的非法數(shù)據(jù)類型為:非date規(guī)范格式的值;
[0108]字段的數(shù)據(jù)類型為時間戳類型(timestamp):其相應(yīng)的非法數(shù)據(jù)類型為:非timestamp規(guī)范格式的值;
[0109]字段的數(shù)據(jù)類型為字符串類型(string):無非法數(shù)據(jù)類型限制;
[0110]還包括:所有字段的數(shù)據(jù)類型的公共的非法數(shù)據(jù)類型為:非法標(biāo)點符號。
[0111]下面以對一種實現(xiàn)兩個數(shù)相加的接口進(jìn)行健壯性測試為例來具體說明。
[0112]首先,根據(jù)該接口的接口文檔,獲取該接口定義的定義信息,包括:字段a (整數(shù),必填,不可空、長度[3,16])和字段b (整數(shù),必填,不可空,長度[2,16])。表示字段a的數(shù)據(jù)類型為整數(shù)、該字段必填、該字段不可空、該字段的長度取值范圍為3到16位,包括3位和16位,字段b的數(shù)據(jù)類型為整數(shù)、該字段為必填、該字段不可空、該字段的長度取值范圍為2到16位,包括2位和16位。
[0113]其次,根據(jù)上述獲取的定義信息確定使用以下健壯性測試用例生成模板:必填字段缺失健壯性測試用例生成模板、必填字段為空健壯性測試用例生成模板、字段長度不合法健壯性測試用例生成模板、字段類型不合法健壯性測試用例生成模板、最全量字段輸入健壯性測試用例生成模板和最少量字段輸入健壯性測試用例生成模板等八種健壯性測試用例生成模板。
[0114]再次,根據(jù)所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進(jìn)行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數(shù)據(jù)的類型、長度、取值范圍中的一種或多種。
[0115]如字段a在使用必填字段缺失健壯性測試用例生成模板時,字段a所需輸入的數(shù)據(jù)缺失;字段b所需輸入的數(shù)據(jù)類型為整數(shù)、長度取2到16位中的任一值。
[0116]如字段a在使用必填字段為空健壯性測試用例生成模板時,字段a所需輸入的數(shù)據(jù)設(shè)置為空;字段b所需輸入的數(shù)據(jù)類型為整數(shù)、長度取2到16位中的任一值。
[0117]如字段a在使用字段長度不合法健壯性測試用例生成模板時,字段a所需輸入的數(shù)據(jù)類型為整數(shù),長度取值為2或者17位;字段b所需輸入的數(shù)據(jù)類型為整數(shù)、長度取2到16位中的任一值。
[0118]如字段a在使用字段類型不合法健壯性測試用例生成模板時,字段a所需輸入的數(shù)據(jù)類型為負(fù)數(shù)、小數(shù)、字符、字符串或漢字(生僻字)中的一種或多種,長度取為3到16位中任一值;字段b所需輸入的數(shù)據(jù)類型為整數(shù)、長度取2到16位中的任一值。
[0119]如在使用最全量字段輸入健壯性測試用例生成模板時,字段a所需輸入的數(shù)據(jù)類型為整數(shù),長度取16位;字段b所需輸入的數(shù)據(jù)類型為整數(shù),長度取16位。
[0120]如在使用最少量字段輸入健壯性測試用例生成模板時,字段a所需輸入的數(shù)據(jù)類型為整數(shù),長度取3位;字段b所需輸入的數(shù)據(jù)類型為整數(shù),長度取2位。
[0121]相應(yīng)地,字段b也需要確定在使用上述健壯性測試用例生成模板時,所需輸入的數(shù)據(jù)的類型、長度、取值范圍等信息。
[0122]最后,根據(jù)確定出的需要輸入的字段以及針對所述需要輸入的字段所輸入的數(shù)據(jù)的類型、長度、取值范圍中的一種或多種,為所述輸入接口生成健壯性測試用例集。
[0123]如字段a在使用必填字段缺失健壯性測試用例生成模板時,生成的健壯性測試用例中的輸入數(shù)據(jù)為b = 12345。
[0124]如字段a在使用必填字段為空健壯性測試用例生成模板時,生成的健壯性測試用例中的輸入數(shù)據(jù)為a =,b = 12345。
[0125]如字段a在使用字段長度不合法健壯性測試用例生成模板時,生成的健壯性測試用例中的輸入數(shù)據(jù)為 a = 23 或 a = 12345678998765432,b = 12345。
[0126]如字段a在使用字段類型不合法健壯性測試用例生成模板時,生成的健壯性測試用例中的輸入數(shù)據(jù)為a = sgfsgs, b = 12345。
[0127]如在使用最全量字段輸入健壯性測試用例生成模板時,生成的健壯性測試用例中的輸入數(shù)據(jù)為 a = 1234567899876543,b = 1234567899876543。
[0128]如在使用最少量字段輸入健壯性測試用例生成模板時,生成的健壯性測試用例中的輸入數(shù)據(jù)為a = 123,b = 12。
[0129]相應(yīng)地,字段b也需要在使用上述健壯性測試用例生成模板時,生成的健壯性測試用例。
[0130]將所有生成的健壯性測試用例集合在一起,用來對所述兩個數(shù)相加的接口進(jìn)行健壯性的測試。該接口定義了多少字段,就需要對所有的字段根據(jù)可以使用的所有的健壯性測試用例生成模板都需要進(jìn)行測試,同時必不可少的是對所有字段根據(jù)最全量字段輸入健壯性測試用例生成模板和最少量字段輸入健壯性測試用例生成模板生成健壯性測試用例集。
[0131]基于相同的技術(shù)構(gòu)思,圖2示出了一種接口健壯性測試用例生成裝置,該裝置可應(yīng)用于圖1所示的流程。
[0132]該裝置包括:
[0133]獲取單元201,用于獲取輸入接口的定義信息;
[0134]模板選擇單元202,用于根據(jù)所述輸入接口的定義信息確定所使用的健壯性測試用例生成模板;
[0135]測試用例生成單元203,用于根據(jù)所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進(jìn)行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數(shù)據(jù)的必填屬性、數(shù)據(jù)類型、長度、取值范圍中的一種或多種,并根據(jù)確定出的需要輸入的字段以及針對所述需要輸入的字段所輸入的數(shù)據(jù)的必填屬性、數(shù)據(jù)類型、長度、取值范圍中的一種或多種,為所述輸入接口生成健壯性測試用例集。
[0136]優(yōu)選地,所述測試用例生成單元203,具體用于:
[0137]如果所述輸入接口的定義信息中定義了必填字段的名稱、長度、數(shù)據(jù)類型、是否允許為空,則確定至少使用以下健壯性測試用例生成模板:必填字段缺失健壯性測試用例生成模板、必填字段為空健壯性測試用例生成模板、字段長度不合法健壯性測試用例生成模板,以及字段類型不合法健壯性測試用例生成模板;
[0138]根據(jù)所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進(jìn)行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數(shù)據(jù)的必填屬性、數(shù)據(jù)類型、長度、取值范圍中的一種或多種,包括:
[0139]根據(jù)所述輸入接口的定義信息中定義的必填字段的名稱以及所述必填字段缺失健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時不輸入所述必填字段的輸入數(shù)據(jù);
[0140]根據(jù)所述輸入接口中定義信息中定義的必填字段的名稱以及是否允許為空,以及所述必填字段為空健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時將所述必填字段的輸入數(shù)據(jù)設(shè)為空;
[0141]根據(jù)所述輸入接口中定義信息中定義的必填字段的名稱和長度以及所述字段長度不合法健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時將所述必填字段的輸入數(shù)據(jù)的長度設(shè)置為非法長度值,所述非法長度值至少包括所述必填字段的最大長度值加I和所述必填字段的最小長度值減I;
[0142]根據(jù)所述輸入接口中定義信息中定義的必填字段的名稱和數(shù)據(jù)類型以及所述字段類型不合法健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時將所述必填字段的輸入數(shù)據(jù)的類型設(shè)置為非法數(shù)據(jù)類型。
[0143]優(yōu)選地,所述測試用例生成單元203,具體用于:
[0144]如果所述輸入接口的定義信息中定義了非必填字段的名稱、長度、數(shù)據(jù)類型、是否允許為空,則確定至少使用以下健壯性測試用例生成模板:非必填字段缺失健壯性測試用例生成模板、非必填字段為空健壯性測試用例生成模板、字段長度不合法健壯性測試用例生成模板,以及字段類型不合法健壯性測試用例生成模板;
[0145]根據(jù)所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進(jìn)行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數(shù)據(jù)的必填屬性、數(shù)據(jù)類型、長度、取值范圍中的一種或多種,包括:
[0146]根據(jù)所述輸入接口的定義信息中定義的非必填字段的名稱以及所述非必填字段缺失健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時不輸入所述非必填字段的輸入數(shù)據(jù);
[0147]根據(jù)所述輸入接口的定義信息中定義的非必填字段的名稱以及是否允許為空,以及所述非必填字段為空健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時將所述非必填字段的輸入數(shù)據(jù)設(shè)為空;
[0148]根據(jù)所述輸入接口的定義信息中定義的非必填字段的名稱和長度以及所述字段長度不合法健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時將所述非必填字段的輸入數(shù)據(jù)的長度設(shè)置為非法長度值,所述非法長度值至少包括所述非必填字段的最大長度值加I和所述非必填字段的最小長度值減I;
[0149]根據(jù)所述輸入接口的定義信息中定義的非必填字段的名稱和數(shù)據(jù)類型以及所述字段類型不合法健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時將所述非必填字段的輸入數(shù)據(jù)的類型設(shè)置為非法數(shù)據(jù)類型。
[0150]優(yōu)選地,所述測試用例生成單元203根據(jù)所述輸入接口的定義信息確定出的所使用的健壯性測試用例生成模板,還包括:最全量字段輸入健壯性測試用例生成模板和最少量字段輸入健壯性測試用例生成模板;
[0151]所述測試用例生成單元203還用于:
[0152]根據(jù)所述輸入接口的定義信息中定義的所有字段的名稱和長度以及所述最全量字段輸入健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時輸入必填字段和非必填字段的輸入數(shù)據(jù)且每個字段的長度為本字段長度的最大值;
[0153]根據(jù)所述輸入接口的定義信息中定義的所有必填字段和非必填字段的名稱和長度以及所述最少量字段輸入健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時僅輸入必填字段的輸入數(shù)據(jù)且每個必填字段的長度本字段的最小長度。
[0154]優(yōu)選地,所述測試用例生成單元203,還用于:
[0155]在所述模板選擇單元根據(jù)所述輸入接口的定義信息確定所使用的健壯性測試用例生成模板之后,確定使用所述健壯性測試用例生成模板對所述輸入接口進(jìn)行健壯性測試時的預(yù)期結(jié)果。
[0156]基于上述實施例,通過獲取輸入接口的定義信息確定所使用的健壯性測試用例生成模板,再根據(jù)所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進(jìn)行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數(shù)據(jù)的必填屬性、數(shù)據(jù)類型、長度、取值范圍中的一種或多種,然后根據(jù)確定出的需要輸入的字段以及針對所述需要輸入的字段所輸入的數(shù)據(jù)的必填屬性、數(shù)據(jù)類型、長度、取值范圍中的一種或多種,為所述輸入接口生成健壯性測試用例集。通過本發(fā)明實施例可以解決現(xiàn)有技術(shù)中需要依賴于開發(fā)的源代碼,且無法驗證源代碼與接口文檔中定義的是否一致,無法保證測試的有效性的問題,大幅度提高健壯性測試的效率和有效性。
[0157]本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0158]這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0159]這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0160]盡管已描述了本發(fā)明的優(yōu)選實施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實施例以及落入本發(fā)明范圍的所有變更和修改。
[0161]顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
【權(quán)利要求】
1.一種接口健壯性測試用例生成方法,其特征在于,該方法包括: 獲取輸入接口的定義信息; 根據(jù)所述輸入接口的定義信息確定所使用的健壯性測試用例生成模板; 根據(jù)所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進(jìn)行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數(shù)據(jù)的必填屬性、數(shù)據(jù)類型、長度、取值范圍中的一種或多種; 根據(jù)確定出的需要輸入的字段以及針對所述需要輸入的字段所輸入的數(shù)據(jù)的必填屬性、數(shù)據(jù)類型、長度、取值范圍中的一種或多種,為所述輸入接口生成健壯性測試用例集。
2.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述輸入接口的定義信息確定所使用的健壯性測試用例生成模板,包括: 如果所述輸入接口的定義信息中定義了必填字段的名稱、長度、數(shù)據(jù)類型、是否允許為空,則確定至少使用以下健壯性測試用例生成模板:必填字段缺失健壯性測試用例生成模板、必填字段為空健壯性測試用例生成模板、字段長度不合法健壯性測試用例生成模板,以及字段類型不合法健壯性測試用例生成模板; 根據(jù)所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進(jìn)行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數(shù)據(jù)的必填屬性、數(shù)據(jù)類型、長度、取值范圍中的一種或多種,包括: 根據(jù)所述輸入接口的定義信息中定義的必填字段的名稱以及所述必填字段缺失健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時不輸入所述必填字段的輸入數(shù)據(jù); 根據(jù)所述輸入接口中定義信息中定義的必填字段的名稱以及是否允許為空,以及所述必填字段為空健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時將所述必填字段的輸入數(shù)據(jù)設(shè)為空; 根據(jù)所述輸入接口中定義信息中定義的必填字段的名稱和長度以及所述字段長度不合法健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時將所述必填字段的輸入數(shù)據(jù)的長度設(shè)置為非法長度值,所述非法長度值至少包括所述必填字段的最大長度值加I和所述必填字段的最小長度值減I; 根據(jù)所述輸入接口中定義信息中定義的必填字段的名稱和數(shù)據(jù)類型以及所述字段類型不合法健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時將所述必填字段的輸入數(shù)據(jù)的類型設(shè)置為非法數(shù)據(jù)類型。
3.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述輸入接口的定義信息確定所使用的健壯性測試用例生成模板,包括: 如果所述輸入接口的定義信息中定義了非必填字段的名稱、長度、數(shù)據(jù)類型、是否允許為空,則確定至少使用以下健壯性測試用例生成模板:非必填字段缺失健壯性測試用例生成模板、非必填字段為空健壯性測試用例生成模板、字段長度不合法健壯性測試用例生成模板,以及字段類型不合法健壯性測試用例生成模板; 根據(jù)所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進(jìn)行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數(shù)據(jù)的必填屬性、數(shù)據(jù)類型、長度、取值范圍中的一種或多種,包括: 根據(jù)所述輸入接口的定義信息中定義的非必填字段的名稱以及所述非必填字段缺失健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時不輸入所述非必填字段的輸入數(shù)據(jù); 根據(jù)所述輸入接口的定義信息中定義的非必填字段的名稱以及是否允許為空,以及所述非必填字段為空健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時將所述非必填字段的輸入數(shù)據(jù)設(shè)為空; 根據(jù)所述輸入接口的定義信息中定義的非必填字段的名稱和長度以及所述字段長度不合法健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時將所述非必填字段的輸入數(shù)據(jù)的長度設(shè)置為非法長度值,所述非法長度值至少包括所述非必填字段的最大長度值加I和所述非必填字段的最小長度值減I; 根據(jù)所述輸入接口的定義信息中定義的非必填字段的名稱和數(shù)據(jù)類型以及所述字段類型不合法健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時將所述非必填字段的輸入數(shù)據(jù)的類型設(shè)置為非法數(shù)據(jù)類型。
4.如權(quán)利要求2或3所述的方法,其特征在于,根據(jù)所述輸入接口的定義信息確定出的所使用的健壯性測試用例生成模板,還包括:最全量字段輸入健壯性測試用例生成模板和最少量字段輸入健壯性測試用例生成模板; 根據(jù)所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進(jìn)行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數(shù)據(jù)的必填屬性、數(shù)據(jù)類型、長度、取值范圍中的一種或多種,包括: 根據(jù)所述輸入接口的定義信息中定義的所有字段的名稱和長度以及所述最全量字段輸入健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時輸入必填字段和非必填字段的輸入數(shù)據(jù)且每個字段的長度為本字段長度的最大值; 根據(jù)所述輸入接口的定義信息中定義的所有必填字段和非必填字段的名稱和長度以及所述最少量字段輸入健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時僅輸入必填字段的輸入數(shù)據(jù)且每個必填字段的長度本字段的最小長度。
5.如權(quán)利要求1所述的方法,其特征在于,根據(jù)所述輸入接口的定義信息確定所使用的健壯性測試用例生成模板之后,還包括: 確定使用所述健壯性測試用例生成模板對所述輸入接口進(jìn)行健壯性測試時的預(yù)期結(jié)果O
6.一種接口健壯性測試用例生成裝置,其特征在于,該裝置包括: 獲取單元,用于獲取輸入接口的定義信息; 模板選擇單元,用于根據(jù)所述輸入接口的定義信息確定所使用的健壯性測試用例生成模板; 測試用例生成單元,用于根據(jù)所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進(jìn)行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數(shù)據(jù)的必填屬性、數(shù)據(jù)類型、長度、取值范圍中的一種或多種,并根據(jù)確定出的需要輸入的字段以及針對所述需要輸入的字段所輸入的數(shù)據(jù)的必填屬性、數(shù)據(jù)類型、長度、取值范圍中的一種或多種,為所述輸入接口生成健壯性測試用例集。
7.如權(quán)利要求6所述的裝置,其特征在于,所述測試用例生成單元,具體用于: 如果所述輸入接口的定義信息中定義了必填字段的名稱、長度、數(shù)據(jù)類型、是否允許為空,則確定至少使用以下健壯性測試用例生成模板:必填字段缺失健壯性測試用例生成模板、必填字段為空健壯性測試用例生成模板、字段長度不合法健壯性測試用例生成模板,以及字段類型不合法健壯性測試用例生成模板; 根據(jù)所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進(jìn)行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數(shù)據(jù)的必填屬性、數(shù)據(jù)類型、長度、取值范圍中的一種或多種,包括: 根據(jù)所述輸入接口的定義信息中定義的必填字段的名稱以及所述必填字段缺失健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時不輸入所述必填字段的輸入數(shù)據(jù); 根據(jù)所述輸入接口中定義信息中定義的必填字段的名稱以及是否允許為空,以及所述必填字段為空健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時將所述必填字段的輸入數(shù)據(jù)設(shè)為空; 根據(jù)所述輸入接口中定義信息中定義的必填字段的名稱和長度以及所述字段長度不合法健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時將所述必填字段的輸入數(shù)據(jù)的長度設(shè)置為非法長度值,所述非法長度值至少包括所述必填字段的最大長度值加I和所述必填字段的最小長度值減I; 根據(jù)所述輸入接口中定義信息中定義的必填字段的名稱和數(shù)據(jù)類型以及所述字段類型不合法健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時將所述必填字段的輸入數(shù)據(jù)的類型設(shè)置為非法數(shù)據(jù)類型。
8.如權(quán)利要求6所述的裝置,其特征在于,所述測試用例生成單元,具體用于: 如果所述輸入接口的定義信息中定義了非必填字段的名稱、長度、數(shù)據(jù)類型、是否允許為空,則確定至少使用以下健壯性測試用例生成模板:非必填字段缺失健壯性測試用例生成模板、非必填字段為空健壯性測試用例生成模板、字段長度不合法健壯性測試用例生成模板,以及字段類型不合法健壯性測試用例生成模板; 根據(jù)所述輸入接口的定義信息以及所確定的健壯性測試用例生成模板,確定對所述輸入接口進(jìn)行健壯性測試時需要輸入的字段以及針對所述需要輸入的字段所輸入的數(shù)據(jù)的必填屬性、數(shù)據(jù)類型、長度、取值范圍中的一種或多種,包括: 根據(jù)所述輸入接口的定義信息中定義的非必填字段的名稱以及所述非必填字段缺失健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時不輸入所述非必填字段的輸入數(shù)據(jù); 根據(jù)所述輸入接口的定義信息中定義的非必填字段的名稱以及是否允許為空,以及所述非必填字段為空健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時將所述非必填字段的輸入數(shù)據(jù)設(shè)為空; 根據(jù)所述輸入接口的定義信息中定義的非必填字段的名稱和長度以及所述字段長度不合法健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時將所述非必填字段的輸入數(shù)據(jù)的長度設(shè)置為非法長度值,所述非法長度值至少包括所述非必填字段的最大長度值加I和所述非必填字段的最小長度值減I ; 根據(jù)所述輸入接口的定義信息中定義的非必填字段的名稱和數(shù)據(jù)類型以及所述字段類型不合法健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時將所述非必填字段的輸入數(shù)據(jù)的類型設(shè)置為非法數(shù)據(jù)類型。
9.如權(quán)利要求7或8所述的裝置,其特征在于,所述測試用例生成單元根據(jù)所述輸入接口的定義信息確定出的所使用的健壯性測試用例生成模板,還包括:最全量字段輸入健壯性測試用例生成模板和最少量字段輸入健壯性測試用例生成模板; 所述測試用例生成單元還用于: 根據(jù)所述輸入接口的定義信息中定義的所有字段的名稱和長度以及所述最全量字段輸入健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時輸入必填字段和非必填字段的輸入數(shù)據(jù)且每個字段的長度為本字段長度的最大值; 根據(jù)所述輸入接口的定義信息中定義的所有必填字段和非必填字段的名稱和長度以及所述最少量字段輸入健壯性測試用例生成模板,確定在對所述輸入接口進(jìn)行健壯性測試時僅輸入必填字段的輸入數(shù)據(jù)且每個必填字段的長度本字段的最小長度。
10.如權(quán)利要求6所述的裝置,其特征在于,所述測試用例生成單元,還用于: 在所述模板選擇單元根據(jù)所述輸入接口的定義信息確定所使用的健壯性測試用例生成模板之后,確定使用所述健壯性測試用例生成模板對所述輸入接口進(jìn)行健壯性測試時的預(yù)期結(jié)果。
【文檔編號】G06F11/36GK104407976SQ201410714715
【公開日】2015年3月11日 申請日期:2014年11月28日 優(yōu)先權(quán)日:2014年11月28日
【發(fā)明者】趙軍, 陽淦婷, 鄒國平 申請人:聯(lián)動優(yōu)勢電子商務(wù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
海阳市| 商都县| 潼南县| 冀州市| 天津市| 独山县| 常熟市| 洛阳市| 渝北区| 黔西| 固始县| 桃园县| 岳阳县| 尖扎县| 无为县| 清徐县| 廊坊市| 洪江市| 铜山县| 沿河| 湖北省| 游戏| 沛县| 宜兰县| 峨山| 柳州市| 金沙县| 海伦市| 龙井市| 遂川县| 黑龙江省| 平罗县| 泰和县| 上思县| 莫力| 富锦市| 陈巴尔虎旗| 龙川县| 讷河市| 平江县| 峨眉山市|