應用于金融領域的測試腳本生成方法和裝置的制造方法
【技術領域】
[0001]本發明涉及金融系統軟件測試技術領域,特別涉及應用于金融領域的測試腳本生成方法和裝置。
【背景技術】
[0002]隨著全球金融業務的不斷擴展,中國的銀行系統的IT總體架構也在發生變化。銀行系統的穩健性、可靠性和可維護性越來越受重視。因此,軟件測試的重要性也越發凸顯。
[0003]目前,軟件測試不僅包括功能指標測試,還包括非功能指標(例如響應時間和并發性)測試。目前,能夠進行軟件測試的工具有多種,例如,惠普公司發布的Load Runner性能測試工具,其可通過模擬實際用戶的操作行為,實施并發負載及性能監測的方式,來獲取待測軟件系統的非功能性指標。
[0004]目前腳本的開發的方式主要依賴于測試人員,即測試人員根據集成平臺測試腳本的語法語義規范,選擇不同的協議進行腳本的開發。發明人在實施本發明創造的過程中,發現現有的腳本開發方式人工參與度較高,從而導致一系列問題,例如:準確性依賴于測試人員的專業素質,測試人員需要學習并掌握目標測試工具(例如Load Runner)的腳本開發規范,并熟知多種腳本接口與多種通信協議之間的對應關系;速度慢導致開發時間過長,且容易出錯。
【發明內容】
[0005]有鑒于此,本發明提供了一種應用于金融領域的測試腳本生成方法和裝置,以減少人工參與度,從而降低對測試人員的專業依賴程度,并縮短腳本開發過程。
[0006]為實現上述目的,本發明提供如下技術方案:
[0007]一種應用于金融領域的測試腳本生成方法,包括:
[0008]獲取匹配用戶所指定交易碼的交易報文,該報文由數據字典中對應該交易碼的交易相關數據組合形成,所述交易相關數據用于描述完成所述交易碼所指定交易的規則和內容;
[0009]從多種協議腳本配置文件中選擇與用戶所指定協議相匹配的協議腳本配置文件;
[0010]組合所述交易報文、協議腳本配置文件以形成與用戶所指定協議相匹配的協議腳本;
[0011]將所述協議腳本轉換為具有目標測試工具的測試腳本文件屬性的測試腳本。
[0012]在研究上述技術方案的過程中,發明人通過對各種協議的測試腳本的結構進行詳細分析,把不同協議的測試腳本均分為有共性部分和差異化部分,將其中所述有共性部分抽象為交易報文,將其中差異化部分為抽象為協議腳本配置文件。即將測試腳本的生成過程分為:交易報文獲取過程,協議交配配置文件選擇過程和測試腳本產生過程。每個過程均可由電子設備自動執行,即:通過預先設置的數據字典匹配各種交易行為,能夠針對用戶隨機輸入的交易碼確定出對應的交易相關數據,并根據交易相關數據組成所述交易報文;以及,根據用戶指定的協議,選擇與該協議相適配的協議腳本配置文件;以及,組合所述交易報文、協議腳本配置文件以形成與用戶所指定協議相匹配的協議腳本;以及,根據目標測試工具的測試腳本屬性,將所述協議腳本轉換為具有目標測試工具的測試腳本文件屬性的測試腳本。可以看出,本申請實施例人工參與程度較低,只需指定交易碼和協議,其他步驟均可由電子設備自行運作,具有以下特點或優點:
[0013]1、可靠性較高
[0014]由于無需過多人工參與,因此其準確性無需依賴于測試人員的專業素質和工作態度,出錯概率較小;
[0015]2、開發成本較低
[0016]測試人員只需指定交易碼和協議,無需學習并掌握目標測試工具(例如LoadRunner)的腳本開發規范,也無需熟知多種腳本接口與多種通信協議之間的對應關系。
[0017]3、開發速度較高
[0018]開發過程主要由機器自動操作,速度較快。
[0019]優選的,上述方案可按照以下步驟獲取匹配用戶所指定交易碼的交易報文:
[0020]接收交易碼;
[0021]從預設數據字典中讀取匹配該交易碼的交易相關數據,所述交易相關數據用于描述完成所述交易碼所指定交易的規則及內容;
[0022]組合所述交易相關數據形成所述交易報文。
[0023]優選的,上述方案中,所述交易相關數據至少包括接口規范、報文字段和通用域字段。
[0024]優選的,上述方案中,所述交易相關數據還包括:數據庫字段映射關系,用于指示交易報文中的字段與所述數據庫中的數據集合的對應關系;
[0025]在所述組合所述交易相關數據形成交易報文后,所述方法還包括:
[0026]參考所述數據庫字段映射關系,從數據庫中確定數據集合,對所述交易報文中待參數化字段進行參數化處理。
[0027]優選的,上述方案中,所述目標測試工具為Load Runner,所述交易報文為XML報文,所述具有目標測試工具的測試腳本文件屬性的測試腳本包括:腳本初始化部分、腳本頭部和腳本實體,其中:
[0028]腳本頭部包括腳本的注釋信息,該注釋信息由XML報文和腳本配置文件中的參數字段組合形成;
[0029]所述腳本實體由存儲于API接口參數內的XML報文和從腳本配置文件中獲取的腳本模板基礎元素生成。
[0030]優選的,上述方案還包括報文語法語義驗證過程、交易連通調試過程和配置報文注釋過程中的任意一個或者任意組合,其中:
[0031 ] 所述報文語法語義驗證過程包括:
[0032]對所述測試報文進行語法和語義方面的驗證,在驗證不通過時,發出提示信息;
[0033]所述交易連通調試過程包括:
[0034]向承載所述目標測試工具的服務器發出連接請求以建立連接,若連接失敗,返回交易失敗字符,否則,發送測試腳本;以及,判斷發送是否成功,若是,則監聽并接收返回報文,否則,返回交易失敗字符;以及,通過所述返回報文判斷交易是否成功,若是,返回交易成功字符,否則,返回交易失敗字符;
[0035]所述配置報文注釋過程包括:
[0036]配置報文注釋,以提高測試腳本的可讀性。
[0037]本申請同時還提供一種應用于金融領域的測試腳本生成裝置,以實現上述測試腳本生成方法,該裝置包括:
[0038]交易報文獲取單元,用于獲取匹配用戶所指定交易碼的交易報文,該報文由數據字典中對應該交易碼的交易相關數據組合形成,所述交易相關數據用于描述完成所述交易碼所指定交易的規則和內容;
[0039]配置文件選取單元,用于從多種協議腳本配置文件中選擇與用戶所指定協議相匹配的協議腳本配置文件;
[0040]協議腳本生成單元,用于組合所述交易報文、協議腳本配置文件以形成與用戶所指定協議相匹配的協議腳本;
[0041]腳本轉換單元,用于將所述協議腳本轉換為具有目標測試工具的測試腳本文件屬性的測試腳本。
[0042]優選的,上述裝置還包括參數化單元,用于參數化所述交易報文。
[0043]優選的,上述裝置還包括報文語法語義驗證單元、交易連通調試單元和配置報文注釋單元中的任意一個或者任意組合,其中:
[0044]所述報文語法語義驗證單元用于:對所述測試報文進行語法和語義方面的驗證,在驗證不通過時,發出提示信息;
[0045]所述交易連通調試單元用于:向承載所述目標測試工具的服務器發出連接請求以建立連接,若連接失敗,返回交易失敗字符,否則,發送測試腳本;以及,判斷發送是否成功,若是,則監聽并接收返回報文,否則,返回交易失敗字符;以及,通過所述返回報文判斷交易是否成功,若是,返回交易成功字符,否則,返回交易失敗字符;
[0046]所述配置報文注釋單元用于:配置報文注釋,以提高測試腳本的可讀性。
[0047]優選的,上述裝置中,所述目標測試工具為Load Runner,所述交易報文為XML報文,所述具有目標測試工具的測試腳本文件屬性的測試腳本包括:腳本初始化部分、腳本頭部和腳本實體,其中:
[0048]腳本頭部包括腳本的注釋信息,該注釋信息由XML報文和腳本配置文件中的參數字段組合形成;<