專利名稱:一種可獨立測試的組件架構(gòu)實現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及軟件技術(shù),特別是涉及一種可獨立測試的組件架構(gòu)實現(xiàn)方法。
背景技術(shù):
隨著IT技術(shù)的不斷發(fā)展,人們對軟件的功能、性能、安全性等提出了更高的需求,導致軟件的規(guī)模和復雜度日益增大,也給軟件的開發(fā)帶來了困難與挑戰(zhàn)。針對這種情況,人們提出了各種技術(shù)與方案。如面向?qū)ο蠹夹g(shù)、組件技術(shù)、構(gòu)件技術(shù)、中間件技術(shù)等。各種技術(shù)都有其實現(xiàn)方案。其中的組件技術(shù)是一種使用得非常廣泛的技術(shù),它通過將軟件組件化來分解軟件,從而降低軟件的復雜度。組件技術(shù)在軟件開發(fā)中應用的日益廣泛,而組件技術(shù)的一些特點使得傳統(tǒng)的軟件測試理論和技術(shù),對基于組件技術(shù)構(gòu)造的軟件系統(tǒng)并不完全適用。軟件測試作為軟件開發(fā)過程的重要環(huán)節(jié),是保證軟件質(zhì)量,提高軟件可靠性的重要手段。軟件開發(fā)技術(shù)的發(fā)展,也必然會帶動軟件測試技術(shù)的發(fā)展。通俗地講,軟件測試是發(fā)現(xiàn)并指出軟件系統(tǒng)缺陷的過程。缺陷在開發(fā)和維護的任何階段都有可能發(fā)生,并由此產(chǎn)生一個或多個“漏洞”一錯誤、誤解和冗余。測試包括尋找缺陷,但不包括調(diào)試和修復。在常用的客戶端軟件中,常由多個不同的功能模塊和組件庫模塊組成;驗證每個模塊的功能測試需與客戶端主程序的關(guān)聯(lián),這就導致測試機制過于復雜,使用不夠簡便。
發(fā)明內(nèi)容
本發(fā)明提供了一種可獨立測試的組件架構(gòu)實現(xiàn)方法,該方法給出了可獨立測試的組件架構(gòu)和實現(xiàn)方法。為達到上述目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的一種可獨立測試的組件架構(gòu)實現(xiàn)方法,所述實現(xiàn)方法包括組件架構(gòu)包括標準組件層接口,組件接口定義,組件定義和組件實現(xiàn);其中,所述標準組件層接口提供功能命令執(zhí)行和訂閱方法;所述組件接口定義中包含組件的功能命令標識和命令類型參數(shù);在所述組件定義中不同的組件放置在不同的目錄中,在組件定義中不包含具體組件的實現(xiàn);所述組件實現(xiàn)中,所述組件是標準的動態(tài)庫;
測試腳本通過標準的命令接口調(diào)用組件動態(tài)庫,組件動態(tài)庫通過標準組件層接口提供的功能命令執(zhí)行和訂閱方法,實現(xiàn)所述組件中具體功能的調(diào)用與獨立測試。在上述方法中,所述標準組件層接口包括標準參數(shù)接口 ;標準組件層接口是實現(xiàn)具體的抽象虛基類的標準接口。在上述方法中,組件自定義標準命令參數(shù)和事件參數(shù)均須派生于所述標準參數(shù)接口類。在上述方法中,所述組件接口定義包括在組件的管理接口頭文件中定義組件的ID ;所述組件接口定義派生于標準組件層接口。
在上述方法中,所述組件接口定義包括組件接口定義中包含組件激發(fā)的事件ID和事件參數(shù)類型。在上述方法中,所述組件定義包括組件定義提供純虛定義并對其他組件開發(fā)者開放。在上述方法中,所述組件實現(xiàn)包括所述標準的動態(tài)庫導出初始化模塊和注冊組件到管理器函數(shù);所述組件實現(xiàn)從標準層組件模塊類派生,應用組件標準宏包裝每個功能ID的實現(xiàn)函數(shù);標準宏定義通用的功能ID、輸入輸出函數(shù)與實現(xiàn)函數(shù)映射。在上述方法進一步包括將所述組件架構(gòu)下實現(xiàn)的組件模塊注冊到組件管理器中。在上述方法中,所述管理器包括管理器有界面、上層業(yè)務、下層業(yè)務、網(wǎng)絡通道各層組件的管理器,具體在框架中實現(xiàn);在框架中不同模塊的管理器讀取相對應的配置文件并調(diào)用配置文件中添加組件的配置信息。在上述方法中,該方法包括所述組件配置信息包括組件的名稱、組件所在路徑、組件ID、組件裝載順序和卸載順序;所述管理器在應用組件時調(diào)用的接口是所述初始化模塊。由上述可見,本發(fā)明提供了一種可獨立測試的組件架構(gòu)實現(xiàn)方法,該方法通過提出一種組件架構(gòu),該組件架構(gòu)包括標準組件層接口,組件接口定義,組件定義和組件實現(xiàn),同時所述組件為標準的動態(tài)庫,測試腳本通過標準的命令接口調(diào)用所述組件,標準組件層接口提供功能命令執(zhí)行和訂閱方法,實現(xiàn)所述組件中具體功能的調(diào)用與獨立測試。通過這種方案實現(xiàn)了可獨立測試的組件技術(shù)架構(gòu)的實現(xiàn)。
圖1是本發(fā)明中的一種可獨立測試的組件架構(gòu)實現(xiàn)方法的實現(xiàn)示意圖;圖2是基于本發(fā)明中的組件架構(gòu)實現(xiàn)組件功能命令測試的示意圖。
具體實施例方式為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖和具體實施例對本發(fā)明進行詳細描述。一、組件架構(gòu)實現(xiàn)圖1是本發(fā)明中的一種可獨立測試的組件架構(gòu)實現(xiàn)方法的實現(xiàn)示意圖。如圖1所示,組件架構(gòu)包括標準組件層接口、組件接口定義、組件定義和組件實現(xiàn)。1.組件接口定義組件接口定義派生于標準組件層接口。在組件接口定義中,包含組件實現(xiàn)的功能命令I(lǐng)D和命令參數(shù)類型,也可以包含組件激發(fā)的事件ID和事件參數(shù)類型。其中參數(shù)類型統(tǒng)一從標準參數(shù)接口中派生而組件的ID定義包含于組件的管理接口頭文件中,即在組件的管理接口頭文件中定義組件的ID。2.組件定義在所述組件定義中不同組件可以放置在不同的目錄中。在組件定義中不包含具體組件的實現(xiàn)。但是,其提供純虛定義并對其他組件開發(fā)者開放,如可使用純虛函數(shù)實現(xiàn)。3.組件實現(xiàn)組件是標準的動態(tài)庫,一個組件中可包涵多個命令對應的功能實現(xiàn),功能命令在組件內(nèi)唯一。標準的動態(tài)庫導出初始化模塊和注冊組件到管理器函數(shù)。其中,初始化模塊是管理器在應用組件時調(diào)用的接口。組件實現(xiàn)文件主要是實現(xiàn)組件每個功能ID對應的具體實現(xiàn)。所述組件實現(xiàn)是從標準層組件模板類派生的,并應用組件標準宏包裝每個功能ID的實現(xiàn)函數(shù)。其中標準宏定義了通用的功能ID、輸入輸出參數(shù)與實現(xiàn)函數(shù)映射。4.標準組件層接口標準組件層接口是實現(xiàn)具體的抽象虛基類的標準接口,所述標準組件層接口中提供功能命令執(zhí)行和訂閱方法和統(tǒng)一的調(diào)用與測試定義方法,從而實現(xiàn)具體功能的調(diào)用與獨立測試。標準組件層接口包含標準參數(shù)接口,所有自定義標準命令參數(shù)和事件參數(shù)均須派生自標準參數(shù)接口類。另外,將所述組件架構(gòu)下實現(xiàn)的組件模塊注冊到組件管理器中。管理器有界面、上層業(yè)務、下層業(yè)務、網(wǎng)絡通道各層組件的管理器,具體在框架中實現(xiàn)。在框架中,不同模塊的管理器調(diào)用配置文件中添加組件的配置信息,不同組件管理器讀取相對應的配置文件。組件配置信息包括,組件的名稱,組件所在路徑,組件ID,組件裝載順序和卸載順序。二、基于上述組件架構(gòu)實現(xiàn)組件功能命令測試的方法圖2是基于本發(fā)明中的組件架構(gòu)實現(xiàn)組件功能命令測試的示意圖。如圖2所示,組件的每個功能具有唯一的功能命令,單個的組件功能可以通過外部命令方式調(diào)用。其中,測試腳本通過標準的命令接口調(diào)用所述組件,標準組件層接口提供功能命令執(zhí)行和訂閱方法,實現(xiàn)所述組件中具體功能的調(diào)用與獨立測試。下面以登錄實例為例,列舉一些具體的命令參數(shù)和事件參數(shù)的例子,同時具體說明外部命令如何傳遞給組件。登錄業(yè)務中的登錄上層業(yè)務組件動態(tài)庫I)所述標準的動態(tài)庫導出初始化模塊和注冊到管理器函數(shù),即組件內(nèi)實現(xiàn)初始化模塊、自注冊到框架、組件卸載函數(shù)。2)所述組件實現(xiàn)從標準層組件模塊類派生,應用組件標準宏包裝每個功能ID的實現(xiàn)函數(shù),具體方式是組件頭文件中實現(xiàn)從標準組件層接口派生的定義及標準宏定義。3)組件頭文件中實現(xiàn)登錄功能函數(shù)、顯示對話框函數(shù)定義。4)組件實現(xiàn)文件中實現(xiàn)具體的函數(shù)功能。5)標準宏定義通用的功能ID、輸入輸出函數(shù)與實現(xiàn)函數(shù)映射。即,實現(xiàn)標準宏組件功能ID、參數(shù)與函數(shù)的映射A、定義功能ID;B、定義組件參數(shù),如用戶的登錄ID和密碼等,其派生于標準接口。
6)標準組件層接口提供功能命令執(zhí)行和訂閱方法,實現(xiàn)所述組件中具體功能的調(diào)用與獨立測試A、定義下層業(yè)務參數(shù),其也派生于標準接口 ;B、通過執(zhí)行命令方式調(diào)用登錄下層業(yè)務功能。綜上所述,本發(fā)明提供了一種可獨立測試的組件架構(gòu)實現(xiàn)方法,該方法通過提出一種組件架構(gòu),該組件架構(gòu)包括標準組件層接口,組件接口定義,組件定義和組件實現(xiàn)。同時所述組件為標準的動態(tài)庫,測試腳本通過標準的命令接口調(diào)用所述組件,標準組件層接口提供功能命令執(zhí)行和訂閱方法,實現(xiàn)所述組件中具體功能的調(diào)用與獨立測試。通過這種方案實現(xiàn)了可獨立測試的組件技術(shù)架構(gòu)的實現(xiàn)。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應包含在本發(fā)明保護的范圍之內(nèi)。
權(quán)利要求
1.一種可獨立測試的組件架構(gòu)實現(xiàn)方法,其特征在于,所述實現(xiàn)方法包括 組件架構(gòu)包括標準組件層接口,組件接口定義,組件定義和組件實現(xiàn); 其中,所述標準組件層接口提供功能命令執(zhí)行和訂閱方法;所述組件接口定義中包含組件的功能命令標識和命令參數(shù)類型;在所述組件定義中不同的組件放置在不同的目錄中,在組件定義中不包含具體組件的實現(xiàn);所述組件實現(xiàn)中,組件是標準的動態(tài)庫; 測試腳本通過標準的命令接口調(diào)用組件動態(tài)庫,組件動態(tài)庫通過標準組件層接口提供的功能命令執(zhí)行和訂閱方法,實現(xiàn)所述組件中具體功能的調(diào)用與獨立測試。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述標準組件層接口還包括標準參數(shù)接n ; 標準組件層接口是實現(xiàn)具體的抽象虛基類的標準接口。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于, 組件的自定義標準命令參數(shù)和事件參數(shù)均須派生于所述標準參數(shù)接口類。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述組件接口定義還包括 在組件的管理接口頭文件中定義組件的ID ; 所述組件接口定義派生于標準組件層接口。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述組件接口定義還包括 組件接口定義中包含組件激發(fā)的事件ID和事件參數(shù)類型。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述組件定義還包括 組件定義提供純虛定義并對其他組件開發(fā)者開放。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述組件實現(xiàn)還包括 所述標準的動態(tài)庫導出初始化模塊和注冊組件到管理器函數(shù)。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述組件實現(xiàn)還包括 所述組件實現(xiàn)從標準層組件模塊類派生,應用組件標準宏包裝每個功能ID的實現(xiàn)函數(shù); 標準宏定義通用的功能ID、輸入輸出函數(shù)與實現(xiàn)函數(shù)映射。
9.根據(jù)權(quán)利要求1至8任一項所述的方法,其特征在于,該方法進一步包括將所述組件架構(gòu)下實現(xiàn)的組件模塊注冊到組件管理器中; 所述管理器有界面、上層業(yè)務、下層業(yè)務、網(wǎng)絡通道各層組件的管理器,具體在框架中實現(xiàn); 在框架中不同模塊的管理器讀取相對應的配置文件并調(diào)用配置文件中添加組件的配置信息。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,該方法包括 所述組件配置信息包括組件的名稱、組件所在路徑、組件ID、組件裝載順序和卸載順序; 所述管理器在應用組件時調(diào)用的接口是所述初始化模塊。
全文摘要
本發(fā)明公開了一種可獨立測試的組件架構(gòu)實現(xiàn)方法,該方法通過提出一種組件架構(gòu),該組件架構(gòu)包括標準組件層接口,組件接口定義,組件定義和組件實現(xiàn),同時所述組件是標準的動態(tài)庫,測試腳本通過標準的命令接口調(diào)用所述組件,標準組件層接口提供功能命令執(zhí)行和訂閱方法,實現(xiàn)所述組件中具體功能的調(diào)用與獨立測試。通過這種方案實現(xiàn)了可獨立測試的組件技術(shù)架構(gòu)的實現(xiàn)。
文檔編號G06F11/36GK103019922SQ20111028303
公開日2013年4月3日 申請日期2011年9月22日 優(yōu)先權(quán)日2011年9月22日
發(fā)明者郝永建, 方順豹, 楊挺 申請人:北京新媒傳信科技有限公司