一種測試用例的生成方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及軟件測試技術(shù)領(lǐng)域,特別設(shè)及一種測試用例的生成方法及系統(tǒng)。
【背景技術(shù)】
[0002] 隨著計算機軟件技術(shù)的飛速發(fā)展,軟件測試成為提高軟件產(chǎn)品可靠性、保證軟件 產(chǎn)品質(zhì)量的重要手段。
[0003] 目前,可W通過測試用例實現(xiàn)對軟件各種使用場景和情況的測試:針對每一種測 試情況生成包括用例名稱、前置條件、測試步驟和預(yù)期效果的測試用例,并根據(jù)每一個前置 條件,執(zhí)行測試步驟,W測試是否能夠達到相對應(yīng)的預(yù)期效果。
[0004] 然而,傳統(tǒng)的測試用例是手工將測試數(shù)據(jù)寫在測試步驟中的,在前置條件較多時, 導(dǎo)致測試用例生成的效率較低。
【發(fā)明內(nèi)容】
[0005] 有鑒于此,本發(fā)明提供一種測試用例的生成方法及系統(tǒng),W提高測試用例的生成 效率。
[0006] 本發(fā)明實施例提供了一種測試用例的生成方法,包括:
[0007] 獲取針對當前測試目標所編寫的各個測試數(shù)據(jù);
[0008] 根據(jù)獲取的各個測試數(shù)據(jù)確定測試用例的前置條件W及確定所述前置條件所對 應(yīng)的測試步驟;
[0009] 生成包括有所述前置條件與其相對應(yīng)的測試步驟的測試用例;
[0010] 根據(jù)所述前置條件,分別針對每一個測試數(shù)據(jù)逐次執(zhí)行與所述前置條件相對應(yīng)的 測試步驟,W實現(xiàn)對所述當前測試目標的測試。
[0011] 優(yōu)選地,
[0012] 在所述獲取針對當前測試目標所編寫的各個測試數(shù)據(jù)之前,進一步包括:針對每 一個測試目標,分別建立包括有數(shù)據(jù)集合名稱和針對相應(yīng)測試目標所編寫的各個測試數(shù)據(jù) 的數(shù)據(jù)集合;
[0013] 所述獲取針對當前測試目標所編寫的各個測試數(shù)據(jù),包括:根據(jù)所述當前測試目 標確定所對應(yīng)的目標數(shù)據(jù)集合名稱,根據(jù)所述目標數(shù)據(jù)集合名稱在目標數(shù)據(jù)集合中取出各 個測試數(shù)據(jù)。 陽〇14] 優(yōu)選地,
[0015] 在所述獲取針對當前測試目標所編寫的各個測試數(shù)據(jù)之前,進一步包括:針對 每一個測試目標,分別建立包括有數(shù)據(jù)集合名稱、至少一個數(shù)據(jù)過濾器和針對相應(yīng)測試目 標所編寫的各個測試數(shù)據(jù)的數(shù)據(jù)集合,其中,每一個所述數(shù)據(jù)過濾器對應(yīng)一個所述前置條 件;
[0016] 所述獲取針對當前測試目標所編寫的各個測試數(shù)據(jù),包括:根據(jù)所述當前測試目 標確定所對應(yīng)的目標數(shù)據(jù)集合名稱W及目標數(shù)據(jù)過濾器,根據(jù)所述目標數(shù)據(jù)集合名稱在目 標數(shù)據(jù)集合中取出所述目標數(shù)據(jù)過濾器所對應(yīng)的前置條件。 陽〇17] 優(yōu)選地,
[0018] 進一步包括:在建立的數(shù)據(jù)集合中包括每一個測試數(shù)據(jù)所對應(yīng)的預(yù)期結(jié)果;
[0019] 在所述根據(jù)所述前置條件,分別針對每一個測試數(shù)據(jù)逐次執(zhí)行與所述前置條件相 對應(yīng)的測試步驟之后,進一步包括:在針對當前測試數(shù)據(jù)進行測試的測試結(jié)果與其對應(yīng)的 預(yù)期結(jié)果相同時,表明針對所述當前測試數(shù)據(jù)的測試通過;否則,表明針對所述當前測試數(shù) 據(jù)的測試未通過。
[0020] 本發(fā)明實施例還提供了一種測試用例的生成系統(tǒng),包括:
[0021] 獲取單元,用于獲取針對當前測試目標所編寫的各個測試數(shù)據(jù);
[0022] 確定單元,用于根據(jù)獲取的各個測試數(shù)據(jù)確定測試用例的前置條件W及確定所述 前置條件所對應(yīng)的測試步驟;
[0023] 生成單元,用于生成包括有所述前置條件與其相對應(yīng)的測試步驟的測試用例;
[0024] 測試單元,用于根據(jù)所述前置條件,分別針對每一個測試數(shù)據(jù)逐次執(zhí)行與所述前 置條件相對應(yīng)的測試步驟,W實現(xiàn)對所述當前測試目標的測試。 陽0對優(yōu)選地,
[00%] 進一步包括:第一建立單元,用于針對每一個測試目標,分別建立包括有數(shù)據(jù)集合 名稱和針對相應(yīng)測試目標所編寫的各個測試數(shù)據(jù)的數(shù)據(jù)集合;
[0027] 所述獲取單元,用于根據(jù)所述當前測試目標確定所對應(yīng)的目標數(shù)據(jù)集合名稱,根 據(jù)所述目標數(shù)據(jù)集合名稱在目標數(shù)據(jù)集合中取出各個測試數(shù)據(jù)。 陽0測優(yōu)選地,
[0029] 進一步包括:第二建立單元,用于針對每一個測試目標,分別建立包括有數(shù)據(jù)集合 名稱、至少一個數(shù)據(jù)過濾器和針對相應(yīng)測試目標所編寫的各個測試數(shù)據(jù)的數(shù)據(jù)集合,其中, 每一個所述數(shù)據(jù)過濾器對應(yīng)一個所述前置條件;
[0030] 所述獲取單元,用于根據(jù)所述當前測試目標確定所對應(yīng)的目標數(shù)據(jù)集合名稱W及 目標數(shù)據(jù)過濾器,根據(jù)所述目標數(shù)據(jù)集合名稱在目標數(shù)據(jù)集合中取出所述目標數(shù)據(jù)過濾器 所對應(yīng)的前置條件。 陽0川優(yōu)選地,
[0032] 進一步包括:比較單元,用于在針對當前測試數(shù)據(jù)進行測試的測試結(jié)果與其對應(yīng) 的預(yù)期結(jié)果相同時,表明針對所述當前測試數(shù)據(jù)的測試通過;否則,表明針對所述當前測試 數(shù)據(jù)的測試未通過;其中,在建立的數(shù)據(jù)集合中包括每一個測試數(shù)據(jù)所對應(yīng)的預(yù)期結(jié)果。
[0033] 本發(fā)明實施例提供了一種測試用例的生成方法及系統(tǒng),由于各個測試數(shù)據(jù)可W對 應(yīng)一個前置條件,而一個前置條件對應(yīng)一個測試步驟,那么可W將測試數(shù)據(jù)與測試步驟分 離,使得在生成測試用例時,只生成包括前置條件和測試步驟的測試用例,運樣即使需要測 試的測試數(shù)據(jù)較多,也只需要編寫一個測試步驟,在測試過程中根據(jù)前置條件,分別針對每 一個測試數(shù)據(jù)逐次執(zhí)行測試步驟,從而提高了測試用例的生成效率。
【附圖說明】
[0034] 圖1是本發(fā)明實施例提供的方法流程圖;
[0035] 圖2是本發(fā)明另一實施例提供的方法流程圖;
[0036]圖3是本發(fā)明實施例提供的系統(tǒng)結(jié)構(gòu)示意圖;
[0037]圖4是本發(fā)明另一實施例提供的系統(tǒng)結(jié)構(gòu)示意圖。
【具體實施方式】
[0038]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完 整地描述。顯然,所描述的實施例僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本 發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實 施例,都屬于本發(fā)明保護的范圍。
[0039] 如圖1所示,本發(fā)明實施例提供了一種測試用例的生成方法,該方法可W包括W 下步驟:
[0040]步驟101:獲取針對當前測試目標所編寫的各個測試數(shù)據(jù)。
[0041]步驟102 :根據(jù)獲取的各個測試數(shù)據(jù)確定測試用例的前置條件W及確定前置條件 所對應(yīng)的測試步驟。
[0042]步驟103:生成包括有前置條件與其相對應(yīng)的測試步驟的測試用例。
[0043]步驟104 :根據(jù)前置條件,分別針對每一個測試數(shù)據(jù)逐次執(zhí)行與前置條件相對應(yīng) 的測試步驟,W實現(xiàn)對當前測試目標的測試。
[0044]根據(jù)本方案,由于各個測試數(shù)據(jù)可W對應(yīng)一個前置條件,而一個前置條件對應(yīng)一 個測試步驟,那么可W將測試數(shù)據(jù)與測試步驟分離,使得在生成測試用例時,只生成包括前 置條件和測試步驟的測試用例,運樣即使需要測試的測試數(shù)據(jù)較多,也只需要編寫一個測 試步驟,在測試過程中根據(jù)前置條件,分別針對每一個測試數(shù)據(jù)逐次執(zhí)行測試步驟,從而提 高了測試用例的生成效率。
[0045]為了進一步提高測試用例的生成效率,在本實施例中,可W預(yù)先針對每一個測試 目標,分別建立包括有數(shù)據(jù)集合名稱和針對相應(yīng)測試目標所編寫的各個測試數(shù)據(jù)的數(shù)據(jù)集 合。運樣,在生成測試用例時,可W根據(jù)測試目標確定所需使用的目標數(shù)據(jù)集合,從而可W 直接從該目標數(shù)據(jù)集合中取出各個測試數(shù)據(jù),進而提高了測試用例的生成效率。
[0046]由于在針對一個測試目標進行測試時,可能需要測試不同的測試目的,因此,在本 實施例中,可W建立包括數(shù)據(jù)集合名稱、至少一個數(shù)據(jù)過濾器和針對相應(yīng)測試目標所編寫 的各個測試數(shù)據(jù)的數(shù)據(jù)集合,其中,每一個數(shù)據(jù)過濾器對應(yīng)一個前置條件;若不使用數(shù)據(jù)過 濾器,則需要將數(shù)據(jù)集合中所有的測試數(shù)據(jù)都測試一遍,而若使用數(shù)據(jù)過濾器,則只需要針 對該數(shù)據(jù)過濾器所對應(yīng)的測試數(shù)據(jù)進行測試即可,從而減短了測試用例生成的時間。
[0047]為使本發(fā)明的目