一種功能測試案例的生成方法及裝置的制造方法
【專利摘要】本申請公開的一種功能測試案例的生成方法和裝置,獲取測試規(guī)則信息、測試要素、以及測試要素對應(yīng)的測試要素取值,然后針對測試規(guī)則信息生成對應(yīng)的第一案例,再將獲取的每一測試要素取值作為目標測試要素取值,與生成的第一案例包括的測試要素取值進行匹配,如果匹配失敗,則利用未匹配成功的目標測試要素取值生成對應(yīng)的第二案例,最后將第一案例和第二案例進行合并去重,生成案例列表。相比原來測試人員逐條編寫案例,減少了案例的設(shè)計時間,進而提高了效率。
【專利說明】
-種功能測試案例的生成方法及裝置
技術(shù)領(lǐng)域
[0001] 本申請設(shè)及功能測試領(lǐng)域,更具體地說,設(shè)及一種功能測試案例的生成方法及裝 置。
【背景技術(shù)】
[0002] 功能測試是根據(jù)產(chǎn)品特性、操作描述和用戶方案,測試一個產(chǎn)品的特性和可操作 行為,W確定他們是否滿足設(shè)計需求。功能測試是為了確保程序W期望的方式運行,而按功 能要求對軟件進行的測試,通過對一個系統(tǒng)的所有特性和功能都進行測試確保符合需求和 規(guī)范。功能測試也叫黑盒測試或數(shù)據(jù)驅(qū)動測試,只需考慮需要測試的各個功能,不需要考慮 整個軟件的內(nèi)部結(jié)構(gòu)W及代碼,在程序接口進行測試,檢測程序是否能在接收正確的輸入 數(shù)據(jù)而產(chǎn)生正確的輸出結(jié)果。
[0003] -般的,測試人員根據(jù)需求人為的設(shè)計出來功能測試案例,輸入數(shù)據(jù)在預(yù)期結(jié)果 和實際結(jié)果之間進行測評。測試案例是指對軟件產(chǎn)品進行測試數(shù)據(jù)、預(yù)期結(jié)果等信息進行 描述的文檔。人為的設(shè)計功能測試案例,需要測試人員逐條編寫,過程復(fù)雜繁瑣,花費的時 間較長,效率低下。
【發(fā)明內(nèi)容】
[0004] 有鑒于此,本申請?zhí)岢鲆环N功能測試案例的生成方法及裝置,欲實現(xiàn)自動生成功 能測試案例,減少功能測試案例的設(shè)計時間,提高效率的目的。
[0005] 為了實現(xiàn)上述目的,現(xiàn)提出的方案如下:
[0006] -種功能測試案例的生成方法,包括:
[0007] 獲取測試規(guī)則信息、測試要素、W及所述測試要素對應(yīng)的測試要素取值;
[0008] 針對所述測試規(guī)則信息生成對應(yīng)的第一案例;
[0009] 將獲取的每一所述測試要素取值作為目標測試要素取值,與所述第一案例包括的 測試要素取值進行匹配,如果匹配失敗,則利用未匹配成功的目標測試要素取值生成對應(yīng) 的第二案例;
[0010] 將所述第一案例和所述第二案例進行合并去重,生成案例列表。
[0011] 優(yōu)選的,所述測試規(guī)則信息包括:
[0012] 約束規(guī)則信息和邏輯規(guī)則信息,所述約束規(guī)則信息包括不同所述測試要素對應(yīng)的 測試要素取值之間的對應(yīng)關(guān)系,所述邏輯規(guī)則信息包括一個所述測試要素對應(yīng)的N個測試 要素取值與另一個所述測試要素對應(yīng)的M個測試要素取值之間的組合關(guān)系,N和M為正整數(shù)。 [001引優(yōu)選的,所述針對所述巧聯(lián)規(guī)則信息生成對應(yīng)的第一案例,包括:
[0014] 根據(jù)所述邏輯規(guī)則信息包括的所述組合關(guān)系確定第一測試要素的第一取值組合;
[0015] 判斷所述第一測試要素對應(yīng)的測試要素取值是否存在所述約束規(guī)則信息中,如果 存在,則確定與所述第一測試測試要素對應(yīng)的測試要素取值存在對應(yīng)關(guān)系的第二測試要素 對應(yīng)的測試要素取值;
[0016] 針對未確定測試要素取值的第=測試要素,選取所述第=測試要素對應(yīng)的測試要 素取值形成第二取值組合,如果選取的測試要素取值存在所述約束規(guī)則信息中,則需要保 障選取的測試要素取值對應(yīng)的所述約束規(guī)則信息包含的其它測試要素對應(yīng)的取值滿足所 述約束規(guī)則;
[0017] 將所述第一取值組合、所述第二測試要素對應(yīng)的測試要素取值和所述第二取值組 合進行組合形成所述第一案例。
[0018] 優(yōu)選的,所述針對所述測試規(guī)則信息生成對應(yīng)的第一案例,包括:
[0019] 根據(jù)每一所述約束規(guī)則信息包括的對應(yīng)關(guān)系確定第四測試要素對應(yīng)的測試要素 取值;
[0020] 針對未確定測試要素取值的第五測試要素,選取所述第五測試要素對應(yīng)的測試要 素取值形成第=取值組合,如果選取的測試要素取值存在所述約束規(guī)則信息中,則需要保 障選取的測試要素取值對應(yīng)的所述約束規(guī)則信息包含的其它測試要素對應(yīng)的取值滿足所 述約束規(guī)則;
[0021] 將所述第四測試要素對應(yīng)的測試要素取值與所述第=取值組合進行組合形成所 述第一案例。
[0022] 優(yōu)選的,所述利用未匹配成功的目標測試要素取值生成對應(yīng)的第二案例,包括:
[0023] 針對未確定測試要素取值的第六測試要素,選取所述第六測試要素對應(yīng)的測試要 素取值形成第=取值組合,如果選取的測試要素取值存在所述約束規(guī)則信息中,則需要保 障選取的測試要素取值對應(yīng)的所述約束規(guī)則信息包含的其它測試要素對應(yīng)的取值滿足所 述約束規(guī)則;
[0024] 將所述目標測試要素取值與所述第四取值組合進行組合形成所述第二案例。
[0025] -種功能測試案例的生成裝置,包括:
[0026] 規(guī)則獲取單元,用于獲取測試規(guī)則信息;
[0027] 要素獲取單元,用于獲取測試要素、W及所述測試要素對應(yīng)的測試要素取值;
[0028] 第一案例生成單元,用于針對所述測試規(guī)則信息生成對應(yīng)的第一案例;
[0029] 第二案例生成單元,用于將獲取的每一所述測試要素取值作為目標測試要素取 值,與所述第一案例包括的測試要素取值進行匹配,如果匹配失敗,則利用未匹配成功的目 標測試要素取值生成對應(yīng)的第二案例;
[0030] 案例列表成成單元,用于將所述第一案例和所述第二案例進行合并去重,生成案 例列表。
[0031] 優(yōu)選的,所述規(guī)則獲取單元包括:
[0032] 約束規(guī)則獲取單元,用于獲取約束規(guī)則信息,所述約束規(guī)則信息包括不同所述測 試要素對應(yīng)的測試要素取值之間的對應(yīng)關(guān)系;
[0033] 邏輯規(guī)則獲取單元,用于獲取邏輯規(guī)則信息,所述邏輯規(guī)則信息包括一個所述測 試要素對應(yīng)的N個測試要素取值與另一個所述測試要素對應(yīng)的M個測試要素取值之間的組 合關(guān)系,N和M為正整數(shù)。
[0034] 優(yōu)選的,所述第一案例生成單元包括:
[0035] 第一測試要素的取值單元,用于根據(jù)所述邏輯規(guī)則信息包括的所述組合關(guān)系確定 第一測試要素的第一取值組合;
[0036] 第二測試要素的取值單元,用于判斷所述第一測試要素對應(yīng)的測試要素取值是否 存在所述約束規(guī)則信息中,如果存在,則確定與所述第一測試要素對應(yīng)的測試要素取值存 在對應(yīng)關(guān)系的第二測試要素對應(yīng)的測試要素取值;
[0037] 第=測試要素的取值單元,用于針對未確定測試要素取值的第=測試要素,選取 所述第=測試要素對應(yīng)的測試要素取值形成第二取值組合,如果選取的測試要素取值存在 所述約束規(guī)則信息中,則需要保障選取的測試要素取值對應(yīng)的所述約束規(guī)則信息包含的其 它測試要素對應(yīng)的取值滿足所述約束規(guī)則;
[0038] 案例生成第一子單元,用于將所述第一取值組合、所述第二測試要素對應(yīng)的測試 要素取值和所述第二取值組合進行組合形成所述第一案例。
[0039] 優(yōu)選的,所述第一案例生成單元包括:
[0040] 第四測試要素的取值單元,用于根據(jù)所述約束規(guī)則信息包括的對應(yīng)關(guān)系確定第四 測試要素對應(yīng)的測試要素取值;
[0041] 第五測試要素的取值單元,用于針對未確定測試要素取值的第五測試要素,選取 所述第五測試要素對應(yīng)的測試要素取值形成第=取值組合,如果選取的測試要素取值存在 所述約束規(guī)則信息中,則需要保障選取的測試要素取值對應(yīng)的所述約束規(guī)則信息包含的其 它測試要素對應(yīng)的取值滿足所述約束規(guī)則;
[0042] 案例生成第二子單元,用于將所述第四測試要素對應(yīng)的測試要素取值與所述第= 取值組合進行組合形成所述第一案例。
[0043] 優(yōu)選的,所述第二案例生成單元包括:
[0044] 第六測試要素的取值單元,用于針對未確定測試要素取值的第六測試要素,選取 所述第六測試要素對應(yīng)的測試要素取值形成第=取值組合,如果選取的測試要素取值存在 所述約束規(guī)則信息中,則需要保障選取的測試要素取值對應(yīng)的所述約束規(guī)則信息包含的其 它測試要素對應(yīng)的取值滿足所述約束規(guī)則;
[0045] 第二案例生成子單元,用于將所述目標測試要素取值與所述第四取值組合進行組 合形成所述第二案例。
[0046] 從上述的技術(shù)方案可W看出,本申請公開的功能測試案例的生成方法和裝置,獲 取測試規(guī)則信息、測試要素、W及測試要素對應(yīng)的測試要素取值,然后針對測試規(guī)則信息生 成對應(yīng)的第一案例,再將獲取的每一測試要素取值作為目標測試要素取值,與生成的第一 案例包括的測試要素取值進行匹配,如果匹配失敗,則針對未匹配成功的目標測試要素取 值生成對應(yīng)的第二案例,最后將第一案例和第二案例進行合并去重,生成案例列表。相比原 來測試人員逐條編寫案例,減少了案例的設(shè)計時間,進而提高了效率。
【附圖說明】
[0047] 為了更清楚地說明本申請實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 申請的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可W 根據(jù)運些附圖獲得其他的附圖。
[0048] 圖1為本實施例公開的一種功能測試案例的生成方法的流程圖;
[0049] 圖2為本實施例公開的一種針對邏輯規(guī)則信息生成案例的方法的流程圖;
[0050]圖3為本實施例公開的一種針對約束規(guī)則信息生成案例的方法的流程圖;
[0051 ]圖4為本實施例公開的一種針對測試要素取值生成案例的方法的流程圖;
[0052] 圖5為本實施例公開的一種功能測試案例的生成裝置的示意圖;
[0053] 圖6為本實施例公開的一種第一案例生成單元的示意圖;
[0054] 圖7為本實施例公開的另一種第一案例生成單元的示意圖;
[0055] 圖8為本實施例公開的一種第二案例生成單元的示意圖。
【具體實施方式】
[0056] 下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例。基于 本申請中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本申請保護的范圍。
[0057] 本申請公開的功能測試案例的生成方法和裝置,實現(xiàn)根據(jù)測試規(guī)則、測試要素 、W 及測試要素對應(yīng)的測試要素取值,自動生成功能測試案例,不需要測試人員人工逐條編寫 案例,減少了功能測試案例的設(shè)計時間,提高了效率。
[0058] 本實施例公開一種功能測試案例的生成方法,參見圖1所示,包括:
[0059] 步驟Sll:獲取測試規(guī)則信息、測試要素、W及測試要素對應(yīng)的測試要素取值。
[0060] 要素就是系統(tǒng)功能的基本單元,規(guī)則就是要素間的關(guān)聯(lián)關(guān)系,描述多個要素之間 的關(guān)聯(lián)性,體現(xiàn)業(yè)務(wù)規(guī)則中多個要素的約束或者組合。
[0061 ]步驟S12:針對測試規(guī)則信息生成對應(yīng)的第一案例。
[0062] 步驟S13:將獲取的每一測試要素取值作為目標測試要素取值,與第一案例包括的 測試要素取值進行匹配,如果匹配失敗,則利用未匹配成功的目標測試要素取值生成對應(yīng) 的第二案例。
[0063] 步驟S14:將第一案例和第二案例進行合并去重,生成案例列表。
[0064] 本實施例公開的功能測試案例的生成方法,根據(jù)測試規(guī)則、測試要素、W及測試要 素對應(yīng)的測試要素取值,自動生成功能測試案例,不需要測試人員人工逐條編寫案例,減少 了功能測試案例的設(shè)計時間,提高了效率。本方法將測試案例編寫依據(jù)的業(yè)務(wù)規(guī)則劃分為 測試要素和測試規(guī)則部分,W預(yù)先定義好的標準來表達著兩部分內(nèi)容,然后通過功能測試 案例的生成方法,自動生成功能測試案例。預(yù)先進行的標準化定義,保存了功能測試案例生 成過程中的中間資產(chǎn),使得功能測試案例更加容易評審。實現(xiàn)功能測試案例設(shè)計的標準化, 實現(xiàn)功能測試案例設(shè)計思維具體化,實現(xiàn)功能測試案例生產(chǎn)自動化,W及業(yè)務(wù)規(guī)則公式化。
[0065] 測試規(guī)則信息包括:約束規(guī)則信息和邏輯規(guī)則信息,約束規(guī)則信息包括不同測試 要素對應(yīng)的測試要素取值之間的對應(yīng)關(guān)系,邏輯規(guī)則信息包括一個測試要素對應(yīng)的N個測 試要素取值與另一個測試要素對應(yīng)的M個測試要素取值之間的組合關(guān)系。例如約束規(guī)則信 息乂 :憑單(交易類別)憑單(支取方式r表示在交易類別(測試要素)取值為憑單(測試要素 取值)時,支取方式只能取值憑單。邏輯規(guī)則信息"憑單(交易類別)協(xié)議+浮動+牌告巧峰信 息)"代表生成的案例會將利率方式的"協(xié)議、浮動、牌告"運立個取值與交易類別的"憑單" 運個取值組合起來生成"憑單協(xié)議"、"憑單浮動"、"憑單牌告種取值組合。
[0066] 本實施例公開一種針對邏輯規(guī)則信息生成案例的方法,參見圖2所示,包括:
[0067] 步驟S21:根據(jù)邏輯規(guī)則信息包括的組合關(guān)系確定第一測試要素的第一取值組合。
[0068] 邏輯規(guī)則信息包括一個測試要素對應(yīng)的N個測試要素取值與另一個測試要素對應(yīng) 的M個測試要素取值之間的組合關(guān)系。例如,邏輯規(guī)則信息"憑單(交易類別)協(xié)議+浮動+牌 告(利率方式r代表生成的案例會將利率方式的"協(xié)議、浮動、牌告"運=個取值與交易類別 的"憑單"運個取值組合起來生成"憑單協(xié)議"、"憑單浮動"、"憑單牌告種組合取值。 即根據(jù)邏輯規(guī)則信息"憑單協(xié)議+浮動+牌告",可W確定第一測試要素交易類別和利率方式 的第一取值組合"憑單協(xié)議"、"憑單浮動"和"憑單牌告?zhèn)€取值組合。
[0069] 步驟S22:判斷第一測試要素取值是否存在約束規(guī)則信息中,如果存在,則確定與 第一測試要素對應(yīng)的測試要素取值存在對應(yīng)關(guān)系的第二測試要素對應(yīng)的測試要素取值。
[0070] 確定"憑單協(xié)議"、"憑單浮動"、"憑單牌告種組合取值后,判斷交易類別的 取值"憑單"和利率方式的取值"協(xié)議V'浮動"和"牌告"是否存在約束規(guī)則信息中。判斷出 交易類別的取值"憑單"存在約束約束規(guī)則信息乂:憑單憑單"中,即交易類別取值為憑單 時,支取方式只能取值憑單,因此,確定與交易類別的取值"憑單"存在對應(yīng)關(guān)系的支取方式 取值為"憑單"。即確定第二測試要素(支取方式)對應(yīng)的測試要素取值為"憑單"。
[0071] 步驟S23:針對未確定測試要素取值的第=測試要素,選取第=測試要素對應(yīng)的測 試要素取值形成第二取值組合,如果選取的測試要素取值存在約束規(guī)則信息中,則需要保 障選取的測試要素取值對應(yīng)的約束規(guī)則信息包含的其它測試要素對應(yīng)的取值滿足所述約 束規(guī)則。
[0072] 執(zhí)行步驟S21和S22后,支取方式、交易類別和利率信息的取值都已經(jīng)確定,執(zhí)行步 驟S23對于其他還未確定測試要素取值的測試要素,從每個測試要素對應(yīng)全部測試要素取 值中任意選取一個測試要素取值形成取值組合,例如如果還未確定測試要素取值的測試要 素為測試要素 A和測試要素 B,其中測試要素 A對應(yīng)的測試要素取值為Al和A2,從中任意選取 一個測試要素取值A(chǔ)l,測試要素 B對應(yīng)的取值為Bl和B2,從中任意選取一個測試要素取值 B2,形成一個包含測試要素 B對應(yīng)的測試要素取值A(chǔ)l, W及測試要素 A對應(yīng)的測試要素取值 B2,的取值組合。如果選取的測試要素取值A(chǔ)l存在某個約束規(guī)則信息E中(測試要素 A對應(yīng)的 測試要素取值為Al時,測試要素 B對應(yīng)的測試要素取值只能為BI),則需要保障選取的測試 要素取值A(chǔ)l對應(yīng)的約束規(guī)則信息E包含的其它測試要素 B對應(yīng)的測試要素取值滿足所述約 束規(guī)則,由于此時測試要素 B選取的測試要素取值是B2,因此,需要選取測試要素 B的測試要 素取值為B1。也可W是先確定任意一個測試要素的取值,例如,選取測試要素 A的任意一個 測試要素取值A(chǔ)l,判斷選取的測試要素取值A(chǔ)l是否存在約束規(guī)則信息中,如果存在某個約 束規(guī)則信息E中(測試要素 A對應(yīng)的測試要素取值為Al時,測試要素 B對應(yīng)的測試要素取值只 能為BI),則確定與選取的測試要素取值A(chǔ)l存在對應(yīng)關(guān)系的測試要素 B的測試要素取值BI; 如果不存在,則繼續(xù)從剩下的未確定測試要素取值的測試要素中,選出一個測試要素郵角定 其測試要素取值,直到將所有的測試要素的測試要素取值都確定下來。
[0073] 步驟S24:將第一取值組合、第二測試要素對應(yīng)的測試要素取值和第二取值組合進 行組合形成第一案例。
[0074] 本實施例公開一種針對約束規(guī)則信息生成案例的方法,參見圖3所示,包括:
[0075] 步驟S31:根據(jù)每一約束規(guī)則信息包括的對應(yīng)關(guān)系確定第四測試要素對應(yīng)的測試 要素取值。
[0076] 約束規(guī)則信息包括不同測試要素對應(yīng)的測試要素取值之間的對應(yīng)關(guān)系,例如根據(jù) 約束規(guī)則信息乂:憑單憑單"確定交易類別取值為憑單,支取方式取值憑單。即第四測試要 素交易類別和支取方式的測試要素取值分別為憑單和憑單。
[0077] 步驟S32:針對未確定測試要素取值的第五測試要素,選取第五測試要素對應(yīng)的測 試要素取值形成第=取值組合,如果選取的測試要素取值存在約束規(guī)則信息中,則需要保 障選取的測試要素取值對應(yīng)的約束規(guī)則信息包含的其它測試要素對應(yīng)的取值滿足所述約 束規(guī)則。
[0078] 步驟S33:將第四測試要素取值與第=取值組合進行組合形成第一案例。
[0079] 本實施例公開一種針對測試要素取值生成案例的方法,參見圖4所示,包括:
[0080] 步驟S41:針對未確定測試要素取值的第六測試要素,選取第六測試要素對應(yīng)的測 試要素取值形成第=取值組合,如果選取的測試要素取值存在約束規(guī)則信息中,則需要保 障選取的測試要素取值對應(yīng)的約束規(guī)則信息包含的其它測試要素對應(yīng)的取值滿足約束規(guī) 則;
[0081] 步驟S42:將目標測試要素取值與第四取值組合進行組合形成所述第二案例。
[0082] 本實施例公開一種功能測試案例的生成裝置,參見圖5所示,包括:
[0083] 規(guī)則獲取單元11,用于獲取測試規(guī)則信息。
[0084] 要素獲取單元12,用于獲取測試要素、W及測試要素對應(yīng)的測試要素取值。
[0085] 第一案例生成單元13,用于針對測試規(guī)則信息生成對應(yīng)的第一案例。
[0086] 第二案例生成單元14,用于將獲取的每一測試要素取值作為目標測試要素取值, 與第一案例包括的測試要素取值進行匹配,如果匹配失敗,則利用未匹配成功的目標測試 要素取值生成對應(yīng)的第二案例。
[0087] 案例列表成成單元15,用于將第一案例和第二案例進行合并去重,生成案例列表。
[0088] 本實施例公開的功能測試案例的生成裝置,根據(jù)測試規(guī)則、測試要素、W及測試要 素對應(yīng)的測試要素取值,自動生成功能測試案例,不需要測試人員人工逐條編寫案例,減少 了功能測試案例的設(shè)計時間,提高了效率。將測試案例編寫依據(jù)的業(yè)務(wù)規(guī)則劃分為測試要 素和測試規(guī)則部分,W預(yù)先定義好的標準來表達著兩部分內(nèi)容,然后通過功能測試案例的 生成裝置,自動生成功能測試案例。預(yù)先進行的標準化定義,保存了功能測試案例生成過程 中的中間資產(chǎn),使得功能測試案例更加容易評審。實現(xiàn)功能測試案例設(shè)計的標準化,實現(xiàn)功 能測試案例設(shè)計思維具體化,實現(xiàn)功能測試案例生產(chǎn)自動化,W及業(yè)務(wù)規(guī)則公式化。
[0089] 優(yōu)選的,規(guī)則獲取單元11包括:約束規(guī)則獲取單元,用于獲取約束規(guī)則信息,約束 規(guī)則信息包括不同測試要素對應(yīng)的測試要素取值之間的對應(yīng)關(guān)系;邏輯規(guī)則獲取單元,用 于獲取邏輯規(guī)則信息,邏輯規(guī)則信息包括一個測試要素對應(yīng)的N個測試要素取值與另一個 測試要素對應(yīng)的M個測試要素取值之間的組合關(guān)系。
[0090] 本實施例公開一種第一案例生成單元,參見圖6所示,包括
[0091] 第一測試要素的取值單元131,用于根據(jù)邏輯規(guī)則信息包括的組合關(guān)系確定第一 測試要素的第一取值組合。
[0092] 第二測試要素的取值單元132,用于判斷第一測試要素對應(yīng)的測試要素取值是否 存在約束規(guī)則信息中,如果存在,則確定與第一測試要素對應(yīng)的測試要素取值存在對應(yīng)關(guān) 系的第二測試要素對應(yīng)的測試要素取值。
[0093] 第=測試要素的取值單元133,用于針對未確定測試要素取值的第=測試要素,選 取第=測試要素對應(yīng)的測試要素取值形成第二取值組合,如果選取的測試要素取值存在約 束規(guī)則信息中,則需要保障選取的測試要素取值對應(yīng)的約束規(guī)則信息包含的其它測試要素 對應(yīng)的取值滿足約束規(guī)則。
[0094] 案例生成第一子單元134,用于將第一取值組合、第二測試要素對應(yīng)的測試要素取 值和第二取值組合進行組合形成第一案例。
[00M]本實施例公開另一種第一案例生成單元,參見圖7所示,包括:
[0096] 第四測試要素的取值單元135,用于根據(jù)約束規(guī)則信息包括的對應(yīng)關(guān)系確定第四 測試要素對應(yīng)的測試要素取值。
[0097] 第五測試要素的取值單元136,用于針對未確定測試要素取值的第五測試要素,選 取第五測試要素對應(yīng)的測試要素取值形成第=取值組合,如果選取的測試要素取值存在約 束規(guī)則信息中,則需要保障選取的測試要素取值對應(yīng)的約束規(guī)則信息包含的其它測試要素 對應(yīng)的取值滿足約束規(guī)則。
[0098] 案例生成第二子單元137,用于將第四測試要素對應(yīng)的測試要素取值與第=取值 組合進行組合形成第一案例。
[0099] 本實施例公開一種第二案例生成單元,參見圖8所示,包括:
[0100] 第六測試要素的取值單元141,用于針對未確定測試要素取值的第六測試要素,選 取第六測試要素對應(yīng)的測試要素取值形成第=取值組合,如果選取的測試要素取值存在約 束規(guī)則信息中,則需要保障選取的測試要素取值對應(yīng)的約束規(guī)則信息包含的其它測試要素 對應(yīng)的取值滿足約束規(guī)則。
[0101 ]第二案例生成子單元142,用于將目標測試要素取值與第四取值組合進行組合形 成所述第二案例。
[0102]本實施例公開了功能測試案例自動生成的具體過程,下表為測試要素、測試要素 對應(yīng)的測試要素取值、W及測試規(guī)則信息。
[01031
[0104] 測試要素,如"交易種類",W及測試要素取值,如"憑單"、"不憑單"。測試規(guī)則包括 測試要素之間的關(guān)聯(lián)關(guān)系,如乂:憑單憑單",表示交易類別取值為憑單時,支取方式取值 只能為憑單。"憑單協(xié)議+牌告+浮動",表示交易類別取值為憑單,利率方式為協(xié)議、牌告或 浮動,即"憑單協(xié)議"、"憑單牌告"、"憑單浮動",=種取值方式。
[0105] 自動生成功能測試案例的過程為,規(guī)則獲取單元和要素獲取單元分別獲取測試規(guī) 則、巧聯(lián)要素、W及測試要素取值,即在上表中信息。
[0106] 第一案例生成單元針對邏輯規(guī)則生成對應(yīng)的案例。針對邏輯規(guī)則生成案例時,會 判斷邏輯規(guī)則包含的測試要素取值是否在其他約束規(guī)則中,如果在其他約束規(guī)則中,還需 要將相應(yīng)的其他的測試要素取值確定為約束規(guī)則中的取值,比如交易類別取值"憑單",存 在約束規(guī)則乂:憑單憑單"中,因此支取方式取值都確定為"憑單"。
[0107]
[0108] 對于證件種類、通兌標志和機構(gòu)信息=個未確定取值的測試要素,針對第一個案 例的證件種類的取值選擇為"空",然后判斷"空"不存在約束規(guī)則信息中,然后繼續(xù)對下一 測試要素"通兌標識"取值進行選取,選取的取值為"不通兌",再然后判斷"不通兌"存在約 束規(guī)則乂:不通兌開戶機構(gòu)"中,進而根據(jù)乂:不通兌開戶機構(gòu)"確定"機構(gòu)信息"的取值為 "開戶機構(gòu)"。第二個案例和第=個案例的生成過程與第一個案例的生成過程類似,不再寶 述。。
[0109] 第一案例生成單元針對約束規(guī)則生成對應(yīng)的案例。針對每一約束規(guī)則分別生成對 應(yīng)的正案例和反案例。正案例是為了驗證軟件產(chǎn)品可W正常地完成某項功能而不會報錯。 反案例是為了驗證軟件產(chǎn)品在遇到某種預(yù)先設(shè)定的不合規(guī)場景時,做出錯誤提示,并且不 再進行后續(xù)的處理。 rnnni
L〇111」上表中,第一個案例和第二個案例為針對約束規(guī)則"C:憑單憑單"分別生成的正 案例和反案例。第一個案例,首先根據(jù)約束規(guī)則乂:憑單憑單"確定交易類別和支取方式的 取值分別為"憑單"和"憑單"。對于未確定取值的證件種類、通兌標志、機構(gòu)信息和利率方 式,首選選取證件種類的取值為"有效非空",然后判斷"有效非空"不存在約束規(guī)則信息中, 然后繼續(xù)對下一測試要素"通兌標識"取值進行選取,選取的取值為"通兌",再然后判斷"通 兌"不存在約束規(guī)則中,再對測試要素"機構(gòu)信息"的取值進行選取,選取的取值為"開戶機 構(gòu)",判斷"開戶機構(gòu)"存在約束規(guī)則乂:不通兌開戶機構(gòu)"中,由于約束規(guī)則乂:不通兌開戶 機構(gòu)"表示的是通兌標識的取值為"不通兌"時,機構(gòu)信息的取值只能為"開戶機構(gòu)",因此, 雖然"開戶機稱'存在約束規(guī)則信息中,但是,不影響"通兌標識"的取值,所W不用改變"通 兌標識"的取值,進而繼續(xù)對"利率信息"的取值進行選取,選取的取值為"協(xié)議",判斷"協(xié) 議"不存在約束協(xié)議信息中。第二個案例與第一個案例的生成過程只有在根據(jù)約束規(guī)則乂: 憑單憑單"確定交易類別和支取方式的取值時存在不同,對支取方式的取值取非得到取值 "憑印",后續(xù)過程第一案例過程相同。而針對約束規(guī)則乂 :不通兌開戶機構(gòu)"生成第四個和 第五個案例的過程類似,不再寶述。。第一案例生成單元針對邏輯規(guī)則生成對應(yīng)的案例,W 及針對約束規(guī)則生成對應(yīng)的案例可W同時進行,也可W是一先一后,本申請對此不做限定。 [0112]判斷所有測試要素的所有取值是否都在已經(jīng)生成的第一案例中,針對未覆蓋到的 測試案例取值生成對應(yīng)的第二案例。 「40 1
[0114」例如文易類別取值"小巧單"并小巧d給生成的巧一柔例中,上表中巧一個柔例刃 針對"不憑單"生成案例,第二個案例和第=個案例分別針對"憑單印"和"憑印"生成的案 例。其生成過程與第一案例中的案例生成過程類似,在此不再寶述。。
[0115] 將上述生成的所有第一案例和第二案例進行合并去重,得到案例列表。
[0116] 對于裝置實施例而言,由于其基本相應(yīng)于方法實施例,所W相關(guān)之處參見方法實 施例的部分說明即可。W上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件 說明的單元可W是或者也可W不是物理上分開的,作為單元顯示的部件可W是或者也可W 不是物理單元,即可W位于一個地方,或者也可W分布到多個網(wǎng)絡(luò)單元上??蒞根據(jù)實際的 需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領(lǐng)域普通技術(shù)人員在不 付出創(chuàng)造性勞動的情況下,即可W理解并實施。
[0117] 在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另 一個實體或操作區(qū)分開來,而不一定要求或者暗示運些實體或操作之間存在任何運種實際 的關(guān)系或者順序。而且,術(shù)語"包括"、"包含"或者其任何其他變體意在涵蓋非排他性的包 含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括 沒有明確列出的其他要素,或者是還包括為運種過程、方法、物品或者設(shè)備所固有的要素。 在沒有更多限制的情況下,由語句"包括一個……"限定的要素,并不排除在包括所述要素 的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0118] 本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他 實施例的不同之處,各個實施例之間相同相似部分互相參見即可。
[0119] 對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本申請。 對運些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的 一般原理可W在不脫離本申請的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本申請 將不會被限制于本文所示的運些實施例,而是要符合與本文所公開的原理和新穎特點相一 致的最寬的范圍。
【主權(quán)項】
1. 一種功能測試案例的生成方法,其特征在于,包括: 獲取測試規(guī)則信息、測試要素、以及所述測試要素對應(yīng)的測試要素取值; 針對所述測試規(guī)則信息生成對應(yīng)的第一案例; 將獲取的每一所述測試要素取值作為目標測試要素取值,與所述第一案例包括的測試 要素取值進行匹配,如果匹配失敗,則利用未匹配成功的目標測試要素取值生成對應(yīng)的第 二案例; 將所述第一案例和所述第二案例進行合并去重,生成案例列表。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述測試規(guī)則信息包括: 約束規(guī)則信息和邏輯規(guī)則信息,所述約束規(guī)則信息包括不同所述測試要素對應(yīng)的測試 要素取值之間的對應(yīng)關(guān)系,所述邏輯規(guī)則信息包括一個所述測試要素對應(yīng)的N個測試要素 取值與另一個所述測試要素對應(yīng)的M個測試要素取值之間的組合關(guān)系,N和M為正整數(shù)。3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述針對所述測試規(guī)則信息生成對應(yīng)的第 一案例,包括: 根據(jù)所述邏輯規(guī)則信息包括的所述組合關(guān)系確定第一測試要素的第一取值組合; 判斷所述第一測試要素對應(yīng)的測試要素取值是否存在所述約束規(guī)則信息中,如果存 在,則確定與所述第一測試測試要素對應(yīng)的測試要素取值存在對應(yīng)關(guān)系的第二測試要素對 應(yīng)的測試要素取值; 針對未確定測試要素取值的第三測試要素,選取所述第三測試要素對應(yīng)的測試要素取 值形成第二取值組合,如果選取的測試要素取值存在所述約束規(guī)則信息中,則需要保障選 取的測試要素取值對應(yīng)的所述約束規(guī)則信息包含的其它測試要素對應(yīng)的測試要素取值滿 足所述約束規(guī)則; 將所述第一取值組合、所述第二測試要素對應(yīng)的測試要素取值和所述第二取值組合進 行組合形成所述第一案例。4. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述針對所述測試規(guī)則信息生成對應(yīng)的第 一案例,包括: 根據(jù)每一所述約束規(guī)則信息包括的對應(yīng)關(guān)系確定第四測試要素對應(yīng)的測試要素取值; 針對未確定測試要素取值的第五測試要素,選取所述第五測試要素對應(yīng)的測試要素取 值形成第三取值組合,如果選取的測試要素取值存在所述約束規(guī)則信息中,則需要保障選 取的測試要素取值對應(yīng)的所述約束規(guī)則信息包含的其它測試要素對應(yīng)的取值滿足所述約 束規(guī)則; 將所述第四測試要素對應(yīng)的測試要素取值與所述第三取值組合進行組合形成所述第 一案例。5. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述利用未匹配成功的目標測試要素取值 生成對應(yīng)的第二案例,包括: 針對未確定測試要素取值的第六測試要素,選取所述第六測試要素對應(yīng)的測試要素取 值形成第三取值組合,如果選取的測試要素取值存在所述約束規(guī)則信息中,則需要保障選 取的測試要素取值對應(yīng)的所述約束規(guī)則信息包含的其它測試要素對應(yīng)的取值滿足所述約 束規(guī)則; 將所述目標測試要素取值與所述第四取值組合進行組合形成所述第二案例。6. -種功能測試案例的生成裝置,其特征在于,包括: 規(guī)則獲取單元,用于獲取測試規(guī)則信息; 要素獲取單元,用于獲取測試要素、以及所述測試要素對應(yīng)的測試要素取值; 第一案例生成單元,用于針對所述測試規(guī)則信息生成對應(yīng)的第一案例; 第二案例生成單元,用于將獲取的每一所述測試要素取值作為目標測試要素取值,與 所述第一案例包括的測試要素取值進行匹配,如果匹配失敗,則利用未匹配成功的目標測 試要素取值生成對應(yīng)的第二案例; 案例列表成成單元,用于將所述第一案例和所述第二案例進行合并去重,生成案例列 表。7. 根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述規(guī)則獲取單元包括: 約束規(guī)則獲取單元,用于獲取約束規(guī)則信息,所述約束規(guī)則信息包括不同所述測試要 素對應(yīng)的測試要素取值之間的對應(yīng)關(guān)系; 邏輯規(guī)則獲取單元,用于獲取邏輯規(guī)則信息,所述邏輯規(guī)則信息包括一個所述測試要 素對應(yīng)的N個測試要素取值與另一個所述測試要素對應(yīng)的M個測試要素取值之間的組合關(guān) 系,N和M為正整數(shù)。8. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述第一案例生成單元包括: 第一測試要素的取值單元,用于根據(jù)所述邏輯規(guī)則信息包括的所述組合關(guān)系確定第一 測試要素的第一取值組合; 第二測試要素的取值單元,用于判斷所述第一測試要素對應(yīng)的測試要素取值是否存在 所述約束規(guī)則信息中,如果存在,則確定與所述第一測試要素對應(yīng)的測試要素取值存在對 應(yīng)關(guān)系的第二測試要素對應(yīng)的測試要素取值; 第三測試要素的取值單元,用于針對未確定測試要素取值的第三測試要素,選取所述 第三測試要素對應(yīng)的測試要素取值形成第二取值組合,如果選取的測試要素取值存在所述 約束規(guī)則信息中,則需要保障選取的測試要素取值對應(yīng)的所述約束規(guī)則信息包含的其它測 試要素對應(yīng)的取值滿足所述約束規(guī)則; 案例生成第一子單元,用于將所述第一取值組合、所述第二測試要素對應(yīng)的測試要素 取值和所述第二取值組合進行組合形成所述第一案例。9. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述第一案例生成單元包括: 第四測試要素的取值單元,用于根據(jù)所述約束規(guī)則信息包括的對應(yīng)關(guān)系確定第四測試 要素對應(yīng)的測試要素取值; 第五測試要素的取值單元,用于針對未確定測試要素取值的第五測試要素,選取所述 第五測試要素對應(yīng)的測試要素取值形成第三取值組合,如果選取的測試要素取值存在所述 約束規(guī)則信息中,則需要保障選取的測試要素取值對應(yīng)的所述約束規(guī)則信息包含的其它測 試要素對應(yīng)的取值滿足所述約束規(guī)則; 案例生成第二子單元,用于將所述第四測試要素對應(yīng)的測試要素取值與所述第三取值 組合進行組合形成所述第一案例。10. 根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述第二案例生成單元包括: 第六測試要素的取值單元,用于針對未確定測試要素取值的第六測試要素,選取所述 第六測試要素對應(yīng)的測試要素取值形成第三取值組合,如果選取的測試要素取值存在所述 約束規(guī)則信息中,則需要保障選取的測試要素取值對應(yīng)的所述約束規(guī)則信息包含的其它測 試要素對應(yīng)的取值滿足所述約束規(guī)則; 第二案例生成子單元,用于將所述目標測試要素取值與所述第四取值組合進行組合形 成所述第二案例。
【文檔編號】G06F11/36GK105955890SQ201610319543
【公開日】2016年9月21日
【申請日】2016年5月13日
【發(fā)明人】周子堅, 王文靜, 李通, 姚慶芬, 高崇毅, 賈永潔, 馬金錢
【申請人】中國建設(shè)銀行股份有限公司