一種測試案例的執(zhí)行方法、裝置和測試工具的制作方法
【專利摘要】本發(fā)明公開了一種測試案例的執(zhí)行方法,當(dāng)測試人員第一次對被測系統(tǒng)輸入測試案例時,根據(jù)測試人員設(shè)計測試案例的思維進行相應(yīng)參數(shù)的存儲,對被測系統(tǒng)進行測試時,選擇了測試案例后,可以自動的在測試資源池中獲取測試案例中報文域的內(nèi)容,并對存儲了直接修改關(guān)系的報文域進行相應(yīng)的修改,當(dāng)被測系統(tǒng)不滿足測試條件時,自動地對被測系統(tǒng)的后臺進行間接修改,以使被測系統(tǒng)滿足測試條件,來完成對被測系統(tǒng)的測試。這些存儲的參數(shù)可以涵蓋測試人員設(shè)計的所有測試案例的邏輯關(guān)系,可以不用依賴測試人員的手工操作,對被測系統(tǒng)進行自動化測試。本發(fā)明還公開了一種測試案例的處理裝置和包含該測試案例的處理裝置的測試工具。
【專利說明】一種測試案例的執(zhí)行方法、裝置和測試工具
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及被測系統(tǒng)的測試【技術(shù)領(lǐng)域】,特別是涉及一種被測系統(tǒng)的測試案例執(zhí)行方法、裝置和測試工具。
【背景技術(shù)】
[0002]測試在系統(tǒng)的開發(fā)過程中,具有舉足輕重的作用。開發(fā)的系統(tǒng)能否如期完成并滿足客戶要求,以及后期的維護成本,都跟測試工作有著很大的關(guān)系。以銀行系統(tǒng)為例,目前銀行系統(tǒng)的功能測試主要還是采用測試人員手工來完成,但在某些場景中,例如操作系統(tǒng)升級、個別功能優(yōu)化等場景,會要求對全部涉及到的交易進行測試,此類測試數(shù)量較多,前期需要準(zhǔn)備大量的測試環(huán)境和測試數(shù)據(jù),完全手工來做成本很大,而且此類測試存在需要反復(fù)測試相同交易的情況,這就為采用自動化測試提供了很便利的條件。
[0003]目前業(yè)界的自動化測試方法較少,在實際工作中應(yīng)用的更少,常用的商業(yè)自動化測試工具主要是針對web系統(tǒng),基于圖形用戶界面(GraphicalUser Interface,簡稱⑶I,又稱圖形用戶接口),采用錄制的方法記錄測試人員在界面的操作,在回放的過程中按記錄順序操作這些對象,模擬手工測試過程中操作的對象和順序,此類測試工具重點是界面對象的識別。目前現(xiàn)有的自動化測試工具錄制完成后可對腳本進行簡單的編輯和參數(shù)化,對于測試案例中使用到的測試數(shù)據(jù)一般采用附件的方式嵌入到腳本中,在測試案例執(zhí)行的過程中按照一定的順序取測試數(shù)據(jù)嵌入到腳本中。
[0004]而在測試案例之中或者測試案例之間的關(guān)聯(lián)方面,現(xiàn)有的自動化測試工具均不提供智能化的邏輯關(guān)系處理,測試案例自動化執(zhí)行的過程中,測試案例的一個交易內(nèi)的各個輸入域之間的測試數(shù)據(jù)或者各個交易的相互關(guān)聯(lián)的報文域之間的測試數(shù)據(jù)必須事先安排好順序,一一匹配,例如某支交易需要用到卡號和姓名兩個域,分別作為兩個變量從兩個附件中讀取測試數(shù)據(jù),而這兩個域是存在一一對應(yīng)的關(guān)系的,現(xiàn)有的測試工具不會智能的建立關(guān)聯(lián),只能人為的在附件中按照一一對應(yīng)的順序存儲兩類數(shù)據(jù),在執(zhí)行的過程中逐一取測試數(shù)據(jù),但是如此處理的話成本高,效率低,而且極易出錯,某一行數(shù)據(jù)丟失或者取值出錯導(dǎo)致兩個域取值不匹配,將會使下面所有的測試數(shù)據(jù)失效。此外,當(dāng)被測系統(tǒng)中的打底數(shù)據(jù)無法滿足測試需求時,需要修改被測系統(tǒng)中的打底數(shù)據(jù),遇到這種情況下,一般手工測試執(zhí)行前,是由開發(fā)或者測試人員在被測系統(tǒng)中手工修改打底數(shù)據(jù),現(xiàn)有的自動化測試工具無法自動進行此類操作。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提出一種測試案例的執(zhí)行方法、裝置和測試工具,解決了現(xiàn)有的測試工具無法根據(jù)智能化獲取測試數(shù)據(jù)、無法實現(xiàn)更改后臺打底數(shù)據(jù)的問題。
[0006]本發(fā)明提出一種測試案例的執(zhí)行方法,存儲單案例參數(shù),所述單案例參數(shù)包括單個業(yè)務(wù)內(nèi)配置為主域的報文域和配置為從域的報文域間的主從域關(guān)系、所述一個業(yè)務(wù)內(nèi)配置為主域的報文域?qū)?yīng)的資源類型;存儲案例組參數(shù),所述案例組參數(shù)包括多個業(yè)務(wù)的執(zhí)行順序、一個或多個業(yè)務(wù)內(nèi)配置為主域的報文域和配置為從域的報文域間的主從域關(guān)系、所述一個或多個業(yè)務(wù)內(nèi)配置為主域的報文域?qū)?yīng)的資源類型、多個業(yè)務(wù)間輸入報文域與輸入報文域和/或輸出報文域與輸入報文域間的相等關(guān)系;在報文域配置為直接修改報文域時,存儲相應(yīng)報文域的直接修改關(guān)系;在報文域配置為后臺間接修改報文域時,存儲相應(yīng)報文域的間接修改關(guān)系;
[0007]則所述方法包括:
[0008]選擇單案例和/或案例組;
[0009]根據(jù)所述單案例參數(shù)和/或案例組參數(shù)在測試數(shù)據(jù)池中獲取已選擇的所述單案例和/或案例組中相應(yīng)報文域的內(nèi)容;
[0010]查詢所述單案例和/或案例組中是否存在配置為直接修改報文域的報文域,
[0011]如果是,則利用所述直接修改關(guān)系對所述單案例和/或案例組中相應(yīng)報文域的內(nèi)容進行直接修改,在被測系統(tǒng)滿足測試條件時,在所述被測系統(tǒng)中執(zhí)行直接修改后的所述單案例和/或案例組;在所述被測系統(tǒng)不滿足測試條件時,利用相應(yīng)的間接修改關(guān)系對所述被測系統(tǒng)的后臺進行間接修改以使被測系統(tǒng)滿足測試條件,并在所述被測系統(tǒng)中執(zhí)行間接修改后的所述單案例和/或案例組;
[0012]如果否,則在被測系統(tǒng)滿足測試條件時,在所述被測系統(tǒng)中執(zhí)行所述單案例和/或案例組;在被測系統(tǒng)不滿足測試條件時,利用相應(yīng)的間接修改關(guān)系對所述被測系統(tǒng)的后臺進行間接修改以使被測系統(tǒng)滿足測試條件,并在所述被測系統(tǒng)中執(zhí)行所述單案例和/或案例組。
[0013]優(yōu)選地,
[0014]所述根據(jù)所述單案例參數(shù)在測試數(shù)據(jù)池中獲取已選擇的所述單案例中相應(yīng)報文域的內(nèi)容具體為:
[0015]獲取所述單案例中的單個業(yè)務(wù)內(nèi)配置為主域的報文域;
[0016]在所述測試數(shù)據(jù)池中查找具有主域?qū)?yīng)的資源類型的數(shù)據(jù),在查找到相應(yīng)資源類型的數(shù)據(jù)中隨機選取一個數(shù)據(jù)作為主域的內(nèi)容;
[0017]在所述測試資源池中獲取與所述主域的內(nèi)容相匹配的所述單個業(yè)務(wù)中配置為從域的報文域的內(nèi)容。
[0018]優(yōu)選地,
[0019]所述根據(jù)所述案例組參數(shù)在測試數(shù)據(jù)池中獲取已選擇的所述案例組中相應(yīng)報文域的內(nèi)容具體為:
[0020]對于所述已選擇的案例組中配置了所述主從域關(guān)系的報文域:
[0021]獲取配置為主域的報文域;
[0022]在所述測試數(shù)據(jù)池中查找具有主域?qū)?yīng)的資源類型的數(shù)據(jù),在查找到相應(yīng)資源類型的數(shù)據(jù)中隨機選取一個數(shù)據(jù)作為主域的內(nèi)容;
[0023]在所述測試資源池中獲取與所述主域的內(nèi)容相匹配的配置為從域的報文域的內(nèi)容;
[0024]對于所述已選擇的案例組中配置了所述相等關(guān)系的報文域:
[0025]執(zhí)行順序在后的報文域的內(nèi)容由配置了所述相等關(guān)系的執(zhí)行在前的報文域的內(nèi)容所決定。[0026]優(yōu)選地,
[0027]在所述存儲之前還包括:錄制對被測系統(tǒng)輸入的業(yè)務(wù)報文,對所述業(yè)務(wù)報文進行報文域切分和解析。
[0028]優(yōu)選地,
[0029]在所述錄制對被測系統(tǒng)輸入的業(yè)務(wù)報文之前還包括:
[0030]查詢是否存儲過與將要錄制的對被測系統(tǒng)輸入的業(yè)務(wù)報文具有相同報文域的業(yè)務(wù)報文,如果否,則錄制所述對被測系統(tǒng)輸入的業(yè)務(wù)報文;如果是,則不進行重復(fù)錄制。
[0031]優(yōu)選地,
[0032]在所述存儲之后還包括:刪除錄制的所有業(yè)務(wù)報文,刪除存儲的所有單案例參數(shù)、案例組參數(shù)、直接修改關(guān)系、和間接修改關(guān)系。
[0033]本發(fā)明還提出一種測試案例的執(zhí)行裝置,包括存儲單元和執(zhí)行單元,
[0034]所述存儲單元,用于,存儲單案例參數(shù),所述單案例參數(shù)包括單個業(yè)務(wù)內(nèi)配置為主域的報文域和配置為從域的報文域間的主從域關(guān)系、所述一個業(yè)務(wù)內(nèi)配置為主域的報文域?qū)?yīng)的資源類型;存儲案例組參數(shù),所述案例組參數(shù)包括多個業(yè)務(wù)的執(zhí)行順序、一個或多個業(yè)務(wù)內(nèi)配置為主域的報文域和配置為從域的報文域間的主從域關(guān)系、所述一個或多個業(yè)務(wù)內(nèi)配置為主域的報文域?qū)?yīng)的資源類型、多個業(yè)務(wù)間輸入報文域與輸入報文域和/或輸出報文域與輸入報文域間的相等關(guān)系;在報文域配置為直接修改報文域時,存儲相應(yīng)報文域的直接修改關(guān)系;在報文域配置為后臺間接修改報文域時,存儲相應(yīng)報文域的間接修改關(guān)系;
[0035]所述執(zhí)行單元,用于,選擇單案例和/或案例組;根據(jù)所述單案例參數(shù)和/或案例組參數(shù)在測試數(shù)據(jù)池中獲取已選擇的所述單案例和/或案例組中相應(yīng)報文域的內(nèi)容;查詢所述單案例和/或案例組中是否存在配置為直接修改報文域的報文域,如果是,則利用所述直接修改關(guān)系對所述單案例和/或案例組中相應(yīng)報文域的內(nèi)容進行直接修改,在被測系統(tǒng)滿足測試條件時,在所述被測系統(tǒng)中執(zhí)行直接修改后的所述單案例和/或案例組;在所述被測系統(tǒng)不滿足測試條件時,利用相應(yīng)的間接修改關(guān)系對所述被測系統(tǒng)的后臺進行間接修改以使被測系統(tǒng)滿足測試條件,并在所述被測系統(tǒng)中執(zhí)行間接修改后的所述單案例和/或案例組;如果否,則在被測系統(tǒng)滿足測試條件時,在所述被測系統(tǒng)中執(zhí)行所述單案例和/或案例組;在被測系統(tǒng)不滿足測試條件時,利用相應(yīng)的間接修改關(guān)系對所述被測系統(tǒng)的后臺進行間接修改以使被測系統(tǒng)滿足測試條件,并在所述被測系統(tǒng)中執(zhí)行所述單案例和/或案例組。
[0036]優(yōu)選地,
[0037]所述存儲單元包括:單案例存儲模塊、案例組存儲模塊、直接修改關(guān)系存儲模塊和間接修改關(guān)系存儲模塊,
[0038]所述單案例存儲模塊,用于,存儲單案例參數(shù),所述單案例參數(shù)包括單個業(yè)務(wù)內(nèi)配置為主域的報文域和配置為從域的報文域間的主從域關(guān)系、所述一個業(yè)務(wù)內(nèi)配置為主域的報文域?qū)?yīng)的資源類型;
[0039]所述案例組存儲模塊,用于,存儲案例組參數(shù),所述案例組參數(shù)包括多個業(yè)務(wù)的執(zhí)行順序、一個或多個業(yè)務(wù)內(nèi)配置為主域的報文域和配置為從域的報文域間的主從域關(guān)系、所述一個或多個業(yè)務(wù)內(nèi)配置為主域的報文域?qū)?yīng)的資源類型、多個業(yè)務(wù)間輸入報文域與輸入報文域和/或輸出報文域與輸入報文域間的相等關(guān)系;
[0040]所述直接修改關(guān)系存儲模塊,用于,存儲報文域的直接修改關(guān)系;
[0041]所述間接修改關(guān)系存儲模塊,用于,存儲報文域的間接修改關(guān)系;
[0042]所述執(zhí)行單元包括選擇模塊、獲取模塊、查詢模塊、直接修改模塊、判斷模塊、間接修改模塊和執(zhí)行模塊,
[0043]所述選擇模塊,用于,選擇單案例和/或案例組;
[0044]所述獲取模塊,用于,根據(jù)所述單案例參數(shù)和/或案例組參數(shù)在測試數(shù)據(jù)池中獲取已選擇的所述單案例和/或案例組中相應(yīng)報文域的內(nèi)容;
[0045]所述查詢模塊,用于,查詢所述單案例和/或案例組中是否存在配置為直接修改報文域的報文域,如果是,則激活所述直接修改模塊;如果否,則激活所述判斷模塊;
[0046]所述直接修改模塊,用于,則利用所述直接修改關(guān)系對所述單案例和/或案例組中相應(yīng)報文域的內(nèi)容進行直接修改,激活所述判斷模塊;
[0047]所述判斷模塊,用于,判斷被測系統(tǒng)是否滿足測試條件,如果是,則激活執(zhí)行模塊;如果否則激活間接修改|旲塊;
[0048]所述間接修改模塊,用于,利用相應(yīng)的間接修改關(guān)系對所述被測系統(tǒng)的后臺進行間接修改以使被測系統(tǒng)滿足測試條件,激活所述執(zhí)行模塊。
[0049]優(yōu)選地,
[0050]所述裝置還包括錄制單元,用于,錄制對被測系統(tǒng)輸入的業(yè)務(wù)報文,對所述業(yè)務(wù)報文進行報文域切分和解析,激活所述存儲單元。
[0051]優(yōu)選地,
[0052]所述裝置還包括查詢單元,用于,查詢是否存儲過與將要錄制的對被測系統(tǒng)輸入的業(yè)務(wù)報文具有相同報文域的業(yè)務(wù)報文,如果否,則錄制所述對被測系統(tǒng)輸入的業(yè)務(wù)報文;如果是,則不進行重復(fù)錄制。
[0053]優(yōu)選地,
[0054]所述裝置還包括刪除單元,用于,刪除錄制的所有業(yè)務(wù)報文,刪除存儲的所有單案例參數(shù)、案例組參數(shù)、直接修改關(guān)系、和間接修改關(guān)系。
[0055]本發(fā)明還提出一種包含測試案例的執(zhí)行裝置的測試工具,當(dāng)測試人員第一次對被測系統(tǒng)輸入測試案例時,根據(jù)測試人員設(shè)計測試案例的思維進行相應(yīng)參數(shù)的存儲,對被測系統(tǒng)進行測試時,選擇了測試案例后,可以自動的在測試資源池中獲取測試案例中報文域的內(nèi)容,并對存儲了直接修改關(guān)系的報文域進行相應(yīng)的修改,當(dāng)被測系統(tǒng)不滿足測試條件時,自動地對被測系統(tǒng)的后臺進行間接修改,以使被測系統(tǒng)滿足測試條件,來完成對被測系統(tǒng)的測試。
[0056]相對于現(xiàn)有技術(shù),本發(fā)明的有益效果為:存儲測試案例的邏輯關(guān)系,包含主從域關(guān)系、報文域間的相等關(guān)系、直接修改關(guān)系和間接修改關(guān)系,在執(zhí)行測試案例時,根據(jù)存儲的相應(yīng)的邏輯關(guān)系自動獲取測試數(shù)據(jù),并可以直接修改相應(yīng)的報文域和間接修改被測系統(tǒng)的后臺數(shù)據(jù)使被測系統(tǒng)滿足測試條件,自動化地完成測試案例的選取和執(zhí)行。
【專利附圖】
【附圖說明】
[0057]圖1為本發(fā)明方法的具體實施例中存儲單案例參數(shù)的示意圖;[0058]圖2為本發(fā)明方法的具體實施例中存儲案例組參數(shù)的示意圖;
[0059]圖3為本發(fā)明方法的具體實施例的步驟流程圖;
[0060]圖4為本發(fā)明方法的具體實施例中獲取單案例測試數(shù)據(jù)的步驟流程圖;
[0061]圖5為本發(fā)明方法的具體實施例中獲取案例組測試數(shù)據(jù)的步驟流程圖;
[0062]圖6為本發(fā)明裝置的具體實施例的框架示意圖;
[0063]圖7為本發(fā)明裝置的具體實施例的具體示意圖一;
[0064]圖8為本發(fā)明裝置的具體實施例的具體示意圖二。
【具體實施方式】
[0065]本發(fā)明提出一種測試案例的執(zhí)行方法、裝置和測試工具,解決了現(xiàn)有的測試工具無法智能化獲取測試數(shù)據(jù)、無法實現(xiàn)更改后臺打底數(shù)據(jù)的問題。
[0066]在本發(fā)明的具體實施例中,被測系統(tǒng)以針對通訊格式為字符類型的銀行系統(tǒng)進行舉例說明,但是本領(lǐng)域技術(shù)人員也可以選擇其他系統(tǒng)來實施本發(fā)明公開的技術(shù)方案,只要被測系統(tǒng)是基于報文的均可實現(xiàn)本發(fā)明。一般在銀行系統(tǒng)中,每個測試案例的業(yè)務(wù)場景一般會包括一個或多個交易,一個交易組成的業(yè)務(wù)場景稱為單案例,而多個交易組成的業(yè)務(wù)場景稱為案例組。交易是銀行系統(tǒng)中業(yè)務(wù)場景的最小單位,例如銀行卡存款、查詢余額等都稱為交易。交易報文是指被測銀行系統(tǒng)接收和返回的字符串,分為輸入報文和輸出報文,存儲時輸入報文記為I,輸出報文記為O。首先需要錄制對被測銀行系統(tǒng)輸入的交易報文,并對交易報文進行切分和解析,在錄制的過程中,為了防止對具有同一種報文域格式的交易報文進行重復(fù)錄制,還需要查詢是否存儲過與將要錄制的對被測系統(tǒng)輸入的交易報文具有相同報文域的業(yè)務(wù)報文,如果否,則錄制對被測系統(tǒng)輸入的交易報文;如果是,則不進行重復(fù)錄制。
[0067]比如一個交易碼為1001的查詢卡余額的交易,它的輸入報文為:
[0068]113 444479TERM4685 65211314 307 I O O O O 1105020113004259410
[0069]666666 110001 110010899060376
[0070]解析完以后的輸入報文域為:
[0071]-1-省市代號:11
[0072]_2_ 柜員號:4479
[0073]-3-終端號:4685
[0074]-4-卡號:050201130042594
[0075]-5-密碼:666666
[0076]-6-證件類型:110001
[0077]-7-證件號:110010899060376
[0078]1001的輸出報文為:
[0079]113 444479 TERM4685 N 050201130042594 10000.00
[0080]解析完以后的輸出報文域為:
[0081]-1-省市代號:11
[0082]_2_ 柜員號:4479
[0083]-3-終端號:4685[0084]-4-卡號:050201130042594
[0085]-5-余額:10000.00
[0086]每支交易的報文域解析完后,每個域都有一個編號,例如卡號的編號為4。對交易報文進行切分和解析可以在進行設(shè)計案例之前提前進行,為了可以自動化的獲取相應(yīng)報文域的內(nèi)容,本發(fā)明方法的實施例中,需要在設(shè)計案例時,根據(jù)設(shè)計的單案例來存儲單案例參數(shù),單案例參數(shù)包括單個交易內(nèi)配置為主域的報文域和配置為從域的報文域間的主從域關(guān)系、單個交易內(nèi)配置為主域的報文域?qū)?yīng)的資源類型;為每個單案例中的單個業(yè)務(wù)分配唯一的一個編號,參照圖1,設(shè)置單個交易的一個報文域為主域,將與設(shè)置為主域的報文域有匹配關(guān)系的報文域設(shè)置為從域,配置主從域所對應(yīng)的數(shù)據(jù)類型,從域的數(shù)據(jù)取值依賴于主域的數(shù)據(jù)取值,具體包括:
[0087]以上述交易碼為1001的查詢卡余額的交易為例,將它設(shè)計為一個單案例,設(shè)置它的編號為dl,表示第一個單案例,由于這個交易中的姓名和密碼依賴于交易中的卡號,所以將卡號設(shè)置為主域(Zy),存儲參數(shù):dl.zy = I1.4,表示該交易的第4個輸入報文域也就是對應(yīng)卡號的報文域為主域,并且設(shè)置主域?qū)?yīng)的資源類型為cardlOl的卡類測試數(shù)據(jù),存儲參數(shù):11.4 = cardlOl.cardno ;因為交易的第5個輸入報文域?qū)?yīng)的密碼與主域?qū)?yīng)的卡號一一對應(yīng),所以設(shè)置交易中第5個輸入報文域為一個從域(cy),存儲參數(shù):dl.cy =
I1.5,表示交易中第5個輸入報文域也就是對應(yīng)密碼的報文域為本交易中與主域?qū)?yīng)的一個從域,并且存儲參數(shù)I1.5 = cardlOl.password,表示該交易的第5個輸入報文域中的密碼從測試資源池中取編號為cardlOl的卡類測試數(shù)據(jù)中的密碼,卡號和密碼是一一匹配的。本交易中只要與主域有這種一一對應(yīng)關(guān)系的報文域都可以設(shè)置為本交易的從域。
[0088]測試案例中不僅包括單案例,還包括案例組,因此本發(fā)明中也需要存儲案例組參數(shù),案例組參數(shù)包括多個交易的執(zhí)行順序、一個或多個交易內(nèi)配置為主域的報文域和配置為從域的報文域間的主從域關(guān)系、一個或多個交易內(nèi)配置為主域的報文域?qū)?yīng)的資源類型、多個交易間輸入報文域與輸入報文域和/或輸出報文域與輸入報文域間的相等關(guān)系。
[0089]如圖2所示,本發(fā)明方法的實施例中案例組的錄制過程具體包括:
[0090]步驟201:配置案例組中的各交易的順序;以查詢-存款-查詢3個交易組成的案例組為例,設(shè)置它的編號為zl,表示第一個案例組,假如查詢的交易碼為1001,存款交易碼為1002,三支交易編號為1.1001(1),2.1002,3.1001 (2),表示第I個執(zhí)行交易碼為1001的查詢交易,括號中的數(shù)字I表示在該案例組中第I次執(zhí)行這個交易;第2個執(zhí)行交易碼為1002的存款交易;第3個執(zhí)行的是交易碼為1001的查詢交易,括號中的數(shù)字2表示在該案例組中第2次執(zhí)行這個交易;
[0091]步驟202:對于案例組中的第一個交易,也就是交易碼為1001的查詢交易,參照存儲單案例參數(shù)的方法進行主從域?qū)?yīng)關(guān)系的配置;
[0092]步驟203:配置案例組中交易間的報文域的依賴關(guān)系:根據(jù)案例組中的各交易的順序配置每個交易與該交易之前的一個或多個交易的輸入報文域和/或輸出報文域之間的依賴關(guān)系,該依賴關(guān)系包括輸入報文域到輸入報文域、輸出報文域到輸入報文域兩類。
[0093]輸入報文域到輸入報文域的關(guān)系指同一個案例組中后一交易的某輸入報文域需要同前一交易的某輸入報文域相同,或是由前一交易的若干輸入報文域拼接而成,例如第2個執(zhí)行的交易碼為1002的存款交易中的卡號應(yīng)該等于第I個執(zhí)行的交易碼為1001的查詢交易中使用的卡號,所以存儲參數(shù):12.4 = 11.4,表示第2個執(zhí)行的交易中第4個輸入報文域?qū)?yīng)的內(nèi)容與第I個執(zhí)行的交易中第4個報文域?qū)?yīng)的內(nèi)容相等;而第3個執(zhí)行的交易100的查詢交易中的卡號與第I個執(zhí)行的交易碼為1001的查詢交易中使用的卡號一致,所以存儲參數(shù):13.4 = I1.4,表示第3個執(zhí)行的交易中第4個輸入報文域?qū)?yīng)的內(nèi)容與第I個執(zhí)行的交易中第4個報文域?qū)?yīng)的內(nèi)容相等。
[0094]輸出報文域到輸入報文域的關(guān)系指后一交易的某輸入報文域依賴于前一交易的輸出報文域,例如另一個案例組是交易碼為2001和交易碼為2002的交易組成,設(shè)置案例組的編號為z2,表示第2個案例組,
[0095]交易碼為2001的交易為由根據(jù)身份證號查找相應(yīng)的卡號的交易,它的輸入報文域為:
[0096]-1-省市代號:11
[0097]_2_ 柜員號:4479
[0098]-3-終端號:4685
[0099]-4-證件號 JlOOlO899O6O376
[0100]輸出報文域為:
[0101]-1-卡號:050201130042594
[0102]交易碼為2002的交易為對交易碼為2001的交易查找到的卡號進行存款的交易,它的輸入報文域為:
[0103]-1-省市代號:11
[0104]_2_ 柜員號:4479
[0105]_3_ 終端號:4685
[0106]-4-卡號:050201130042594
[0107]-5-存款金額:100.00
[0108]第I個執(zhí)行交易碼為2001的交易,它只有一個輸出報文域,記為01.1,第2個執(zhí)行交易碼為2002的交易,它第4個輸入報文域記為12.4,由這個案例組的交易間關(guān)系可知第2個執(zhí)行的交易中需要進行存款的卡號與第I個執(zhí)行的交易中查找到的卡號相等,所以存儲參數(shù):12.4 = 01.1,表示第2個執(zhí)行的交易碼為2002的交易的第4輸入報文域?qū)?yīng)的卡號與第I個執(zhí)行的交易碼為2001的交易的輸出報文域?qū)?yīng)的卡號相等。
[0109]在設(shè)計測試案例時,有的單案例和案例組中的報文域需要進行一定的修改,以第2個案例組為例,需要將第2個案例組的第2個執(zhí)行的交易碼為2002的交易中的存錢金額設(shè)置為1000,那么事先對于第2個案例組,需要進行存儲參數(shù):12.5 = ’1000.00’,表示將第2個執(zhí)行的交易中的第5個輸入報文域的內(nèi)容從原來的100直接修改為1000。
[0110]在設(shè)計測試案例時,考慮到測試案例是針對被測系統(tǒng)進行的,需要在被測系統(tǒng)滿足測試條件時才能執(zhí)行相應(yīng)的測試案例,所以在設(shè)計時充分考慮到被測系統(tǒng)的測試條件,被測系統(tǒng)的測試條件有很多種,比如:被測系統(tǒng)對于特定的測試案例需要進行報柜員簽到等權(quán)限處理,如果沒有進行柜員簽到,則被測系統(tǒng)不執(zhí)行沒有柜員簽到權(quán)限的測試案例;測試案例中所包含的特定資源類型的數(shù)據(jù)如果在被測系統(tǒng)的數(shù)據(jù)庫中不存在,那么被測系統(tǒng)不能正常執(zhí)行相應(yīng)的測試案例;或者測試案例中所包含的數(shù)據(jù)狀態(tài)不正確,被測系統(tǒng)對于這樣的測試數(shù)據(jù)不能夠正常執(zhí)行,這些都屬于被測系統(tǒng)不滿足測試條件,所以在本發(fā)明中,為被測系統(tǒng)提供一個接口,能夠編寫腳本來修改被測試的核心系統(tǒng)(我們稱為后臺系統(tǒng))的打底數(shù)據(jù),例如測試人員編寫了一個名為“ARTPTLT”的接口程序,該接口程序?qū)y試案例報文中所使用到的柜員和終端進行簽到處理,從而不會在測試過程中報柜員簽到的錯誤。對于上述交易碼為1001的查詢卡余額的交易,在“ARTPTLT”的接口程序中需要3個參數(shù),分別是省市代號、柜員號、終端號,那么存儲為:
[0111]I1.1 = ARTPTLT$I1.2 = ARTPTLT$I1.3 = ARTPTLT,分別為該接口程序的 3 個參數(shù)。
[0112]對設(shè)計好的測試案例的參數(shù)進行了相應(yīng)的存儲后,參見圖3所示,本發(fā)明提出的方法的具體實施例1的步驟包括:
[0113]步驟301:選擇測試案例;
[0114]測試案例包括單案例和案例組,在對被測系統(tǒng)進行測試時,需要對被測系統(tǒng)進行哪方面的性能測試,就選擇相應(yīng)的單案例或案例組,也可以根據(jù)需要選擇一批單案例和案例組。
[0115]步驟302:根據(jù)測試案例參數(shù)在測試數(shù)據(jù)池中獲取相應(yīng)報文域的內(nèi)容;
[0116]對于單案例,參見圖4所示,根據(jù)單案例參數(shù)在測試數(shù)據(jù)池中獲取相應(yīng)報文域的內(nèi)容包括步驟:
[0117]步驟401:獲取單案例中的單個業(yè)務(wù)內(nèi)配置為主域的報文域;
[0118]例如第I個單案例中的交易為交易碼為1001的查詢卡余額的交易,根據(jù)該交易存儲的參數(shù)dl.Zy = Il.4,來獲取這個交易中設(shè)置為主域的第4個輸入報文域。
[0119]步驟402:在測試數(shù)據(jù)池中查找具有主域?qū)?yīng)的資源類型的數(shù)據(jù),在查找到相應(yīng)資源類型的數(shù)據(jù)中隨機選取一個數(shù)據(jù)作為主域的內(nèi)容;
[0120]當(dāng)獲取了該交易的主域后,根據(jù)該交易的主域的參數(shù)I1.4 = cardlOl.cardno,可知該交易的第4個輸入報文域在測試資源池中對應(yīng)編號為cardlOl的卡類測試數(shù)據(jù),而編號為cardlOl的測試數(shù)據(jù)正是狀態(tài)正常的借記卡資源,在測試數(shù)據(jù)池中存有若干條滿足要求的卡號,在執(zhí)行過程中隨機獲取一個卡號作為主域的內(nèi)容。
[0121]步驟403:在測試資源池中獲取與主域的內(nèi)容相匹配的單個業(yè)務(wù)中配置為從域的報文域的內(nèi)容。
[0122]根據(jù)該交易存儲的參數(shù)dl.Cy = Il.5,來獲取這個交易中設(shè)置為從域的第5個輸入報文域,并且根據(jù)存儲的參數(shù)11.5 = cardlOl.password,在測試資源池中獲取編號為cardlOl的卡類測試數(shù)據(jù)中的密碼,因為卡號和密碼是一一匹配的,所以在測試案例執(zhí)行的過程中會取同一條測試數(shù)據(jù)。該交易中的其他從域的內(nèi)容也根據(jù)存儲的參數(shù)在測試資源池中獲取相應(yīng)的內(nèi)容。
[0123]對于案例組,參見圖5所示,根據(jù)案例組參數(shù)在測試數(shù)據(jù)池中獲取相應(yīng)報文域的內(nèi)容包括步驟:
[0124]對于已選擇的案例組中配置了主從域關(guān)系的報文域:
[0125]步驟501:獲取配置為主域的報文域;
[0126]以第I個案例組為例,因為查詢1001 (I)-存款1002-查詢1001(2)三個交易中的主域均為對應(yīng)卡號的報文域,由于第2個執(zhí)行的存款1002交易和第3個執(zhí)行的查詢1001(2)交易中對應(yīng)卡號的報文域均與第I個執(zhí)行的查詢1001(1)交易中的對應(yīng)卡號的報文域設(shè)置了相等關(guān)系,也就是說只要獲取了第I個執(zhí)行的查詢1001(1)交易中的對應(yīng)卡號的報文域,那么第2個執(zhí)行的存款1002交易和第3個執(zhí)行的查詢1001 (2)交易中對應(yīng)卡號的報文域就等于第I個執(zhí)行的查詢1001(1)交易中的對應(yīng)卡號的報文域的內(nèi)容,所以這里只需要獲取第I個執(zhí)行的查詢1001(1)交易中的設(shè)置為主域的報文域即可;
[0127]步驟502:在測試數(shù)據(jù)池中查找具有主域?qū)?yīng)的資源類型的數(shù)據(jù),在查找到相應(yīng)資源類型的數(shù)據(jù)中隨機選取一個數(shù)據(jù)作為主域的內(nèi)容;
[0128]當(dāng)獲取了第I個執(zhí)行的查詢1001(1)交易的主域后,根據(jù)該交易的主域的參數(shù)
I1.4 = cardlOl.cardno,可知該交易的第4個輸入報文域在測試資源池中對應(yīng)編號為cardlOl的卡類測試數(shù)據(jù),而編號為cardlOl的測試數(shù)據(jù)正是狀態(tài)正常的借記卡資源,在測試數(shù)據(jù)池中存有若干條滿足要求的卡號,在執(zhí)行過程中隨機獲取一個卡號作為主域的內(nèi)容。
[0129]步驟503:在測試資源池中獲取與主域的內(nèi)容相匹配的配置為從域的報文域的內(nèi)容;
[0130]根據(jù)第I個執(zhí)行的查詢1001(1)交易存儲的參數(shù)dl.cy = I1.5,來獲取這個交易中設(shè)置為從域的第5個輸入報文域,并且根據(jù)存儲的參數(shù)I1.5 = cardlOl.password,在測試資源池中獲取編號為cardlOl的卡類測試數(shù)據(jù)中的密碼,因為卡號和密碼是一一匹配的,所以在測試案例執(zhí)行的過程中會取同一條測試數(shù)據(jù)。該交易中的其他從域的內(nèi)容也根據(jù)存儲的參數(shù)在測試資源池中獲取相應(yīng)的內(nèi)容。
[0131]對于已選擇的案例組中配置了相等關(guān)系的報文域:
[0132]步驟504:執(zhí)行順序在后的報文域的內(nèi)容由配置了相等關(guān)系的執(zhí)行在前的報文域的內(nèi)容所決定。
[0133]步驟501中已經(jīng)獲取了第I個執(zhí)行的查詢1001(1)交易中的主域的卡號,根據(jù)對于第2個執(zhí)行的交易碼為1002的存款交易存儲的參數(shù)12.4 = I1.4,獲取第2個執(zhí)行的交易碼為1002的存款交易中的卡號為步驟501中獲取的第I個執(zhí)行的查詢1001(1)交易中的主域的卡號,第2個執(zhí)行的交易碼為1002的存款交易中如果設(shè)置了從域,那么根據(jù)主從域關(guān)系自動獲取與主域內(nèi)容相對應(yīng)的從域的內(nèi)容。
[0134]根據(jù)對于第3個執(zhí)行的交易碼為1001的查詢交易存儲的參數(shù)13.4 = 11.4,獲取第3個執(zhí)行的交易碼為1001的查詢交易中的卡號為步驟501中獲取的第I個執(zhí)行的查詢1001(1)交易中的主域的卡號,第3個執(zhí)行的交易碼為1001的查詢交易中如果設(shè)置了從域,那么根據(jù)主從域關(guān)系自動獲取與主域內(nèi)容相對應(yīng)的從域的內(nèi)容。
[0135]步驟303:查詢測試案例中是否存在配置為直接修改報文域的報文域,如果是,則進入步驟304 ;如果否,則進入步驟305 ;
[0136]在設(shè)計測試案例時,對需要進行修改的單案例和案例組中的報文域已經(jīng)存儲了相應(yīng)的直接修改關(guān)系,所以在執(zhí)行本發(fā)明的方法的過程中,對于已選擇的測試案例,需要查詢測試案例中是否存在配置為直接修改報文域的報文域,以第2個案例組為例,對于第2個案例組的第2個執(zhí)行的交易碼為2002的交易存在參數(shù):12.5 = ’ 1000.00’,那么表示第2個案例組中存在配置為直接修改報文域的報文域。
[0137]步驟304:利用存儲的直接修改關(guān)系對相應(yīng)的報文域內(nèi)容進行直接修改;
[0138]對于配置為直接修改報文域的報文域,以第2個案例組為例,對于第2個案例組的第2個執(zhí)行的交易碼為2002的交易存在參數(shù):12.5 =,1000.00’,那么根據(jù)參數(shù)的設(shè)置對第2個執(zhí)行的交易碼為2002的交易中的第5個輸入報文域的內(nèi)容從原來的100改為參數(shù)中配置的1000。
[0139]步驟305:判斷被測系統(tǒng)是否滿足被測條件;如果是,則進入步驟307 ;如果否,則進入步驟306 ;
[0140]對于步驟301中選擇的測試案例,被測系統(tǒng)可能不滿足測試條件,所以在執(zhí)行本發(fā)明的方法的過程中,需要判斷被測系統(tǒng)是否滿足被測條件,被測系統(tǒng)的測試條件有很多種,比如:被測系統(tǒng)對于特定的測試案例需要進行報柜員簽到等權(quán)限處理,如果沒有進行柜員簽到,則被測系統(tǒng)不執(zhí)行沒有柜員簽到權(quán)限的測試案例;測試案例中所包含的特定資源類型的數(shù)據(jù)如果在被測系統(tǒng)的數(shù)據(jù)庫中不存在,那么被測系統(tǒng)不能正常執(zhí)行相應(yīng)的測試案例;或者測試案例中所包含的數(shù)據(jù)狀態(tài)不正確,被測系統(tǒng)對于這樣的測試數(shù)據(jù)不能夠正常執(zhí)行,這些都屬于被測系統(tǒng)不滿足測試條件。
[0141]步驟306:利用相應(yīng)的間接修改關(guān)系對被測系統(tǒng)的后臺進行間接修改以使被測系統(tǒng)滿足測試條件,進入步驟307 ;
[0142]以被測系統(tǒng)需要進行柜員簽到的權(quán)限處理為例,對于上述交易碼為1001的查詢卡余額的交易,測試人員編寫的一個名為“ARTPTLT”的接口程序中對3個參數(shù),分別是省市代號、柜員號、終端號,存儲有相應(yīng)的參數(shù):
[0143]I1.1 = ARTPTLT$I1.2 = ARTPTLT$I1.3 = ARTPTLT,分別為該接口程序的 3 個參數(shù),那么根據(jù)這些存儲的參數(shù)對被測系統(tǒng)的后臺數(shù)據(jù)進行間接修改,對被測系統(tǒng)進行柜員簽到的權(quán)限處理,使被測系統(tǒng)滿足測試條件。
[0144]步驟307:如果被測案例進行了直接修改,則在被測系統(tǒng)中執(zhí)行進行了直接修改后的測試案例;如果測試案例沒有進行直接修改,則在被測系統(tǒng)中執(zhí)行測試案例。
[0145]此外,一般情況下,當(dāng)測試人員第一次對被測系統(tǒng)輸入設(shè)計好的測試案例時,根據(jù)測試人員設(shè)計測試案例的思維進行相應(yīng)參數(shù)的存儲,在執(zhí)行本發(fā)明的方法的過程中,在選擇了測試案例之后,可以不再依賴測試人員的操作,而是自動的在測試資源池中獲取測試案例中報文域的內(nèi)容,并對存儲了直接修改關(guān)系的報文域進行相應(yīng)的修改,當(dāng)被測系統(tǒng)不滿足測試條件時,自動地對被測系統(tǒng)的后臺進行間接修改,以使被測系統(tǒng)滿足測試條件,來完成對被測系統(tǒng)的測試。這些存儲的參數(shù)可以涵蓋測試人員設(shè)計的所有測試案例的邏輯關(guān)系,可以不用依賴測試人員的手工操作,對被測系統(tǒng)進行自動化測試。
[0146]當(dāng)完成錄制過程后,在被測銀行系統(tǒng)后期的操作系統(tǒng)升級、個別功能優(yōu)化及維護等場景,無需再次進行錄制過程,只需要進行本方法的測試案例的執(zhí)行過程就能完成對被測銀行系統(tǒng)的測試。當(dāng)已經(jīng)錄制的測試案例不能滿足被測銀行系統(tǒng)的測試時,本發(fā)明的具體實施例還可以對已經(jīng)錄制的測試案例進行格式化,即刪除報文域池中的所有交易報文,刪除案例池中的所有案例。這樣,就可以重新進行錄制和編輯過程,更新報文域池中的報文域和更新案例池中的測試案例。
[0147]對應(yīng)本發(fā)明的方法的具體實施例,本發(fā)明還提出一種銀行系統(tǒng)的測試案例的執(zhí)行裝置,參見圖6所示,在裝置的具體實施例中,包括存儲單元61和執(zhí)行單元62,
[0148]存儲單元61,用于,存儲單案例參數(shù),單案例參數(shù)包括單個業(yè)務(wù)內(nèi)配置為主域的報文域和配置為從域的報文域間的主從域關(guān)系、一個業(yè)務(wù)內(nèi)配置為主域的報文域?qū)?yīng)的資源類型;存儲案例組參數(shù),案例組參數(shù)包括多個業(yè)務(wù)的執(zhí)行順序、一個或多個業(yè)務(wù)內(nèi)配置為主域的報文域和配置為從域的報文域間的主從域關(guān)系、一個或多個業(yè)務(wù)內(nèi)配置為主域的報文域?qū)?yīng)的資源類型、多個業(yè)務(wù)間輸入報文域與輸入報文域和/或輸出報文域與輸入報文域間的相等關(guān)系;在報文域配置為直接修改報文域時,存儲相應(yīng)報文域的直接修改關(guān)系;在報文域配置為后臺間接修改報文域時,存儲相應(yīng)報文域的間接修改關(guān)系;
[0149]執(zhí)行單元62,用于,選擇單案例和/或案例組;根據(jù)單案例參數(shù)和/或案例組參數(shù)在測試數(shù)據(jù)池中獲取已選擇的單案例和/或案例組中相應(yīng)報文域的內(nèi)容;查詢單案例和/或案例組中是否存在配置為直接修改報文域的報文域,如果是,則利用直接修改關(guān)系對單案例和/或案例組中相應(yīng)報文域的內(nèi)容進行直接修改,在被測系統(tǒng)滿足測試條件時,在被測系統(tǒng)中執(zhí)行直接修改后的單案例和/或案例組;在被測系統(tǒng)不滿足測試條件時,利用相應(yīng)的間接修改關(guān)系對被測系統(tǒng)的后臺進行間接修改以使被測系統(tǒng)滿足測試條件,并在被測系統(tǒng)中執(zhí)行間接修改后的單案例和/或案例組;如果否,則在被測系統(tǒng)滿足測試條件時,在被測系統(tǒng)中執(zhí)行單案例和/或案例組;在被測系統(tǒng)不滿足測試條件時,利用相應(yīng)的間接修改關(guān)系對被測系統(tǒng)的后臺進行間接修改以使被測系統(tǒng)滿足測試條件,并在被測系統(tǒng)中執(zhí)行單案例和/或案例組。
[0150]參見圖7所示,存儲單元71包括:單案例存儲模塊711、案例組存儲模塊712、直接修改關(guān)系存儲模塊713和間接修改關(guān)系存儲模塊714,
[0151 ] 單案例存儲模塊711,用于,存儲單案例參數(shù),單案例參數(shù)包括單個業(yè)務(wù)內(nèi)配置為主域的報文域和配置為從域的報文域間的主從域關(guān)系、一個業(yè)務(wù)內(nèi)配置為主域的報文域?qū)?yīng)的資源類型;
[0152]案例組存儲模塊712,用于,存儲案例組參數(shù),案例組參數(shù)包括多個業(yè)務(wù)的執(zhí)行順序、一個或多個業(yè)務(wù)內(nèi)配置為主域的報文域和配置為從域的報文域間的主從域關(guān)系、一個或多個業(yè)務(wù)內(nèi)配置為主域的報文域?qū)?yīng)的資源類型、多個業(yè)務(wù)間輸入報文域與輸入報文域和/或輸出報文域與輸入報文域間的相等關(guān)系;
[0153]直接修改關(guān)系存儲模塊713,用于,存儲報文域的直接修改關(guān)系;
[0154]間接修改關(guān)系存儲模塊714,用于,存儲報文域的間接修改關(guān)系;
[0155]執(zhí)行單元72包括選擇模塊721、獲取模塊722、查詢模塊723、直接修改模塊724、判斷模塊725、間接修改模塊726和執(zhí)行模塊727,
[0156]選擇模塊721,用于,選擇單案例和/或案例組;
[0157]獲取模塊722,用于,根據(jù)單案例參數(shù)和/或案例組參數(shù)在測試數(shù)據(jù)池中獲取已選擇的單案例和/或案例組中相應(yīng)報文域的內(nèi)容;
[0158]查詢模塊723,用于,查詢單案例和/或案例組中是否存在配置為直接修改報文域的報文域,如果是,則激活直接修改模塊;如果否,則激活判斷模塊;
[0159]直接修改模塊724,用于,則利用直接修改關(guān)系對單案例和/或案例組中相應(yīng)報文域的內(nèi)容進行直接修改,激活判斷模塊;
[0160]判斷模塊725,用于,判斷被測系統(tǒng)是否滿足測試條件,如果是,則激活執(zhí)行模塊;如果否則激活間接修改模塊;
[0161]間接修改模塊726,用于,利用相應(yīng)的間接修改關(guān)系對被測系統(tǒng)的后臺進行間接修改以使被測系統(tǒng)滿足測試條件,激活執(zhí)行模塊;[0162]執(zhí)行模塊727,用于,在被測系統(tǒng)中執(zhí)行相應(yīng)的測試案例。
[0163]如圖8所示,裝置還包括錄制單元81,用于,錄制對被測系統(tǒng)輸入的業(yè)務(wù)報文,對業(yè)務(wù)報文進行報文域切分和解析,激活存儲單元。
[0164]為了防止對具有同一種報文域格式的交易報文進行重復(fù)錄制,裝置還包括查詢單元82,用于,查詢是否存儲過與將要錄制的對被測系統(tǒng)輸入的業(yè)務(wù)報文具有相同報文域的業(yè)務(wù)報文,如果否,則錄制對被測系統(tǒng)輸入的業(yè)務(wù)報文;如果是,則不進行重復(fù)錄制。
[0165]當(dāng)完成錄制過程后,在被測銀行系統(tǒng)后期的操作系統(tǒng)升級、個別功能優(yōu)化及維護等場景,無需再次進行錄制過程,只需要進行本方法的測試案例的執(zhí)行過程就能完成對被測銀行系統(tǒng)的測試。當(dāng)已經(jīng)錄制的測試案例不能滿足被測銀行系統(tǒng)的測試時,為了刪除所存儲的各個邏輯關(guān)系和參數(shù),方便進行重新的錄制和存儲,本發(fā)明裝置的具體實施例中的裝置還包括刪除單元83,用于,刪除錄制的所有業(yè)務(wù)報文,刪除存儲的所有單案例參數(shù)、案例組參數(shù)、直接修改關(guān)系、和間接修改關(guān)系。
[0166]本發(fā)明還提出一種包含測試案例的執(zhí)行裝置的測試工具,當(dāng)測試人員第一次對被測系統(tǒng)輸入測試案例時,根據(jù)測試人員設(shè)計測試案例的思維進行相應(yīng)參數(shù)的存儲,對被測系統(tǒng)進行測試時,選擇了測試案例后,可以自動的在測試資源池中獲取測試案例中報文域的內(nèi)容,并對存儲了直接修改關(guān)系的報文域進行相應(yīng)的修改,當(dāng)被測系統(tǒng)不滿足測試條件時,自動地對被測系統(tǒng)的后臺進行間接修改,以使被測系統(tǒng)滿足測試條件,來完成對被測系統(tǒng)的測試。
[0167]以上僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本【技術(shù)領(lǐng)域】的普通技術(shù)人員來說,在不脫離本發(fā)明的原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。
【權(quán)利要求】
1.一種測試案例的執(zhí)行方法,包括: 存儲單案例參數(shù),所述單案例參數(shù)包括單個業(yè)務(wù)內(nèi)配置為主域的報文域和配置為從域的報文域間的主從域關(guān)系、所述一個業(yè)務(wù)內(nèi)配置為主域的報文域?qū)?yīng)的資源類型; 和/或存儲案例組參數(shù),所述案例組參數(shù)包括多個業(yè)務(wù)的執(zhí)行順序、一個或多個業(yè)務(wù)內(nèi)配置為主域的報文域和配置為從域的報文域間的主從域關(guān)系、所述一個或多個業(yè)務(wù)內(nèi)配置為主域的報文域?qū)?yīng)的資源類型、多個業(yè)務(wù)間輸入報文域與輸入報文域和/或輸出報文域與輸入報文域間的相等關(guān)系;在報文域配置為直接修改報文域時,存儲相應(yīng)報文域的直接修改關(guān)系;在報文域配置為后臺間接修改報文域時,存儲相應(yīng)報文域的間接修改關(guān)系;其特征在于: 選擇單案例和/或案例組; 根據(jù)所述單案例參數(shù)和/或案例組參數(shù)在測試數(shù)據(jù)池中獲取已選擇的所述單案例和/或案例組中相應(yīng)報文域的內(nèi)容; 查詢所述單案例和/或案例組中是否存儲配置為直接修改報文域的報文域, 如果是,則利用所述直接修改關(guān)系對所述單案例和/或案例組中相應(yīng)報文域的內(nèi)容進行直接修改,并在被測系統(tǒng)滿足測試條件時,在所述被測系統(tǒng)中執(zhí)行直接修改后的所述單案例和/或案例組;以及,在所述被測系統(tǒng)不滿足測試條件時,利用相應(yīng)的間接修改關(guān)系對所述被測系統(tǒng)的后臺進行間接修改以使被測系統(tǒng)滿足測試條件,并在所述被測系統(tǒng)中執(zhí)行間接修改后的所述單案例和/或案例組; 如果否,則在被測系 統(tǒng)滿足測試條件時,在所述被測系統(tǒng)中執(zhí)行所述單案例和/或案例組;在被測系統(tǒng)不滿足測試條件時,利用相應(yīng)的間接修改關(guān)系對所述被測系統(tǒng)的后臺進行間接修改以使被測系統(tǒng)滿足測試條件,并在所述被測系統(tǒng)中執(zhí)行所述單案例和/或案例組。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述單案例參數(shù)在測試數(shù)據(jù)池中獲取已選擇的所述單案例中相應(yīng)報文域的內(nèi)容具體為: 獲取所述單案例中的單個業(yè)務(wù)內(nèi)配置為主域的報文域; 在所述測試數(shù)據(jù)池中查找具有主域?qū)?yīng)的資源類型的數(shù)據(jù),在查找到相應(yīng)資源類型的數(shù)據(jù)中隨機選取一個數(shù)據(jù)作為主域的內(nèi)容; 在所述測試資源池中獲取與所述主域的內(nèi)容相匹配的所述單個業(yè)務(wù)中配置為從域的報文域的內(nèi)容。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述案例組參數(shù)在測試數(shù)據(jù)池中獲取已選擇的所述案例組中相應(yīng)報文域的內(nèi)容具體為: 對于所述已選擇的案例組中配置了所述主從域關(guān)系的報文域: 獲取配置為主域的報文域; 在所述測試數(shù)據(jù)池中查找具有主域?qū)?yīng)的資源類型的數(shù)據(jù),在查找到相應(yīng)資源類型的數(shù)據(jù)中隨機選取一個數(shù)據(jù)作為主域的內(nèi)容; 在所述測試資源池中獲取與所述主域的內(nèi)容相匹配的配置為從域的報文域的內(nèi)容; 對于所述已選擇的案例組中配置了所述相等關(guān)系的報文域: 執(zhí)行順序在后的報文域的內(nèi)容由配置了所述相等關(guān)系的執(zhí)行在前的報文域的內(nèi)容所決定。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于, 在所述存儲之前還包括:錄制對被測系統(tǒng)輸入的業(yè)務(wù)報文,對所述業(yè)務(wù)報文進行報文域切分和解析。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,在所述錄制對被測系統(tǒng)輸入的業(yè)務(wù)報文之前還包括: 查詢是否存儲過與將要錄制的對被測系統(tǒng)輸入的業(yè)務(wù)報文具有相同報文域的業(yè)務(wù)報文,如果否,則錄制所述對被測系統(tǒng)輸入的業(yè)務(wù)報文;如果是,則不進行重復(fù)錄制。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述存儲之后還包括:刪除錄制的所有業(yè)務(wù)報文,刪除存儲的所有單案例參數(shù)、案例組參數(shù)、直接修改關(guān)系、和間接修改關(guān)系。
7.—種測試案例的執(zhí)行裝置,其特征在于,包括存儲單元和執(zhí)行單元, 所述存儲單元,用于存儲單案例參數(shù),所述單案例參數(shù)包括單個業(yè)務(wù)內(nèi)配置為主域的報文域和配置為從域的報文域間的主從域關(guān)系、所述一個業(yè)務(wù)內(nèi)配置為主域的報文域?qū)?yīng)的資源類型;和/或存儲案例組參數(shù),所述案例組參數(shù)包括多個業(yè)務(wù)的執(zhí)行順序、一個或多個業(yè)務(wù)內(nèi)配置為主域的報文域和配置為從域的報文域間的主從域關(guān)系、所述一個或多個業(yè)務(wù)內(nèi)配置為主域的報文域?qū)?yīng)的資源類型、多個業(yè)務(wù)間輸入報文域與輸入報文域和/或輸出報文域與輸入報文域間的相等關(guān)系;在報文域配置為直接修改報文域時,存儲相應(yīng)報文域的直接修改關(guān)系;在報文域配置為后臺間接修改報文域時,存儲相應(yīng)報文域的間接修改關(guān)系; 所述執(zhí)行單元,用于選擇單案例和/或案例組;根據(jù)所述單案例參數(shù)和/或案例組參數(shù)在測試數(shù)據(jù)池中獲取已選擇的所述單案例和/或案例組中相應(yīng)報文域的內(nèi)容;查詢所述單案例和/或案例組中是否存在配置為直接修改報文域的報文域,如果是,則利用所述直接修改關(guān)系對所述單案例和/或案例組中相應(yīng)報文域的內(nèi)容進行直接修改,在被測系統(tǒng)滿足測試條件時,在所述被測系統(tǒng)中執(zhí)行直接修改后的所述單案例和/或案例組;在所述被測系統(tǒng)不滿足測試條件時,利用相應(yīng)的間接修改關(guān)系對所述被測系統(tǒng)的后臺進行間接修改以使被測系統(tǒng)滿足測試條件,并在所述被測系統(tǒng)中執(zhí)行間接修改后的所述單案例和/或案例組;如果否,則在被測系統(tǒng)滿足測試條件時,在所述被測系統(tǒng)中執(zhí)行所述單案例和/或案例組;在被測系統(tǒng)不滿足測試條件時,利用相應(yīng)的間接修改關(guān)系對所述被測系統(tǒng)的后臺進行間接修改以使被測系統(tǒng)滿足測試條件,并在所述被測系統(tǒng)中執(zhí)行所述單案例和/或案例組。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述存儲單元包括:單案例存儲模塊、案例組存儲模塊、直接修改關(guān)系存儲模塊和間接修改關(guān)系存儲模塊, 所述單案例存儲模塊,用于存儲單案例參數(shù),所述單案例參數(shù)包括單個業(yè)務(wù)內(nèi)配置為主域的報文域和配置為從域的報文域間的主從域關(guān)系、所述一個業(yè)務(wù)內(nèi)配置為主域的報文域?qū)?yīng)的資源類型; 所述案例組存儲模塊,用于存儲 案例組參數(shù),所述案例組參數(shù)包括多個業(yè)務(wù)的執(zhí)行順序、一個或多個業(yè)務(wù)內(nèi)配置為主域的報文域和配置為從域的報文域間的主從域關(guān)系、所述一個或多個業(yè)務(wù)內(nèi)配置為主域的報文域?qū)?yīng)的資源類型、多個業(yè)務(wù)間輸入報文域與輸入報文域和/或輸出報文域與輸入報文域間的相等關(guān)系; 所述直接修改關(guān)系存儲模塊,用于存儲報文域的直接修改關(guān)系;所述間接修改關(guān)系存儲模塊,用于存儲報文域的間接修改關(guān)系; 所述執(zhí)行單元包括選擇模塊、獲取模塊、查詢模塊、直接修改模塊、判斷模塊、間接修改模塊和執(zhí)行模塊, 所述選擇模塊,用于選擇單案例和/或案例組; 所述獲取模塊,用于根據(jù)所述單案例參數(shù)和/或案例組參數(shù)在測試數(shù)據(jù)池中獲取已選擇的所述單案例和/或案例組中相應(yīng)報文域的內(nèi)容; 所述查詢模塊,用于查詢所述單案例和/或案例組中是否存在配置為直接修改報文域的報文域,如果是,則激活所述直接修改模塊;如果否,則激活所述判斷模塊; 所述直接修改模塊,用于則利用所述直接修改關(guān)系對所述單案例和/或案例組中相應(yīng)報文域的內(nèi)容進行直接修改,激活所述判斷模塊; 所述判斷模塊,用于判斷被測系統(tǒng)是否滿足測試條件,如果是,則激活執(zhí)行模塊;如果否則激活間接修改模塊; 所述間接修改模塊,用于利用相應(yīng)的間接修改關(guān)系對所述被測系統(tǒng)的后臺進行間接修改以使被測系統(tǒng)滿足測試條件,激活所述執(zhí)行模塊。
9.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括錄制單元,用于,錄制對被測系統(tǒng)輸入的業(yè)務(wù)報文,對所述業(yè)務(wù)報文進行報文域切分和解析,激活所述存儲單元。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述裝置還包括查詢單元,用于,查詢是否存儲過與將要錄制的對被測系統(tǒng)輸入的業(yè)務(wù)報文具有相同報文域的業(yè)務(wù)報文,如果否,則錄制所述對被測系統(tǒng)輸入的業(yè)務(wù)報文;如果是,則不進行重復(fù)錄制。
11.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括刪除單元,用于,刪除錄制的所有業(yè)務(wù)報文,刪除存儲的所有單案例參數(shù)、案例組參數(shù)、直接修改關(guān)系、和間接修改關(guān)系。
12.一種包含測 試案例的執(zhí)行裝置的測試工具,其特征在于,當(dāng)測試人員第一次對被測系統(tǒng)輸入測試案例時,根據(jù)測試人員設(shè)計測試案例的思維進行相應(yīng)參數(shù)的存儲,對被測系統(tǒng)進行測試時,選擇了測試案例后,可以自動的在測試資源池中獲取測試案例中報文域的內(nèi)容,并對存儲了直接修改關(guān)系的報文域進行相應(yīng)的修改,當(dāng)被測系統(tǒng)不滿足測試條件時,自動地對被測系統(tǒng)的后臺進行間接修改,以使被測系統(tǒng)滿足測試條件,來完成對被測系統(tǒng)的測試。
【文檔編號】G06F11/36GK103810094SQ201210459062
【公開日】2014年5月21日 申請日期:2012年11月14日 優(yōu)先權(quán)日:2012年11月14日
【發(fā)明者】郭麗, 楊志剛, 高琦, 于進, 孟毅穎, 涂曉軍, 蔡仕志, 張旭春, 周期律, 王智忠, 牛曄 申請人:中國農(nóng)業(yè)銀行股份有限公司