基於專家知識資料庫的自動化測試裝置及方法
2023-05-12 17:38:31 1
基於專家知識資料庫的自動化測試裝置及方法
【專利摘要】本發明提出了基於專家知識資料庫的自動化測試裝置及方法。其中,所述方法包括:接收來自用戶的測試啟動指令,並基於所述測試啟動指令以及專家知識資料庫中的專家知識數據記錄以及待測系統所針對的業務資料庫中的記錄構造由單個原子測試步驟構成的測試流程並向所述待測系統發送相應的測試指令和數據以啟動測試過程;接收來自所述待測系統的應答結果並將所述應答結果存儲到測試結果資料庫中,以及基於所述待測系統的應答結果確定後續的測試流程並執行後續的測試過程。本發明所公開的基於專家知識資料庫的自動化測試裝置及方法能夠基於專家知識資料庫自動地執行測試過程。
【專利說明】基於專家知識資料庫的自動化測試裝置及方法
【技術領域】
[0001] 本發明涉及測試裝置及方法,更具體地,涉及基於專家知識資料庫的自動化測試 裝置及方法。
【背景技術】
[0002] 目前,隨著計算機和網絡應用的日益廣泛以及不同領域的業務種類的日益豐富, 對特定的業務應用(例如金融領域中的各種交易應用)執行測試過程以發現問題並確保業 務應用的正確運行變得越來越重要。
[0003] 現有的測試裝置及方法的基本工作過程如下:測試者通過用戶接口人工提交測 試數據並觀察待測系統的應答結果,隨後根據經驗判斷處理結果並根據業務規則確定下 一步要進行的測試步驟。
[0004] 然而,現有的測試裝置及方法存在如下問題:由於需要頻繁地進行人機互動和人 工判斷,故測試效率較低且會導致測試結果的不確定性。此外,雖然有些測試工具能夠設置 固定的測試流程實現一定的自動化,但是無法對測試流程中需要進行邏輯判斷的分支進行 處理,即仍需通過人工判斷測試中間結果來啟動後續的測試流程,故測試效率較低且可擴 展性差。
[0005] 因此,存在如下需求:提供能夠基於專家知識資料庫自動地執行測試過程的測試 裝置及方法。
【發明內容】
[0006] 為了解決上述現有技術方案所存在的問題,本發明提出了能夠基於專家知識數據 庫自動地執行測試過程的測試裝置及方法。
[0007] 本發明的目的是通過以下技術方案實現的: 一種基於專家知識資料庫的自動化測試裝置,所述基於專家知識資料庫的自動化測試 裝置包括: 用戶接口,所述用戶接口接收用戶在執行測試過程之前輸入的專家知識並將所述專家 知識傳送到專家知識處理模塊,以及接收來自用戶的測試啟動指令,並將所述測試啟動指 令傳送到測試驅動模塊; 專家知識處理模塊,所述專家知識處理模塊解析接收到的所述專家知識並根據預定格 式將所解析的專家知識組裝成專家知識數據記錄,以及隨後將所述專家知識數據記錄存儲 到專家知識存儲模塊中; 推理模塊,所述推理模塊基於接收到的所述測試啟動指令並根據專家知識處理模塊中 的專家知識數據記錄以及待測系統所針對的業務資料庫中的記錄構造由單個原子測試步 驟構成的測試流程並驅動所述測試驅動模塊啟動測試過程,所述推理模塊進一步用於基於 接收到的來自所述測試驅動模塊的測試返回指令確定後續的測試流程並驅動所述測試驅 動模塊執行後續的測試過程; 測試驅動模塊,所述測試驅動模塊基於所述推理模塊的驅動向所述待測系統發送相應 的測試指令和數據以啟動測試過程以及執行所述推理模塊所確定的後續的測試過程,所述 測試驅動模塊進一步用於接收來自所述待測系統的應答結果並將所述應答結果存儲到測 試結果存儲模塊中,以及在接收到來自所述待測系統的應答結果後向所述推理模塊發送相 應的測試返回指令; 專家知識存儲模塊,所述專家知識處理模塊用於存儲所述專家知識數據記錄; 測試結果存儲模塊,所述測試結果存儲模塊用於存儲來自所述待測系統的應答結果。
[0008] 在上面所公開的方案中,優選地,所述推理模塊以如下方式基於接收到的來自所 述測試驅動模塊的測試返回指令確定後續的測試流程:(1)判斷測試所針對的業務流程是 否完成;(2)如果測試所針對的業務流程已完成,則終止測試過程;(3)如果測試所針對的 業務流程未完成,則根據所述測試返回指令所對應的待測系統的應答結果、所述業務數據 庫中對應的記錄以及對應的專家知識數據記錄綜合地確定後續的測試步驟和測試參數,並 驅動所述測試驅動模塊執行後續的測試過程。
[0009] 在上面所公開的方案中,優選地,所述推理模塊進一步用於在測試過程全部完成 後根據相應的專家知識數據記錄對測試結果存儲模塊中所存儲的相應的應答結果進行評 估以獲得測試結論,並將所述測試結論存儲到所述測試結果存儲模塊中。
[0010] 在上面所公開的方案中,優選地,所述裝置進一步包括解釋器,所述解釋器用於對 所述推理模塊進行的推理過程進行解釋和存儲以跟蹤和追溯推理路徑。
[0011] 在上面所公開的方案中,優選地,所述用戶接口能夠基於用戶指令顯示所述測試 結論以及所跟蹤和追溯的推理路徑。
[0012] 在上面所公開的方案中,優選地,用戶能夠通過所述用戶接口修正所述專家知識 數據記錄和/或所使用的測試參數。
[0013] 本發明的目的也可以通過以下技術方案實現: 一種基於專家知識資料庫的自動化測試方法,所述基於專家知識資料庫的自動化測試 方法包括下列步驟: (A1)接收用戶在執行測試過程之前輸入的專家知識; (A2)解析所述專家知識並根據預定格式將所解析的專家知識組裝成專家知識數據記 錄,以及隨後將所述專家知識數據記錄存儲到專家知識資料庫中; (A3)接收來自用戶的測試啟動指令,並基於所述測試啟動指令以及專家知識資料庫中 的專家知識數據記錄以及待測系統所針對的業務資料庫中的記錄構造由單個原子測試步 驟構成的測試流程並向所述待測系統發送相應的測試指令和數據以啟動測試過程; (A4)接收來自所述待測系統的應答結果並將所述應答結果存儲到測試結果資料庫中, 以及基於所述待測系統的應答結果確定後續的測試流程並執行後續的測試過程。
[0014] 本發明所公開的基於專家知識資料庫的自動化測試裝置及方法具有以下優點: (1)由於能夠根據專業知識資料庫中的知識和前一步的測試結果來選擇並執行後續的測試 案例,故使得整個測試流程智能化和自動化;(2)由於能夠根據專家知識資料庫自動生成 測試案例,故無需手工配置測試案例,故提高了測試效率並從而減少了測試時間;(3)由於 能夠自動地根據專業知識資料庫中的專家知識對測試結果進行分析和評估,故提高了評估 結果的準確性。
【專利附圖】
【附圖說明】
[0015] 結合附圖,本發明的技術特徵以及優點將會被本領域技術人員更好地理解,其 中: 圖1是根據本發明的實施例的基於專家知識資料庫的自動化測試裝置的示意性結構 圖; 圖2是根據本發明的實施例的基於專家知識資料庫的自動化測試方法的流程圖。
【具體實施方式】
[0016] 圖1是根據本發明的實施例的基於專家知識資料庫的自動化測試裝置的示意性 結構圖。如圖1所示,本發明所公開的基於專家知識資料庫的自動化測試裝置包括用戶接 口 1、專家知識處理模塊2、推理模塊3、測試驅動模塊5、專家知識存儲模塊6和測試結果存 儲模塊7。其中,所述用戶接口 1用於接收用戶(例如測試操作者)在執行測試過程之前輸 入的專家知識(例如針對特定應用的業務規則和流程)並將所述專家知識傳送到專家知識 處理模塊2,以及接收來自用戶的測試啟動指令,並將所述測試啟動指令傳送到測試驅動模 塊5。所述專家知識處理模塊2解析接收到的所述專家知識並根據預定格式將所解析的專 家知識組裝成專家知識數據記錄(即標準化、結構化的數據記錄形式),以及隨後將所述專 家知識數據記錄存儲到專家知識存儲模塊6 (即專家知識資料庫)中。所述推理模塊3基於 接收到的所述測試啟動指令並根據專家知識處理模塊2中的專家知識數據記錄(例如特定 應用的業務流程)以及待測系統所針對的業務資料庫(其向所述推理模塊3提供進行邏輯推 理的環境數據以及用於驅動測試的輸入參數)中的記錄構造由單個原子測試步驟構成的測 試流程(例如經組裝的測試案例)並驅動所述測試驅動模塊5啟動測試過程,所述推理模塊 3進一步用於基於接收到的來自所述測試驅動模塊5的測試返回指令確定後續的測試流程 並驅動所述測試驅動模塊5執行後續的測試過程。所述測試驅動模塊5基於所述推理模塊 3的驅動向所述待測系統發送相應的測試指令和數據以啟動測試過程以及執行所述推理模 塊3所確定的後續的測試過程,所述測試驅動模塊5進一步用於接收來自所述待測系統的 應答結果並將所述應答結果存儲到測試結果存儲模塊7中,以及在接收到來自所述待測系 統的應答結果後向所述推理模塊3發送相應的測試返回指令。所述專家知識存儲模塊6用 於存儲所述專家知識數據記錄。所述測試結果存儲模塊7用於存儲來自所述待測系統的應 答結果。
[0017] 優選地,在本發明所公開的基於專家知識資料庫的自動化測試裝置中,所述推理 模塊3以如下方式基於接收到的來自所述測試驅動模塊5的測試返回指令確定後續的測試 流程:(1)判斷測試所針對的業務流程是否完成;(2)如果測試所針對的業務流程已完成, 則終止測試過程;(3)如果測試所針對的業務流程未完成,則根據所述測試返回指令所對 應的待測系統的應答結果、所述業務資料庫中對應的記錄以及對應的專家知識數據記錄綜 合地確定後續的測試步驟和測試參數,並驅動所述測試驅動模塊5執行後續的測試過程。
[0018] 優選地,在本發明所公開的基於專家知識資料庫的自動化測試裝置中,所述推理 模塊3進一步用於在測試過程全部完成後根據相應的專家知識數據記錄(例如特定應用的 業務規則)對測試結果存儲模塊7中所存儲的相應的應答結果進行評估以獲得測試結論,並 將所述測試結論存儲到所述測試結果存儲模塊7中。
[0019] 優選地,本發明所公開的基於專家知識資料庫的自動化測試裝置進一步包括解釋 器4,所述解釋器4用於對所述推理模塊3進行的推理過程進行解釋和存儲以跟蹤和追溯推 理路徑。
[0020] 優選地,在本發明所公開的基於專家知識資料庫的自動化測試裝置中,所述用戶 接口1能夠基於用戶指令顯示所述測試結論以及所跟蹤和追溯的推理路徑。
[0021] 優選地,在本發明所公開的基於專家知識資料庫的自動化測試裝置中,用戶能夠 通過所述用戶接口1修正所述專家知識數據記錄和/或所使用的測試參數。
[0022] 示例性地,在金融領域中,針對交易支付應用,本發明所公開的基於專家知識數據 庫的自動化測試裝置中的針對業務規則的專家知識數據記錄可以包括下列欄位:一個或多 個測試交易數據欄位(例如其值可以分別是原因碼和原交易數據)、測試數據欄位(例如其 值可以是"貸調交易")、測試結果應答碼欄位(例如其值可以是"9224-原因碼不正確")和 測試案例欄位(例如其值可以是"原交易數據不變發起原因碼9601貸調")。
[0023] 由上可見,本發明所公開的基於專家知識資料庫的自動化測試裝置具有下列優 點:(1)由於能夠根據專業知識資料庫中的知識和前一步的測試結果來選擇並執行後續的 測試案例,故使得整個測試流程智能化和自動化;(2)由於能夠根據專家知識資料庫自動 生成測試案例,故無需手工配置測試案例,故提高了測試效率並從而減少了測試時間;(3) 由於能夠自動地根據專業知識資料庫中的專家知識對測試結果進行分析和評估,故提高了 評估結果的準確性。
[0024] 圖2是根據本發明的實施例的基於專家知識資料庫的自動化測試方法的流程圖。 如圖2所示,本發明所公開的基於專家知識資料庫的自動化測試方法包括下列步驟:(A1) 接收用戶(例如測試操作者)在執行測試過程之前輸入的專家知識(例如針對特定應用的業 務規則和流程);(A2)解析所述專家知識並根據預定格式將所解析的專家知識組裝成專家 知識數據記錄(即標準化、結構化的數據記錄形式),以及隨後將所述專家知識數據記錄存 儲到專家知識資料庫中;(A3)接收來自用戶的測試啟動指令,並基於所述測試啟動指令以 及專家知識資料庫中的專家知識數據記錄(例如特定應用的業務流程)以及待測系統所針 對的業務資料庫(其提供進行邏輯推理的環境數據以及用於驅動測試的輸入參數)中的記 錄構造由單個原子測試步驟構成的測試流程(例如經組裝的測試案例)並向所述待測系統 發送相應的測試指令和數據以啟動測試過程;(A4)接收來自所述待測系統的應答結果並 將所述應答結果存儲到測試結果資料庫中,以及基於所述待測系統的應答結果確定後續的 測試流程並執行後續的測試過程。
[0025] 優選地,在本發明所公開的基於專家知識資料庫的自動化測試方法中,在所述步 驟(A4)中以如下方式確定後續的測試流程並執行後續的測試過程:(1)判斷測試所針對的 業務流程是否完成;(2)如果測試所針對的業務流程已完成,則終止測試過程;(3)如果測 試所針對的業務流程未完成,則根據所述待測系統的應答結果、所述業務資料庫中對應的 記錄以及對應的專家知識數據記錄綜合地確定後續的測試步驟和測試參數,並隨後執行後 續的測試過程。
[0026] 優選地,本發明所公開的基於專家知識資料庫的自動化測試方法進一步包括:在 測試過程全部完成後根據相應的專家知識數據記錄(例如特定應用的業務規則)對測試結 果資料庫中所存儲的相應的應答結果進行評估以獲得測試結論,並將所述測試結論存儲到 所述測試結果資料庫中。
[0027] 優選地,發明所公開的基於專家知識資料庫的自動化測試方法進一步包括:對為 確定測試流程而進行的推理過程進行解釋和存儲以跟蹤和追溯推理路徑。
[0028] 優選地,本發明所公開的基於專家知識資料庫的自動化測試方法進一步包括:基 於用戶指令顯示所述測試結論以及所跟蹤和追溯的推理路徑。
[0029] 優選地,本發明所公開的基於專家知識資料庫的自動化測試方法進一步包括:用 戶能夠修正所述專家知識數據記錄和/或所使用的測試參數。
[0030] 示例性地,在金融領域中,針對交易支付應用,本發明所公開的基於專家知識數據 庫的自動化測試方法中的針對業務規則的專家知識數據記錄可以包括下列欄位:一個或多 個測試交易數據欄位(例如其值可以分別是原因碼和原交易數據)、測試數據欄位(例如其 值可以是"貸調交易")、測試結果應答碼欄位(例如其值可以是"9224-原因碼不正確")和 測試案例欄位(例如其值可以是"原交易數據不變發起原因碼9601貸調")。
[0031] 由上可見,本發明所公開的基於專家知識資料庫的自動化測試方法具有下列優 點:(1)由於能夠根據專業知識資料庫中的知識和前一步的測試結果來選擇並執行後續的 測試案例,故使得整個測試流程智能化和自動化;(2)由於能夠根據專家知識資料庫自動 生成測試案例,故無需手工配置測試案例,故提高了測試效率並從而減少了測試時間;(3) 由於能夠自動地根據專業知識資料庫中的專家知識對測試結果進行分析和評估,故提高了 評估結果的準確性。
[0032] 儘管本發明是通過上述的優選實施方式進行描述的,但是其實現形式並不局限於 上述的實施方式。應該認識到:在不脫離本發明主旨和範圍的情況下,本領域技術人員可以 對本發明做出不同的變化和修改。
【權利要求】
1. 一種基於專家知識資料庫的自動化測試裝置,所述基於專家知識資料庫的自動化測 試裝置包括: 用戶接口,所述用戶接口接收用戶在執行測試過程之前輸入的專家知識並將所述專家 知識傳送到專家知識處理模塊,以及接收來自用戶的測試啟動指令,並將所述測試啟動指 令傳送到測試驅動模塊; 專家知識處理模塊,所述專家知識處理模塊解析接收到的所述專家知識並根據預定格 式將所解析的專家知識組裝成專家知識數據記錄,以及隨後將所述專家知識數據記錄存儲 到專家知識存儲模塊中; 推理模塊,所述推理模塊基於接收到的所述測試啟動指令並根據專家知識處理模塊中 的專家知識數據記錄以及待測系統所針對的業務資料庫中的記錄構造由單個原子測試步 驟構成的測試流程並驅動所述測試驅動模塊啟動測試過程,所述推理模塊進一步用於基於 接收到的來自所述測試驅動模塊的測試返回指令確定後續的測試流程並驅動所述測試驅 動模塊執行後續的測試過程; 測試驅動模塊,所述測試驅動模塊基於所述推理模塊的驅動向所述待測系統發送相應 的測試指令和數據以啟動測試過程以及執行所述推理模塊所確定的後續的測試過程,所述 測試驅動模塊進一步用於接收來自所述待測系統的應答結果並將所述應答結果存儲到測 試結果存儲模塊中,以及在接收到來自所述待測系統的應答結果後向所述推理模塊發送相 應的測試返回指令; 專家知識存儲模塊,所述專家知識處理模塊用於存儲所述專家知識數據記錄; 測試結果存儲模塊,所述測試結果存儲模塊用於存儲來自所述待測系統的應答結果。
2. 根據權利要求1所述的基於專家知識資料庫的自動化測試裝置,其特徵在於,所述 推理模塊以如下方式基於接收到的來自所述測試驅動模塊的測試返回指令確定後續的測 試流程:(1)判斷測試所針對的業務流程是否完成;(2)如果測試所針對的業務流程已完 成,則終止測試過程;(3)如果測試所針對的業務流程未完成,則根據所述測試返回指令所 對應的待測系統的應答結果、所述業務資料庫中對應的記錄以及對應的專家知識數據記錄 綜合地確定後續的測試步驟和測試參數,並驅動所述測試驅動模塊執行後續的測試過程。
3. 根據權利要求2所述的基於專家知識資料庫的自動化測試裝置,其特徵在於,所述 推理模塊進一步用於在測試過程全部完成後根據相應的專家知識數據記錄對測試結果存 儲模塊中所存儲的相應的應答結果進行評估以獲得測試結論,並將所述測試結論存儲到所 述測試結果存儲模塊中。
4. 根據權利要求3所述的基於專家知識資料庫的自動化測試裝置,其特徵在於,所述 裝置進一步包括解釋器,所述解釋器用於對所述推理模塊進行的推理過程進行解釋和存儲 以跟蹤和追溯推理路徑。
5. 根據權利要求4所述的基於專家知識資料庫的自動化測試裝置,其特徵在於,所述 用戶接口能夠基於用戶指令顯示所述測試結論以及所跟蹤和追溯的推理路徑。
6. 根據權利要求5所述的基於專家知識資料庫的自動化測試裝置,其特徵在於,用戶 能夠通過所述用戶接口修正所述專家知識數據記錄和/或所使用的測試參數。
7. -種基於專家知識資料庫的自動化測試方法,所述基於專家知識資料庫的自動化測 試方法包括下列步驟: (A1)接收用戶在執行測試過程之前輸入的專家知識; (A2)解析所述專家知識並根據預定格式將所解析的專家知識組裝成專家知識數據記 錄,以及隨後將所述專家知識數據記錄存儲到專家知識資料庫中; (A3)接收來自用戶的測試啟動指令,並基於所述測試啟動指令以及專家知識資料庫中 的專家知識數據記錄以及待測系統所針對的業務資料庫中的記錄構造由單個原子測試步 驟構成的測試流程並向所述待測系統發送相應的測試指令和數據以啟動測試過程; (A4)接收來自所述待測系統的應答結果並將所述應答結果存儲到測試結果資料庫中, 以及基於所述待測系統的應答結果確定後續的測試流程並執行後續的測試過程。
【文檔編號】G06F17/30GK104142959SQ201310172596
【公開日】2014年11月12日 申請日期:2013年5月10日 優先權日:2013年5月10日
【發明者】郭弘強, 劉波, 李偉 申請人:中國銀聯股份有限公司