一種集成測試用例的生成方法和裝置的制造方法
【技術領域】
[0001] 本發(fā)明涉及軟件測試領域,尤其涉及一種集成測試用例的生成方法和裝置。
【背景技術】
[0002] 集成測試,也叫組裝測試或聯(lián)合測試,是指在單元測試的基礎上將部分或全部模 塊按照設計要求(如根據(jù)結(jié)構(gòu)圖)組裝成為子系統(tǒng)或系統(tǒng)進行測試。系統(tǒng)的某項功能通常 由多個模塊協(xié)同工作來實現(xiàn),集成測試時為了驗證某項功能需要將這些模塊聯(lián)合起來進行 測試,以確保各模塊組合在一起后能夠按既定的意圖協(xié)作運行并且不發(fā)生沖突。
[0003] 集成測試是單元測試的邏輯擴展,在進行集成測試之前一般需要先完成單元測 試,在對各模塊進行冒煙測試和單元測試等測試過程中往往會積累不少的單元測試用例, 當項目進入到集成測試階段時,測試人員可以通過組合這些已有的單元測試用例或者重新 編寫集成測試用例來完成系統(tǒng)的集成測試。然而,由于不同的單元測試用例的輸入輸出數(shù) 據(jù)執(zhí)行不同的邏輯標準,各單元測試用例對輸入數(shù)據(jù)的要求不同,輸出數(shù)據(jù)的格式和形式 也不同,測試人員需要耗費大量的時間編寫中間腳本以實現(xiàn)各單元測試用例之間的銜接和 數(shù)據(jù)交換,腳本的編寫較為復雜,將已有單元測試用例集成起來的難度較大,并且這些中間 腳本由大量的簡單判斷組成,當腳本日趨完善,判斷條件也會日趨臃腫,腳本的維護成本會 越來越高。在具體實踐當中,測試人員往往寧愿直接重新編寫集成測試用例,而重新編寫集 成測試用例并未復用已有的單元測試用例,顯然編寫的成本較高、效率較低;同時,重新編 寫的測試用例的覆蓋度往往不高,其可靠性也難以得到團隊的認可。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明實施例的目的在于提供一種集成測試用例的生成方法和裝置,提高集成測 試用例的生成效率,降低測試用例的維護成本。
[0005] 為了實現(xiàn)上述目的,本發(fā)明實施例提供了一種集成測試用例的生成方法,包括:
[0006] 對前置單元測試用例的輸出數(shù)據(jù)進行標準化處理,將所述輸出數(shù)據(jù)轉(zhuǎn)換為預先設 定的格式,獲取標準化輸出數(shù)據(jù);
[0007] 從所述標準化輸出數(shù)據(jù)中抽取有用數(shù)據(jù),根據(jù)所述有用數(shù)據(jù)生成后置單元測試用 例的標準化輸入數(shù)據(jù)并進行對應的數(shù)據(jù)填充;其中,所述標準化輸入數(shù)據(jù)的格式與所述標 準化輸出數(shù)據(jù)的格式相同;
[0008] 將所述標準化輸入數(shù)據(jù)轉(zhuǎn)化為所述后置單元測試用例可接受的形式并輸入到所 述后置單元測試用例中。
[0009] 優(yōu)選地,所述預先設定的格式為 xml、json、yaml、protobuf、msgpack、csv、ini、自 定義二進制格式和自定義文本格式中的一種。
[0010] 優(yōu)選地,所述從所述標準化輸出數(shù)據(jù)中抽取有用數(shù)據(jù),根據(jù)所述有用數(shù)據(jù)生成后 置單元測試用例的標準化輸入數(shù)據(jù)并進行對應的數(shù)據(jù)填充,包括:
[0011] 從所述標準化輸出數(shù)據(jù)中抽取有用數(shù)據(jù);
[0012] 對所述有用數(shù)據(jù)進行參數(shù)轉(zhuǎn)換計算,獲取計算結(jié)果;
[0013] 將所述計算結(jié)果填充到后置單元測試用例的標準化輸入數(shù)據(jù)中。
[0014] 優(yōu)選地,所述從所述標準化輸出數(shù)據(jù)中抽取有用數(shù)據(jù),具體為:
[0015] 對所述標準化輸出數(shù)據(jù)進行解析,獲取所述標準化輸出數(shù)據(jù)的解析結(jié)果;
[0016] 根據(jù)預先設定的抽取參數(shù)進行數(shù)據(jù)提取,從所述標準化輸出數(shù)據(jù)的解析結(jié)果中獲 取有用數(shù)據(jù)。
[0017] 優(yōu)選地,所述參數(shù)轉(zhuǎn)換計算為數(shù)值計算、邏輯判斷、記錄用例執(zhí)行進度和統(tǒng)計用例 執(zhí)行次數(shù)中的一種或多種組合。
[0018] 優(yōu)選地,在所述將所述標準化輸入數(shù)據(jù)轉(zhuǎn)化為所述后置單元測試用例可接受的形 式之前,還包括:
[0019] 將預設的數(shù)據(jù)追加或更新到所述后置單元測試用例的標準化輸入數(shù)據(jù)中。
[0020] 優(yōu)選地,在所述對前置單元測試用例的輸出數(shù)據(jù)進行標準化處理之前,還包括:
[0021] 接收測試人員通過圖形化操作輸入的用例執(zhí)行順序指令,調(diào)整單元測試用例的執(zhí) 行順序,以確定所述前置單元測試用例和所述后置單元測試用例。
[0022] 優(yōu)選地,在所述從所述標準化輸出數(shù)據(jù)中抽取有用數(shù)據(jù)之前,還包括:
[0023] 對所述前置單元測試用例的標準化輸出數(shù)據(jù)進行解析并以圖形化的方式進行顯 示,接收測試人員通過圖形化操作輸入的抽取參數(shù)指令,從所述標準化輸出數(shù)據(jù)的解析結(jié) 果中選取需要抽取的參數(shù);
[0024] 在所述對所述有用數(shù)據(jù)進行參數(shù)轉(zhuǎn)換計算之前,還包括:
[0025] 接收測試人員通過手動輸入或者圖形化操作輸入的計算方式,設定參數(shù)轉(zhuǎn)換所需 的計算步驟;
[0026] 在所述將所述計算結(jié)果填充到后置單元測試用例的標準化輸入數(shù)據(jù)中之前,還包 括:
[0027] 對所述后置單元測試用例的標準化輸入數(shù)據(jù)進行解析并以圖形化的方式進行顯 示,接收測試人員的通過圖形化操作輸入的填充參數(shù)指令,從所述標準化輸入數(shù)據(jù)的解析 結(jié)果中選取需要填充的參數(shù)。
[0028] 相應地,本發(fā)明還提供了一種集成測試用例的生成裝置,包括:
[0029] 輸出標準化單元,用于對前置單元測試用例的輸出數(shù)據(jù)進行標準化處理,將所述 輸出數(shù)據(jù)轉(zhuǎn)換為預先設定的格式,獲取標準化輸出數(shù)據(jù);
[0030] 集成單元,用于從所述標準化輸出數(shù)據(jù)中抽取有用數(shù)據(jù),根據(jù)所述有用數(shù)據(jù)生成 后置單元測試用例的標準化輸入數(shù)據(jù)并進行對應的數(shù)據(jù)填充;其中,所述標準化輸入數(shù)據(jù) 的格式與所述標準化輸出數(shù)據(jù)的格式相同;
[0031] 輸入標準化單元,用于將所述標準化輸入數(shù)據(jù)轉(zhuǎn)化為所述后置單元測試用例可接 受的形式并輸入到所述后置單元測試用例中。
[0032] 優(yōu)選地,所述預先設定的格式為 xml、json、yaml、protobuf、msgpack、csv、ini、自 定義二進制格式和自定義文本格式中的一種。
[0033] 優(yōu)選地,所述集成單元包括:
[0034] 抽取單元,用于從所述標準化輸出數(shù)據(jù)中抽取有用數(shù)據(jù);
[0035] 計算單元,用于對所述有用數(shù)據(jù)進行參數(shù)轉(zhuǎn)換計算,獲取計算結(jié)果;
[0036] 填充單元,用于將所述計算結(jié)果填充到后置單元測試用例的標準化輸入數(shù)據(jù)中。
[0037] 優(yōu)選地,所述抽取單元包括:
[0038] 解析子單元,對所述標準化輸出數(shù)據(jù)進行解析,獲取所述標準化輸出數(shù)據(jù)的解析 結(jié)果;
[0039] 提取子單元,根據(jù)預先設定的抽取參數(shù)進行數(shù)據(jù)提取,從所述標準化輸出數(shù)據(jù)的 解析結(jié)果中獲取有用數(shù)據(jù)。
[0040] 優(yōu)選地,所述參數(shù)轉(zhuǎn)換計算為數(shù)值計算、邏輯判斷、記錄用例執(zhí)行進度和統(tǒng)計用例 執(zhí)行次數(shù)中的一種或多種組合。
[0041 ] 優(yōu)選地,所述集成單元還包括:
[0042] 數(shù)據(jù)追加單元,將預設的數(shù)據(jù)追加或更新到所述后置單元測試用例的標準化輸入 數(shù)據(jù)中。
[0043] 優(yōu)選地,所述生成裝置還包括圖形化輔助單元;所述圖形化輔助單元包括:
[0044] 測試用例排序單元,用于接收測試人員通過圖形化操作輸入的用例執(zhí)行順序指 令,調(diào)整單元測試用例的執(zhí)行順序,以確定所述前置單元測試用例和所述后置單元測試用 例。
[0045] 優(yōu)選地,還包括圖形化輔助單元;所述圖形化輔助單元包括:
[0046] 抽取參數(shù)選取單元,用于對所述前置單元測試用例的標準化輸出數(shù)據(jù)進行解析并 以圖形化的方式進行顯示,接收測試人員通過圖形化操作輸入的抽取參數(shù)指令,從所述標 準化輸出數(shù)據(jù)的解析結(jié)果中選取需要抽取的參數(shù);
[0047] 計算步驟設定單元,用于接收測試人員通過手動輸入或者圖形化操作輸入的計算 方式,設定參數(shù)轉(zhuǎn)換所需的計算步驟;
[0048] 填充參數(shù)選取單元,用于對所述后置單元測試用例的標準化輸入數(shù)據(jù)進行解析并 以圖形化的方式進行顯示,接收測試人員的通過圖形化操作輸入的填充參數(shù)指令,從所述 標準化輸入數(shù)據(jù)的解析結(jié)果中選取需要填充的參數(shù)。
[0049] 本發(fā)明實施例通過對單元測試用例的輸入數(shù)據(jù)和輸出數(shù)據(jù)進行標準化處理,將單 元測試用例的輸入數(shù)據(jù)和輸出數(shù)據(jù)標準化為統(tǒng)一的格式,從前置單元測試用例的標準化輸 出數(shù)據(jù)中抽取有用數(shù)據(jù),并將其轉(zhuǎn)化為后置單元測試用例的標準化輸入數(shù)據(jù)輸入到后置單 元測試用例中,以生成集成測試用例。大大簡化了集成測試用例的生成過程,降低了生成集 成測試用例的復雜度,有利于提高集成測試用例的生成效率。本發(fā)明通過對舊有的單元測 試用例進行復用,僅在原有的邏輯上新增了系統(tǒng)集成后的測試邏輯,降低了測試用例的編 寫成本,避免了從頭編寫測試用例帶來的測試邏輯不一致的問題,增強了集成測試用例的 可靠性。
[0050] 進一步地,本發(fā)明還可以通過圖形化