顧建瑜++趙宮明
摘 要:基于數據源分解判定業務回歸測試范圍是通過建立回歸測試范圍數據分析模型,對上線的軟件版本實際變更內容與全業務功能的關聯影響量化分析,獲得變更內容的影響范圍,為業務回歸測試的范圍確定提供科學、有效的數據支撐。
關鍵詞:數據源分解 回歸測試 需求版本 數據實體
中圖分類號:TN967 文獻標識碼:A 文章編號:1674-098X(2016)12(a)-0096-02
吉林移動的業務運營支撐系統規模龐大、結構復雜、內部的關聯關系復雜。由于業務發展變化迅速,信息化系統也會做頻繁的版本變更,對系統變更的質量保障至關重要。
對系統版本變更的交付測試驗證,是系統質量保障的重要手段,不僅僅要測試當前變更的功能,還要分析當前變更的功能有哪些關聯影響,對于被影響的業務、功能,要執行業務回歸測試,以減少系統上線的質量漏洞。
1 現有判定業務回歸測試范圍方法存在的缺點
目前業務回歸測試范圍的確定主要依賴于測試人員積累的經驗,根據經驗判斷要做哪些相關業務、功能的回歸測試。這些經驗缺少基于可靠數據的量化分析。
通常系統版本上線時間要求都非常緊,不可能做全面的業務回歸測試,而業務回歸測試范圍確定不準確,會導致質量驗證的漏洞,嚴重影響系統可靠性。
2 基于數據源分解判定業務回歸測試范圍的方案
該方案是建立回歸測試范圍數據分析模型,該模型包括:全業務數據源分析引擎、需求版本數據源識別引擎、回歸測試范圍數據源多元比對引擎,旨在提出一種基于數據源分解的可量化的業務回歸測試范圍分析模型。
2.1 全業務數據源分析引擎
其是將業務運營支撐系統中所有的業務功能、源程序、數據結構等,通過數據源之間的調用關系尋找它們的依賴關系,包括:
(1)將業務運營支撐系統全業務數據源按數據源類型分類。(2)利用Java中的BufferedReade和FileReader進行遞歸運算遍歷業務運營支撐系統全業務數據源,組建全業務數據源關聯關系模型,確定業務運營支撐系統數據源的范圍邊界。(3)將遍歷后得到的關系結果存儲到數據庫中。
2.2 需求版本數據源識別引擎
主要通過需求版本重疊探測器、需求版本屬性識別器、需求版本規則識別器三方面。
(1)需求版本重疊探測器:判定需求版本是否與版本庫需求重疊提交,避免工作資源的浪費。(2)需求版本屬性識別器:確定并記錄需求版本所對應的各類數據源的修改點。(3)需求版本規則識別器:利用全業務數據源分析引擎解析需求版本所對應數據源之間的依賴關系。
2.3 回歸測試范圍數據源多元比對引擎
采用ORACLE數據游標指針技術作為源數據的比對方式。
3 主要技術實施方案描述
下面對基于數據源分解判定業務回歸測試范圍在業務運營支撐系統的實際應用中所采用的技術實施方案進行描述,包括三個方面。
3.1 全業務數據源分析引擎描述
將業務運營支撐系統的全業務數據源分為5類:業務功能、源程序、函數與結構體、數據實體、實體字段,把全業務源數據分解為若干的部分。
利用Java中的BufferedReade和FileReader進行遞歸運算遍歷業務運營支撐系統全業務數據源,組建全業務數據源關聯關系模型。利用Java程序編寫遞歸函數,對現有業務運營支撐系統全業務涉及的所有源數據進行讀取。利用源數據分類及每個類別所特有的關鍵字對源數據進行解析。將遍歷后得到的關系結果以多維變長數據形式存儲到數據庫中,作為技術數據保存。
3.2 需求版本數據源識別引擎描述
其包含需求版本重疊探測器、需求版本屬性識別器、需求版本規則識別器三方面,通過以下技術措施一并實現。
建立業務運營支撐系統需求版本屬性識別器。確定并記錄需求版本所對應的各類數據源的修改點,包括軟件版本變更的內容清單(變更的功能,變更的程序,變更的數據實體)。通過需求版本屬性識別器,將變更的數據源名稱入庫,并對該次需求版本變更的數據源通過全業務數據源分析引擎解析入庫。利用自動化版本比對,得到修改點。將結果同樣以多維變長數據存儲到數據庫中,作為全業務數據源分析引擎結果比對的基礎數據。
3.3 回歸測試范圍數據源多元比對引擎描述
采用數據游標指針技術對源數據進行笛卡爾乘積運算比對。確定全業務數據源與需求版本數據源比對范圍。包括:程序比對、函數比對、機構體比對、關鍵字比對、數據實體比對、數據字段比對。利用數據庫技術將需求版本數據源識別引擎所分析的結果,逐一與全業務數據源分析引擎的全業務關聯關系進行比對。一個系統功能與多個應用程序/函數/數據實體相互對應,而多個應用程序/函數/數據實體也同樣對應一個或多個系統功能/應用程序,這樣逐個數據源分解就會形成一個網狀結構,眾多的全業務數據源與需求版本數據源交織在一起,構成了它們之間存在的必然關聯,形成了基于數據源分解判定業務回歸測試模型的核心部分。這也正是這個技術專利的關鍵所在,隨意觸發一個需求版本的數據源,都可以透過這些關聯將與其密切關聯、受其影響的系統功能/應用程序及數據實體輕易找到,從而保證了回歸測試的完整性及準確性。
4 基于數據源分解判定業務回歸測試范圍的優點
采用基于數據源分解判定業務回歸測試范圍的方案后,有效降低了軟件版本升級對原有系統的不確定性影響,大幅提升了系統的可靠性和穩定性。
4.1 業務回歸測試范圍分析有可靠的數據依據
通過數據源分解可以對系統全業務涉及的所有數據源進行分析,保證了基礎數據的最大范圍,避免了數據源的遺漏,有效提高了業務回歸測試的覆蓋度,從而提高了對系統交付測試驗證的質量,減少了質量漏洞,降低了需求版本上線風險。
4.2 業務回歸測試范圍分析效率的提升
現有技術方案采用人為經驗判斷及人工讀取代碼的方式進行,而該方案采用的是計算機智能數據源分解自動化處理的方式。一個經驗豐富的開發人員每分鐘編寫代碼約30行,讀取代碼約60行,而該發明采用計算機自動分析每分鐘分析數量8 500行左右,是人工分析的140倍。該方案隨著硬件性能的提升,具備更大效能提升的空間。
4.3 業務回歸測試范圍分析知識可持續積累和復用
采用數據源分解的業務回歸測試范圍、測試方案管理可以有效地形成知識的積累和沉淀,并借此創建知識庫,有助于業務人員、測試人員水平的快速提高及知識傳遞。
參考文獻
[1] 王軼辰.軟件測試從入門到精通[M].電子工業出版社,2010.
[2] 埃克爾,著.Java編程思想[M].陳昊鵬,譯.機械工業出版社,2007.
[3] 史嘉權.數據庫系統概論[M].清華大學出版社,2006.