王洪鈺,孟慶鑫
(1.華為軟件技術有限公司 北京 100077)
(2.中國電子科技集團公司電子科學研究院 北京 100041)
基于MVC的任務系統自動化測試數據查詢分析平臺的構建
王洪鈺1,孟慶鑫2
(1.華為軟件技術有限公司 北京 100077)
(2.中國電子科技集團公司電子科學研究院 北京 100041)
針對任務系統自動化測試過程中,測試數據存儲格式多樣,測試數據查詢方式多樣的特點,本文基于MVC提出了測試數據查詢分析平臺的實現方案,包括平臺體系結構的設計,數據查詢分析的建模,該方案能夠最大程度的實現測試數據和查詢分析業務的解耦合,實現了平臺的開放性和靈活性,該設計方案已經在實際項目中得到實現,具有較高的工程應用價值。
MVC,測試數據,查詢分析平臺
任務系統是一個有軟件及相關硬件組成的復雜的分布式系統[1],系統的復雜性導致了測試的復雜性,而復雜的測試邏輯自然會引起測試數據的多樣性及數據分析的復雜性[2],目前針對任務系統的自動化測試研究已經取得了一系列的成果[3-6],但是關于任務系統測試數據查詢分析平臺的研究并不多,其中還有相當多的難點需要克服。
測試項目查詢分析平臺是任務系統自動化測試的重要組成部分。該平臺集成了整個測試過程的各類信息資源,在測試總結階段按用戶需求提供相關的統計、查詢功能,為最終用戶提供全面的信息服務。本文首先提出數據查詢分析平臺的體系結構,然后對平臺中的數據查詢分析模型的處理流程進行了分析,最后給出了平臺實現的類結構圖。
2.1 MVC開發模式
MVC是Model-View-Controller的簡寫。"Model"代表的是應用的業務邏輯(通過JavaBean,EJB組件實現),"View"是應用的視圖(由JSP頁面產生),"Controller"是提供應用的處理過程控制(一般是一個Servlet),通過這種設計模型把應用邏輯,處理過程和顯示邏輯分成不同的組件實現。這些組件可以進行交互和重用。從而彌補了前一開發模式的不足。如圖1所示。

圖1 MVC開發模式
(a)Model(業務邏輯):負責數據處理,實現特定的業務功能。包括:應用數據的獲取,數據的處理,事務處理,狀態變更。
(b)View(視圖):按特定的方式顯示"業務邏輯模式"的數據。通常是主動直接從Model獲取數據;也允許接受Model的數據變化時發送的通知,更新顯示。
(c)Controller(控制器):決定應用的行為。接受用戶輸入,根據輸入選擇特定的Model,選擇輸出所用的View。
(d)Request(請求)與Controller:服務請求發給Control,Control收集輸入數據,并根據輸入初始化應用。
(e)Controller與Model:Controller根據輸入,創建的不同的Model,并傳遞必要的參數,Model獲取數據進行處理。
(f)Controller與View:Controller根據輸入以及Model的輸出,選擇顯示方式,同時要將Model的引用或者Model產生的數據或對象的引用傳遞給View,發過來,View可以接受用戶輸入然后激發Controller。
(g)View與Model:Model負責數據獲取和處理,View可以直接從Model獲取數據。在一定條件下Model也可以通知View更新數據。
2.2 應用對象模型與RDBMS模型的映射
數據庫設計(模式)是否支持應用系統的對象模型,這是判斷是否是面向對象數據庫系統的基本出發點。由于應用系統設計在前,數據庫設計隨后,所以應用系統對象模型向數據庫模式的映射是面向對象數據庫設計的關鍵。
(a)數據庫模式面向對象模型的擴展
一般數據庫設計多參照ANSL/SPARC關于數據庫模式的3層標準結構提案。最接近物理數據庫的內部模式由DBMS提供的SQL來描述。概念模式可以由若干個內部模式聚集而成,它是由數據庫用戶規范的一些表的集合。一般的概念模式是數據庫物理模式作用域的邊界,它能實現數據庫的物理意義、特定DBMS的特殊操作對外部應用程序的信息隱蔽。外部模式是從特定用戶應用角度看待的數據庫模式,從不同的應用出發對同一概念模式可以給出多種不同的外部模式。但是,外部模型只是概念模型的子集,所以面向對象的數據庫設計核心在于系統對象模型(不妨稱之為概念對象模型)向數據庫概念模型的映射。
(b)對象模型向數據庫表的映射規則
由于RDBMS是以二維表為基本管理單元的,所以對象模型最終是由二維表及表間關系來描述的。換言之,對象模型向數據庫概念模型的映射就是向數據庫表的變換過程。有關的變換規則簡單歸納如下:
(1)一個對象類可以映射為一個以上的庫表,當類間有一對多的關系時,一個表也可以對應多個類。
(2)關系(一對一、一對多、多對多以及三項關系)的映射可能有多種情況,但一般映射為一個表,也可以在對象類表間定義相應的外鍵。
(3)單一繼承的泛化關系可以對超類、子類分別映射表,也可不定義父類表而讓子類擁有父類屬性;反之,也可不定義子類表而讓父類表擁有全部子類屬性。
(4)對映射后的庫表進行冗余控制調整,使其達到合理的關系范式。
(c)數據庫模式面向應用系統。
我們選擇面向對象的系統設計也好,面向對象的數據庫設計也好,根本目的是服務于應用系統的需要。以測試項目查詢分析平臺為例,查詢分析平臺的最大工作量就是對狀態的修改,時時的檢測。因此如何有效的利用數據庫設計的表是關鍵。
系統一共設計到3個大的模塊:業務邏輯模塊、控制器模塊和jsp顯示模塊。這3個模塊相互調用、組合構建了整個測試項目查詢分析平臺。測試項目查詢分析平臺3個部分如下:
3.1 WEB服務器(Tomcat)
負責接收客戶端瀏覽器發送過來的請求并加以解析,按照預定邏輯從測試數據資源中提取數據,然后以正確方式返回,是本軟件的核心部分。如圖2,WEB服務器內部開發采用MVC模式:

圖2 平臺體系結構
(a)模型層:即圖中的自動化測試系統數據訪問控制層。本層對測試數據進行集中管理,有助于保持數據庫內數據的正確性,保證數據對外部調用的透明性。
(b)視圖層:是客戶端HTTPRequest和HTTPXMLRequest請求的應答集,結果可能是一個HTML頁面片段,一個EXCEL工作記錄表或者一個XML文檔片段。
(c)控制器層:其中包括用戶訪問權限控制模塊和查詢統計邏輯處理模塊。僅當客戶端請求通過了用戶訪問權限驗證,才允許服務器對其請求進行處理響應。響應過程在處理流程中有詳細描述。
3.2 WEB瀏覽器
這個部分為與用戶的交互接口,用戶的查詢統計請求通過web頁面傳送至web服務器,web服務器根據請求調用查詢統計模塊所提供的接口進行數據的匯集與最終結果視圖的構建,并將結果視圖返回給web瀏覽器,在web瀏覽器中集成了對excel,pdf,word等文檔格式的顯示功能。
3.3 測試數據資源
對數據查詢統計業務與具體測試數據的存儲模型進行分離,使得測試數據資源與統計分析模型進行了解耦合,使得平臺具有更好的可開放性和靈活性。測試數據資源包括測試數據存儲方式的元描述以及具體的測試數據。其中的測試數據提供了用戶在測試項目統計查詢過程中需要的所有數據。
3.3.1 數據查詢分析處理模型
數據查詢分析處理模型是平臺的核心功能。是按照用戶指定的方式對所有的測試數據進行查詢分析。其處理流程圖3如下:

圖3 測試數據統計處理模型
用戶進行工作項目統計的前提是具有進行測試工作項目的統計權限,如果權限驗證失敗則提示用戶無法進行統計操作。否則,向用戶展示統計方式選擇界面。當用戶提出統計方式并給出統計條件之后,系統處理流程如下:
Step1 獲得用戶統計條件參數;
Step2 根據用戶選擇的統計方式調用數據訪問控制層接口,并提供參數,獲得符合條件的統計數據;
Step3 把統計數據按照工作項目統計的統一結果格式進行封裝;
Step4 生成工作項目統計結果頁面并返回應答;
Step5 在工作項目統計結果頁面上,如果用戶要求生成工作項目統計查詢記錄表,則繼續以下步驟;
Step6 獲得待生成工作項目統計查詢記錄表所需參數,與Step1中的參數相同;
Step7 調用報表生成軟件并提供所需參數,在WEB服務器端生成工作項目統計查詢記錄表;
Step8 向用戶返回該記錄表,并提示用戶保存。
3.3.2 查詢分析模型的類框架
測試數據查詢分析平臺需要對外提供一系列的評估分析和統計的功能,包括按電子系統型號評估,按分系統評估,按測試項目評估,按工作項目評估,按階段評估,測試任務評估,工作任務評估,日信息評估,測試人員評估等功能。為了保持軟件的靈活性和健壯性,采用了一套統一的類架構方式,對以上這些功能提供支持。查詢分析模型的類整體結構如圖所示:

圖3 查詢分析模型的類結構
查詢分析模型的類結構中的5個模塊即文檔結構解析模塊,表單生成模塊,表單頁生成模塊,工作簿生成模塊和數據接口模塊提供了實現。這些類和具體的軟件模塊之間的包含關系如下:

表1 模塊的類包含關系
針對任務系統自動化測試過程中,測試數據存儲格式多樣,測試數據查詢方式多樣的特點,本文基于MVC提出了測試數據查詢分析平臺的實現方案,該方案能夠最大程度的實現測試數據和查詢分析業務的解耦合,實現了平臺的開放性和靈活性,該設計方案已經在實際項目中得到實現,具有較高的工程應用價值。
[1]劉憲蘭,趙玉潔.國外預警機發展現狀與趨勢[J].電子科學技術評論.2004(01).
[2]中國電子科學研究院戰略研究室.預警機任務系統發展綜述[J]電子科學技術評論2004(06):11-20
[3]Anderson J L Jr.High performance missile testing[A]. AutotestCon Proceedings[C].IEEE,2003,Page(s):19-27
[4]Li Xin,Shen Shituan,Lu Hui.Algorithms of tasks scheduling in parallel test based on graph coloring theory Journal of Beijing University of Aeronautics and Astronautics 92007: 1068-1071.(in Chinese)
[5]Jiajing Zhuo;Chen Meng;Minghu Zou;A Task Scheduling Algorithm of Single Processor Parallel Test System.Software Engineering,Artificial Intelligence,Networking,and Parallel/Distributed Computing,2007.SNPD 2007.Eighth ACIS International Conference on Volume 1,July 30 2007-Aug.1 2007:627-632.
[6]T.Yamada,Generic Software for Spacecraft Testing and Operations Based on Spacecraft Model,American Institute of Aeronautics and Astronautics SpaceOps 2006 Conference 2006.
Analysis Platform for Automated Mission System Test Data Inquiry Based on MVC
WANG Hong-yu1,MENG Qing-xin2
(1.Huawei Software Technology Co.,Ltd.beijing 100077,China)
(2.China Academy of Electronics and Information Technology beijing 100041,China)
In view of the mission system in the automated test process,test datastorage formats,various ways of testing data query, based on MVC is put forward to analyze the implementation platform test data query,including design platform system structure,data query and analysis modeling,decoupling the scheme can realize the test data and the query and analysis operations maximum the realization of the platform,the openness and flexibility,the design scheme has been realized in the actual project,which has high engineering application value.
MVC,test data,query and analysis platform
TP391.9
A
1008-1739(2014)02-70-4
定稿日期:2013-12-26