一種測試方法和終端設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001] 本申請設(shè)及計算機領(lǐng)域,特別是設(shè)及一種測試方法和終端設(shè)備。
【背景技術(shù)】
[0002] 集成測試,一般作為一個獨立的測試模塊集成于被測源代碼中,集成測試的目的 就是通過運行測試用例對被測源代碼整體業(yè)務(wù)邏輯、異常分支進(jìn)行覆蓋,保證業(yè)務(wù)及異常 處理的正確性。集成測試的設(shè)計主要由:被測源代碼和測試用例兩部分組成,其中測試用 例,是由各種業(yè)務(wù)參數(shù)組合而成的驅(qū)動數(shù)據(jù)集合,用于模擬某種業(yè)務(wù)場景的用例,測試用例 負(fù)責(zé)將參數(shù)根據(jù)一定的規(guī)則進(jìn)行組合,并傳遞給被測源代碼對應(yīng)的接口,由被測源代碼完 成模擬運行,再由測試用例對運行結(jié)果進(jìn)行檢查。
[0003] 基于業(yè)務(wù)流程的測試,流程執(zhí)行步驟一般大于2,并且同一個流程節(jié)點,執(zhí)行不同 的操作所對應(yīng)的后置流程是不同的?,F(xiàn)有的業(yè)務(wù)流測試方案,大致歸為兩類:業(yè)務(wù)流程固化 在測試源代碼中,測試用例設(shè)計包含相關(guān)業(yè)務(wù)流參數(shù)設(shè)置,由測試用例組裝各個流程節(jié)點 的請求參數(shù),并調(diào)用,來完成固定的業(yè)務(wù)流測試;模擬mock前置流程,模擬當(dāng)前流程節(jié)點調(diào) 用,測試用例設(shè)計只需關(guān)注本節(jié)點業(yè)務(wù)參數(shù),前置業(yè)務(wù)數(shù)據(jù)通過mock獲取并使用。
[0004] 在實現(xiàn)本申請的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在如下問題:
[0005] Mock前置業(yè)務(wù)流方式,雖然降低了測試用例設(shè)計的復(fù)雜度,使測試關(guān)注點集中在 本流程節(jié)點上,但存在一個潛在風(fēng)險:mock前置的數(shù)據(jù)不一定完全正確,比如前置業(yè)務(wù)流 輸出參數(shù)做了變更,而mock數(shù)據(jù)未及時更新,就會出現(xiàn)數(shù)據(jù)驅(qū)動錯誤,導(dǎo)致測試范圍覆蓋 遺漏。
[0006] 測試源代碼固化業(yè)務(wù)流方式,通過運行固化在測試代碼中的業(yè)務(wù)流的方式獲取前 置流程產(chǎn)生的數(shù)據(jù),運種數(shù)據(jù)具有較高的仿真度,可W避免mock前置方式驅(qū)動數(shù)據(jù)錯誤問 題,但運種設(shè)計方式存在W下缺陷:業(yè)務(wù)流程被固化在測試代碼中,每個業(yè)務(wù)流都需要設(shè)計 一個與之對應(yīng)的測試用例;很大一部分的業(yè)務(wù)流前置流程是一樣的,前置業(yè)務(wù)流數(shù)據(jù)準(zhǔn)備 具備相似性,卻不能重復(fù)利用;整個業(yè)務(wù)流程驅(qū)動數(shù)據(jù)柔和在一個測試用例當(dāng)中,增加測試 用例維護復(fù)雜度;遇到復(fù)雜的長流程業(yè)務(wù),W上缺陷將更加明顯。
【發(fā)明內(nèi)容】
[0007] 本申請的目的在于提供一種測試方法和終端設(shè)備,通過設(shè)計一系列的測試節(jié)點, 所述測試節(jié)點都存儲在測試節(jié)點集中,所述終端設(shè)備根據(jù)被測源代碼在所述測試節(jié)點集中 獲取與所述被測源代碼的業(yè)務(wù)流程相對應(yīng)的測試節(jié)點的信息來組成測試用例,W達(dá)到將同 一個測試節(jié)點的信息可W用在不同的測試用例里,測試用例可由測試節(jié)點的信息靈活的進(jìn) 行配置的目的,為此,本申請采用如下技術(shù)方案:
[0008] 一種測試方法,其特征在于,包括W下步驟:
[0009] 終端設(shè)備根據(jù)被測源代碼的業(yè)務(wù)流程所包括的處理步驟,確定執(zhí)行各處理步驟對 應(yīng)的測試功能的測試節(jié)點,并獲取各測試節(jié)點的信息;
[0010] 所述終端設(shè)備將所述各測試節(jié)點的信息根據(jù)所述被測源代碼的業(yè)務(wù)流程,生成測 試用例;
[0011] 所述終端設(shè)備根據(jù)所述測試用例對所述被測源代碼進(jìn)行測試。
[0012] 所述測試節(jié)點的信息,包括:
[0013] 節(jié)點名稱和替換參數(shù)集;
[0014] 所述節(jié)點名稱對應(yīng)一個W節(jié)點名稱命名的目錄,所述目錄包括:
[0015] 可擴展標(biāo)記語言XML(extensible Markup Language)文件目錄和結(jié)果校驗?zāi)夸洠?br>[0016] 所述XML文件目錄下包含所述測試節(jié)點的XML文件。
[0017] 所述終端設(shè)備將所述各測試節(jié)點的信息根據(jù)所述被測源代碼的業(yè)務(wù)流程,生成測 試用例之后,還包括:
[001引所述終端設(shè)備根據(jù)所述測試節(jié)點的信息確定對應(yīng)測試節(jié)點的XML文件;
[0019] 所述終端設(shè)備將所述XML文件轉(zhuǎn)換為可編程對象;
[0020] 所述終端設(shè)備判斷所述可編程對象中的參數(shù)是否需要替換;
[0021] 如果需要,所述終端設(shè)備在所述替換參數(shù)集中選擇替換參數(shù),將所述可編程對象 中需要替換的參數(shù)進(jìn)行替換,并保存替換后的可編程對象;
[0022] 如果不需要,所述終端設(shè)備保存所述可編程對象。
[0023] 所述終端設(shè)備根據(jù)所述測試用例對被測源代碼進(jìn)行測試,具體為:
[0024] 所述終端設(shè)備根據(jù)保存的可編程對象對所述可編程對象對應(yīng)的處理步驟的被測 源代碼進(jìn)行測試,并將測試得到的測試數(shù)據(jù)結(jié)果發(fā)送到所述結(jié)果校驗?zāi)夸浿羞M(jìn)行校驗;
[0025] 如果校驗通過,所述終端設(shè)備將所述測試數(shù)據(jù)結(jié)果進(jìn)行存儲;
[00%] 如果校驗不通過,所述終端設(shè)備丟棄所述測試數(shù)據(jù)結(jié)果。
[0027] 所述可編程對象使用其對應(yīng)處理步驟的上一個處理步驟中存儲的測試數(shù)據(jù)結(jié)果 對其對應(yīng)處理步驟的被測源代碼進(jìn)行測試。
[0028] 一種測試終端設(shè)備,其特征在于,包括:
[0029] 獲取模塊,用于根據(jù)被測源代碼的業(yè)務(wù)流程所包括的處理步驟,確定執(zhí)行各處理 步驟對應(yīng)的測試功能的測試節(jié)點,并獲取各測試節(jié)點的信息;
[0030] 生成模塊,用于將所述各測試節(jié)點的信息根據(jù)所述被測源代碼的業(yè)務(wù)流程,生成 測試用例;
[0031] 測試模塊,用于根據(jù)所述測試用例對所述被測源代碼進(jìn)行測試。
[0032] 所述測試節(jié)點的信息,包括:
[0033] 節(jié)點名稱和替換參數(shù);
[0034] 所述節(jié)點名稱對應(yīng)一個W節(jié)點名稱命名的目錄,所述目錄包括:
[0035] XML文件目錄和和結(jié)果校驗?zāi)夸洠?br>[0036] 所述XML文件目錄下包含所述測試節(jié)點的XML文件。
[0037] 所述生成模塊,還用于:
[003引根據(jù)所述測試節(jié)點的信息確定對應(yīng)測試節(jié)點的XML文件;
[0039] 將所述XML文件轉(zhuǎn)換為可編程對象;
[0040] 判斷所述可編程對象中的參數(shù)是否需要替換;
[0041] 如果需要,在所述替換參數(shù)集中選擇替換參數(shù),將所述可編程對象中需要替換的 參數(shù)進(jìn)行替換,并保存替換后的可編程對象;
[0042] 如果不需要,保存所述可編程對象。
[0043] 所述測試模塊,具體用于:
[0044] 根據(jù)保存的所述可編程對象對所述可編程對象對應(yīng)的處理步驟的被測源代碼進(jìn) 行測試,并將測試得到的測試數(shù)據(jù)結(jié)果發(fā)送到所述結(jié)果校驗?zāi)夸浿羞M(jìn)行校驗;
[0045] 如果校驗通過,將所述測試數(shù)據(jù)結(jié)果進(jìn)行存儲;
[0046] 如果校驗不通過,將丟棄所述測試數(shù)據(jù)結(jié)果。
[0047] 所述可編程對象使用其對應(yīng)處理步驟的上一個處理步驟中存儲的測試數(shù)據(jù)結(jié)果 對其對應(yīng)處理步驟的被測源代碼進(jìn)行測試。
[0048] W配置測試節(jié)點的方式實現(xiàn)對被測源代碼的測試,定義被測源代碼各個業(yè)務(wù)流程 的執(zhí)行節(jié)點所對應(yīng)的測試節(jié)點,通過不同測試節(jié)點組合,實現(xiàn)不同業(yè)務(wù)場景測試。在測試執(zhí) 行過程中,根據(jù)測試用例中獲取的測試節(jié)點的信息完成其各測試節(jié)點相對應(yīng)處理步驟的被