刁 俊 玲,吳 信 才,2*,劉 永,2,劉 福 江,2,羅 顯 剛
(1.中國地質大學(武漢)信息工程學院,湖北武漢 430074;2.地理信息系統軟件開發與應用教育部工程中心,湖北武漢 430074)
地理信息標準一致性測試建模
刁 俊 玲1,吳 信 才1,2*,劉 永1,2,劉 福 江1,2,羅 顯 剛1
(1.中國地質大學(武漢)信息工程學院,湖北武漢 430074;2.地理信息系統軟件開發與應用教育部工程中心,湖北武漢 430074)
為避免自然資源與地理空間基礎信息庫中標準體系之間出現不必要的交叉、重復乃至矛盾,確定標準之間的一致性實現程度,利用軟件自動完成一致性測試并給出可信的測試結果,已成為地理信息標準化的關鍵問題。該文應用MVC三層體系架構,構建了一種新型地理信息標準一致性測試過程模型(GIS-CTM),設計了前置處理器和后置處理器兩個客戶端,通過測試問卷形式完成從ATS到可執行測試套件的轉變過程,實現了測試準備、測試分析、測試結果判定及測試報告生成等功能。該模型為測試體系規定了方法和框架,保證測試結果具有足夠的可信度,進而保證標準體系之間的協調一致,支持了自然資源和地理空間基礎信息庫的標準化建設。
地理信息標準;一致性測試;建模;A TS;ICS
自然資源和地理空間基礎信息庫(以下簡稱“信息庫”)是中辦發[2002]17號文件確定的國家電子政務4個基礎信息庫之一,為了確保信息共享和業務協同,2009年由國家發改委牽頭,先后啟動了以69項地理信息標準為主體的自然資源與地理空間信息庫標準體系的建設任務。由于編寫地理信息標準的人員技術水平參差不齊,導致標準一致性差異問題;由于各行業形成相對獨立又互不兼容的行業標準體系或行業慣例,出現了地理信息標準內容、應用模式、數據語義等不協調問題。因此,對地理信息標準進行一致性測試已成為地理信息標準化領域的關鍵問題。
自1997年已有相關學者對一致性測試展開研究,但目前該研究在國內仍處于起步階段,尤其是對地理信息標準之間一致性測試的研究仍為空白。2001年宋志杰等針對表達3D機械產品在設計階段的產品數據的國際標準STEPAP 203開發了STEP一致性測試系統,可作為決定實現STEP的產品之間是否互操作的基礎[1]。2003年呂欣巖等針對協議一致性測試提出一種可變測試集的一致性測試方法,通過動態執行測試集提高其執行效率[2];2005年利用約束滿足技術實現了一種新的動態協議一致性測試方法,解決了實際測試中執行效率不高和測試方位可能被縮小的問題[3]。2006年李華等設計并實現了基于XML的協議一致性測試系統,解決了測試套的編輯、存儲及重用問題[4]。
以上一致性測試系統都是針對通訊網絡或產品協議之間的一致性測試而設計開發的,并不適用于地理信息標準之間的一致性測試。2003年董連續等提出了對地理信息標準進行一致性測試的框架和原理[5],但沒有開發出實現一致性測試的系統工具。如何通過建立標準化的輔助工具軟件,自動地在完成標準編制工作的同時使之與其他標準保持一致,成為標準化建設的關鍵問題。
為解決以上問題,本文根據國標 ISO 19105:2000地理信息一致性與測試中的規定,研究并創新性地提出了地理信息標準一致性測試GIS-CTM模型,利用前置和后置處理器巧妙協作,完成地理信息標準的一致性評價過程,實現對地理信息標準一致性程度的測試。一致性測試有兩種通用方法:驗證測試和證偽測試,前者用于判定肯定性結果,后者用于判定否定性結果[5]。由于大多數標準規模大且復雜,致使有時采用正確性證明方法是不現實的,所以GIS-CTM模型的研究和實現使用“自動測試+人工干預”的證偽測試方法,即對一個特定的測試套件測試該實現(規范的實施[6])中的錯誤,并提供概要和詳細敘述,最終得出結論。
標準之間的一致性關系大致分為4種:1)直接在被測標準(在標準文本中有一致性聲明并需進行一致性測試的標準)文本中標注:“見×××標準”;2)在被測標準中直接引用測試基準(在標準A TS中明確了一致性要求并已通過一致性測試的標準)的內容;3)依據測試基準的一致性要求生成了用于某一特定領域的被測標準;4)存在兩個標準,其內容均對某一要求做出規定,兩個標準之間存在一致性關系。通過對上述4種一致性關系的研究,本文提出了一種新型地理信息標準一致性測試過程模型(GIS-CTM),其原理如圖1所示。

圖1 GIS-CTM模型原理Fig.1 Principle of GIS-CTM model
(1)測試準備:根據被測標準文本中的一致性聲明,選定測試基準,并填寫實現一致性聲明(Imp lementation Conformance Statement,ICS)問卷 ,該問卷是為了評定一個特定實現的一致性,關于選項已被實現了的聲明[6],其作用在于界定測試域。
(2)測試建模:根據ICS問卷填寫情況構建測試模型,選擇各個測試基準的測試用例,形成一個特定的抽象測試套件(Abstract Test Suite,A TS)集,通過填寫測試問卷,完成從A TS到可執行測試套件(Executable Test Suite,ETS)的參數賦值過程,最終得到ETS是可執行測試用例的集合。
(3)測試運行:計算機程序對ETS進行自動測試,利用語義分析判斷標準的填寫情況,判斷其在抽象測試套件集中各個測試用例的實現情況,得到被測標準的實現能力。當在自動測試過程中遇到語義存在二義性或者其他程序無法判斷的情況,則啟動人工干預功能,對判定結果進行人為修改,增加了測試結果的可控性;同時這些修改操作都記錄在一致性測試日志中,以保證測試結果的可復查性、可審核性和可信性。
(4)測試結果生成:統計分析判定結果,綜合一致性測試日志,生成一致性測試報告。
在GIS-CTM模型中,A TS轉化為ETS的過程以測試問卷的形式實現。測試問卷是一致性測試的核心,它體現了測試基準的一致性要求和被測試標準的一致性實現(滿足要求的實現[6])情況。因此,測試問卷的問題基于測試基準的A TS而設計,以問題的形式將抽象測試套件集中的各個測試實例化、參數化,最后通過填寫測試問卷賦值,形成被測實現(IU T),最終生成用于測試的可執行測試用例(ETS)集。因此,只有合理設計測試問卷才能保證一致性測試結果的準確性和可信度。本文測試問卷的問題采用樹狀目錄形式,以單項選擇、多項選擇、文本(語義一致)、文本(完全一致)、數字、枚舉等多種問題形式體現復雜的一致性要求,同時設定問題之間的依賴條件關系,即只有當父級問題回答正確之后其子問題才會顯示。測試問卷設計如圖2所示。

圖2 測試問卷的設計Fig.2 Design of questionnaire
當一個標準聲稱實現了多個標準的一致性要求,則該標準需要填寫這些標準的測試問卷;當幾個標準形成一個相互引用的環狀關系時,則假定其中一個標準作為測試基準,設計測試問卷并通過測試入庫,測試其它標準通過之后該標準再重新進行一致性測試。
既然測試問卷體現標準的一致性要求,那么是否需要針對每個標準的一致性要求都設計一套測試問卷呢?本文通過圖3和圖4的對比進行說明。假設標準A聲稱與標準B、C、D…等具有一致性,標準B對應一套涵蓋其所有一致性要求的測試問卷Ⅰ﹛Q1(α11,α12,α13,…,α1m),Q2(α21,α22,α23,…,α2m)…﹜,標準C對應一套涵蓋其所有一致性要求的測試問卷 Ⅱ﹛P1(β11,β12,β13,…,β1n),P2(β21,β22,β23,…,β2n)…﹜,標準D對應一套涵蓋其所有一致性要求的測試問卷 Ⅲ﹛O1(δ11,δ12,δ13,…,δ1p),O2(δ21,δ22,δ23,…,δ2p)…﹜,其中O、P、Q為標準的測試用例,α、β、δ為分解該標準的一個測試用例后得到的最小一致性要求單元,m、n、p假定為分解該標準一個測試用例后的最小一致性要求單元的窮舉個數。假設標準 A 與標準 B(α11,α12,α23,α2m)、標準 C(β12,β13)和標準 D(δ1p,δ2p)保持一致。

由上述條件,圖3中每個標準都有一套測試問卷,在構建測試模型選定測試用例Q1、Q2、P1、O1、O2后,將填寫由上述測試用例的問題共同組成的測試問卷的集合:﹛(α11,α12,α13,…,α1m)+(α21,α22,α23,…,α2m)+(β11,β12,β13,…,β1n)+(β1+β2+β3+ …+βn)+(δ11,δ12,δ13,…,δ1p)+(δ21,δ22,δ23,…,δ2p)﹜;而圖 4中,測試基準只有抽象測試套件,沒有測試問卷,在構建測試模型選定測試用例Q1、Q2、P1、O1、O2后,填寫結合標準A本身一致性聲明與測試基準測試用例的一致性要求所產生的測試問卷:(α11,α12,α23,α2m)+(β12,β13)+(δ1p,δ2p)。
對比圖3和圖4發現,圖3中被測標準A所對應的3個測試基準B、C、D的測試問卷中很多問題與標準A無關,產生了冗余,而圖4則將標準A本身一致性聲明與測試基準測試用例的一致性要求相結合,所以本文的 GIS-CTM模型中采用圖4的方式設計測試問卷,為 GIS-CTM模型原型系統的實現奠定了理論基礎。
如圖5,該模型采用MVC三層體系架構,包括數據訪問層(DAL)、業務邏輯層、表示層,客戶端分為前置處理器和后置處理器。

圖5 GIS-CTM模型體系架構Fig.5 The architecture of the GIS-CTM model
數據訪問層負責對數據庫的訪問,包括 SQL 2000數據庫和O racle 10g數據庫。SQL 2000數據庫存儲所有在前置處理器中錄入的標準數據,同時它還作為前置處理器和后置處理器導入導出數據的載體;Oracle數據庫存儲后置處理器中的數據以及在前置處理器導入的數據。
業務邏輯層是整個模型的核心,它包含前置處理器和后置處理器兩部分的所有功能模塊。GISCTM模型前置處理器主要負責以下工作(圖6):1)錄入標準內容,準備測試需要的A TS、IXIT(Imp lementation extra Info rmation fo r Testing,實現的測試補充材料)問卷以及被測標準的 ICS問卷。2)根據被測標準選擇測試基準,填寫這些標準的 ICS問卷,以確定此一致性測試范圍。3)構建測試模型。根據已確定的測試域,選擇相應的抽象測試用例,生成抽象測試套件集。4)設計測試問卷。第三方測試機構(一致性測試執行機構及測試結果的認證機構)根據測試模型中各個測試用例的測試目的和方法,結合ICS問卷的填寫情況設計測試問卷。5)根據被測標準的一致性實現情況填寫測試問卷,每填寫一個問題答案,形成一個 IU T。6)填寫 IXIT問卷,生成ETS。

圖6 前置處理器流程Fig.6 Flow chart of PreDevice
后置處理器主要負責對 ETS進行系統的自動測試、結果判定以及生成測試報告。在自動測試過程中,如遇到程序無法判別的情況,則會提示啟動人工干預對測試結果進行判定。自動測試對比測試基準一致性要求所要達到的預期效果和被測標準的一致性實現情況,即測試每個IU T并得出判定結果。具體流程如圖7。

圖7 后置處理器流程Fig.7 Flow chart of BakDevice
本文對自然資源和地理空間基礎信息庫標準體系的測試原理、模型設計與原型實現進行了討論,提供了一種用來決定被測標準是否忠實地滿足其所對應測試基準的要求和規范的檢測手段和評價方法,是對標準一致性測試研究的有益嘗試和創新性探索。目前該模型已經應用于中國標準化研究院測試實驗室,并取得預期的測試結果。但從發展的角度看,該模型還存在一些問題需做進一步的研究,例如,如何構建高質量的A TS?如何合理的設計測試問卷,使其完美地代表標準的一致性要求?該模型如何對標準與軟件、數據、服務之間的一致性進行測試?
[1] 宋志杰,鄧家提,詹俊峰,等.STEP一致性測試系統的開發[J].計算機輔助設計與圖形學學報,2001,13(4A):299-304.
[2] 呂欣巖,趙保華,屈玉貴.一種可變測試集的協議一致性測試方法[J].電子學報,2003,31(12A):2179-2182.
[3] 呂欣巖,趙保華,周顥.一種動態協議一致性測試方法[J].中國科學技術大學學報,2005,35(3A):398-404.
[4] 李華,葉新銘,曾敏,等.基于XML的協議一致性測試系統的設計與實現[J].計算機科學,2006,33(10A):275-278.
[5] 董連續,李小林.地理信息標準化實現機制之一:一致性測試[J].地理信息世界,2003,1(5A):45-47.
[6] GB/T19333.5-2003/ISO 19105:2000地理信息一致性與測試[S].2000.
A Conformance and Testing M odel of Geographic Information Standards
D IAO Jun-ling1,WU Xin-cai1,2,L IU Yong1,2,L IU Fu-jiang1,2,LUO Xian-gang1
(1.SchoolofInformationEngineering,ChinaUniversityofGeosciences,Wuhan 430074;2.CenterforMinistryofEducationGISSoftwareResearchandApplicationEngineering,Wuhan430074,China)
In order to avoid the confo rmance p roblem s,such as overlapping,repeating and contradictory,between the standards of Natural Resources and Geographic Spatial Information Database,ensure the degree of the confo rmance,the research on how to automatically comp lete the p rocessof conformance and testing has been a key p roblem of geographic information standardization.In this paper,a Geographic Information Standards Conformance Testing Model(GIS-CTM)was p rovided fo r the first time,and somemethods and a frame were illustrated to comp lete the transformation p rocess from ATS(Abstract Test Suite)to ETS(Executable Test Suite)by questionnaire.That is,designing the questionsmeans to parametric the test case,and answering the questionsmeans to assign the test case and simultaneously turn into IU T(Imp lementation Under Test),w hich composes ETS.Finally,the GIS-CTM model tested ETS to comp lete the p rocess of Confo rmance and Testing.
geographic info rmation standards;confo rmance and testing;modeling;A TS;ICS
P208
A
1672-0504(2010)05-0020-04
2010-01- 22;
2010-03-22
國家863立項項目“面向網絡的三維空間信息服務技術研究與軟件開發”(2009AA 12Z211);國家發改委專項“一致性測試及要素編目和數據字典編制軟件工具開發”(JCXXX-HT2009-002)
刁俊玲(1983-),女,碩士研究生,研究方向為軟件體系架構、標準測試理論與方法等。*通訊作者E-mail:whcuggisk9@126.com