刁 俊 玲,吳 信 才,2*,劉 永,2,劉 福 江,2,羅 顯 剛
(1.中國地質(zhì)大學(xué)(武漢)信息工程學(xué)院,湖北武漢 430074;2.地理信息系統(tǒng)軟件開發(fā)與應(yīng)用教育部工程中心,湖北武漢 430074)
地理信息標(biāo)準(zhǔn)一致性測試建模
刁 俊 玲1,吳 信 才1,2*,劉 永1,2,劉 福 江1,2,羅 顯 剛1
(1.中國地質(zhì)大學(xué)(武漢)信息工程學(xué)院,湖北武漢 430074;2.地理信息系統(tǒng)軟件開發(fā)與應(yīng)用教育部工程中心,湖北武漢 430074)
為避免自然資源與地理空間基礎(chǔ)信息庫中標(biāo)準(zhǔn)體系之間出現(xiàn)不必要的交叉、重復(fù)乃至矛盾,確定標(biāo)準(zhǔn)之間的一致性實現(xiàn)程度,利用軟件自動完成一致性測試并給出可信的測試結(jié)果,已成為地理信息標(biāo)準(zhǔn)化的關(guān)鍵問題。該文應(yīng)用MVC三層體系架構(gòu),構(gòu)建了一種新型地理信息標(biāo)準(zhǔn)一致性測試過程模型(GIS-CTM),設(shè)計了前置處理器和后置處理器兩個客戶端,通過測試問卷形式完成從ATS到可執(zhí)行測試套件的轉(zhuǎn)變過程,實現(xiàn)了測試準(zhǔn)備、測試分析、測試結(jié)果判定及測試報告生成等功能。該模型為測試體系規(guī)定了方法和框架,保證測試結(jié)果具有足夠的可信度,進(jìn)而保證標(biāo)準(zhǔn)體系之間的協(xié)調(diào)一致,支持了自然資源和地理空間基礎(chǔ)信息庫的標(biāo)準(zhǔn)化建設(shè)。
地理信息標(biāo)準(zhǔn);一致性測試;建模;A TS;ICS
自然資源和地理空間基礎(chǔ)信息庫(以下簡稱“信息庫”)是中辦發(fā)[2002]17號文件確定的國家電子政務(wù)4個基礎(chǔ)信息庫之一,為了確保信息共享和業(yè)務(wù)協(xié)同,2009年由國家發(fā)改委牽頭,先后啟動了以69項地理信息標(biāo)準(zhǔn)為主體的自然資源與地理空間信息庫標(biāo)準(zhǔn)體系的建設(shè)任務(wù)。由于編寫地理信息標(biāo)準(zhǔn)的人員技術(shù)水平參差不齊,導(dǎo)致標(biāo)準(zhǔn)一致性差異問題;由于各行業(yè)形成相對獨立又互不兼容的行業(yè)標(biāo)準(zhǔn)體系或行業(yè)慣例,出現(xiàn)了地理信息標(biāo)準(zhǔn)內(nèi)容、應(yīng)用模式、數(shù)據(jù)語義等不協(xié)調(diào)問題。因此,對地理信息標(biāo)準(zhǔn)進(jìn)行一致性測試已成為地理信息標(biāo)準(zhǔn)化領(lǐng)域的關(guān)鍵問題。
自1997年已有相關(guān)學(xué)者對一致性測試展開研究,但目前該研究在國內(nèi)仍處于起步階段,尤其是對地理信息標(biāo)準(zhǔn)之間一致性測試的研究仍為空白。2001年宋志杰等針對表達(dá)3D機(jī)械產(chǎn)品在設(shè)計階段的產(chǎn)品數(shù)據(jù)的國際標(biāo)準(zhǔn)STEPAP 203開發(fā)了STEP一致性測試系統(tǒng),可作為決定實現(xiàn)STEP的產(chǎn)品之間是否互操作的基礎(chǔ)[1]。2003年呂欣巖等針對協(xié)議一致性測試提出一種可變測試集的一致性測試方法,通過動態(tài)執(zhí)行測試集提高其執(zhí)行效率[2];2005年利用約束滿足技術(shù)實現(xiàn)了一種新的動態(tài)協(xié)議一致性測試方法,解決了實際測試中執(zhí)行效率不高和測試方位可能被縮小的問題[3]。2006年李華等設(shè)計并實現(xiàn)了基于XML的協(xié)議一致性測試系統(tǒng),解決了測試套的編輯、存儲及重用問題[4]。
以上一致性測試系統(tǒng)都是針對通訊網(wǎng)絡(luò)或產(chǎn)品協(xié)議之間的一致性測試而設(shè)計開發(fā)的,并不適用于地理信息標(biāo)準(zhǔn)之間的一致性測試。2003年董連續(xù)等提出了對地理信息標(biāo)準(zhǔn)進(jìn)行一致性測試的框架和原理[5],但沒有開發(fā)出實現(xiàn)一致性測試的系統(tǒng)工具。如何通過建立標(biāo)準(zhǔn)化的輔助工具軟件,自動地在完成標(biāo)準(zhǔn)編制工作的同時使之與其他標(biāo)準(zhǔn)保持一致,成為標(biāo)準(zhǔn)化建設(shè)的關(guān)鍵問題。
為解決以上問題,本文根據(jù)國標(biāo) ISO 19105:2000地理信息一致性與測試中的規(guī)定,研究并創(chuàng)新性地提出了地理信息標(biāo)準(zhǔn)一致性測試GIS-CTM模型,利用前置和后置處理器巧妙協(xié)作,完成地理信息標(biāo)準(zhǔn)的一致性評價過程,實現(xiàn)對地理信息標(biāo)準(zhǔn)一致性程度的測試。一致性測試有兩種通用方法:驗證測試和證偽測試,前者用于判定肯定性結(jié)果,后者用于判定否定性結(jié)果[5]。由于大多數(shù)標(biāo)準(zhǔn)規(guī)模大且復(fù)雜,致使有時采用正確性證明方法是不現(xiàn)實的,所以GIS-CTM模型的研究和實現(xiàn)使用“自動測試+人工干預(yù)”的證偽測試方法,即對一個特定的測試套件測試該實現(xiàn)(規(guī)范的實施[6])中的錯誤,并提供概要和詳細(xì)敘述,最終得出結(jié)論。
標(biāo)準(zhǔn)之間的一致性關(guān)系大致分為4種:1)直接在被測標(biāo)準(zhǔn)(在標(biāo)準(zhǔn)文本中有一致性聲明并需進(jìn)行一致性測試的標(biāo)準(zhǔn))文本中標(biāo)注:“見×××標(biāo)準(zhǔn)”;2)在被測標(biāo)準(zhǔn)中直接引用測試基準(zhǔn)(在標(biāo)準(zhǔn)A TS中明確了一致性要求并已通過一致性測試的標(biāo)準(zhǔn))的內(nèi)容;3)依據(jù)測試基準(zhǔn)的一致性要求生成了用于某一特定領(lǐng)域的被測標(biāo)準(zhǔn);4)存在兩個標(biāo)準(zhǔn),其內(nèi)容均對某一要求做出規(guī)定,兩個標(biāo)準(zhǔn)之間存在一致性關(guān)系。通過對上述4種一致性關(guān)系的研究,本文提出了一種新型地理信息標(biāo)準(zhǔn)一致性測試過程模型(GIS-CTM),其原理如圖1所示。
圖1 GIS-CTM模型原理Fig.1 Principle of GIS-CTM model
(1)測試準(zhǔn)備:根據(jù)被測標(biāo)準(zhǔn)文本中的一致性聲明,選定測試基準(zhǔn),并填寫實現(xiàn)一致性聲明(Imp lementation Conformance Statement,ICS)問卷 ,該問卷是為了評定一個特定實現(xiàn)的一致性,關(guān)于選項已被實現(xiàn)了的聲明[6],其作用在于界定測試域。
(2)測試建模:根據(jù)ICS問卷填寫情況構(gòu)建測試模型,選擇各個測試基準(zhǔn)的測試用例,形成一個特定的抽象測試套件(Abstract Test Suite,A TS)集,通過填寫測試問卷,完成從A TS到可執(zhí)行測試套件(Executable Test Suite,ETS)的參數(shù)賦值過程,最終得到ETS是可執(zhí)行測試用例的集合。
(3)測試運行:計算機(jī)程序?qū)TS進(jìn)行自動測試,利用語義分析判斷標(biāo)準(zhǔn)的填寫情況,判斷其在抽象測試套件集中各個測試用例的實現(xiàn)情況,得到被測標(biāo)準(zhǔn)的實現(xiàn)能力。當(dāng)在自動測試過程中遇到語義存在二義性或者其他程序無法判斷的情況,則啟動人工干預(yù)功能,對判定結(jié)果進(jìn)行人為修改,增加了測試結(jié)果的可控性;同時這些修改操作都記錄在一致性測試日志中,以保證測試結(jié)果的可復(fù)查性、可審核性和可信性。
(4)測試結(jié)果生成:統(tǒng)計分析判定結(jié)果,綜合一致性測試日志,生成一致性測試報告。
在GIS-CTM模型中,A TS轉(zhuǎn)化為ETS的過程以測試問卷的形式實現(xiàn)。測試問卷是一致性測試的核心,它體現(xiàn)了測試基準(zhǔn)的一致性要求和被測試標(biāo)準(zhǔn)的一致性實現(xiàn)(滿足要求的實現(xiàn)[6])情況。因此,測試問卷的問題基于測試基準(zhǔn)的A TS而設(shè)計,以問題的形式將抽象測試套件集中的各個測試實例化、參數(shù)化,最后通過填寫測試問卷賦值,形成被測實現(xiàn)(IU T),最終生成用于測試的可執(zhí)行測試用例(ETS)集。因此,只有合理設(shè)計測試問卷才能保證一致性測試結(jié)果的準(zhǔn)確性和可信度。本文測試問卷的問題采用樹狀目錄形式,以單項選擇、多項選擇、文本(語義一致)、文本(完全一致)、數(shù)字、枚舉等多種問題形式體現(xiàn)復(fù)雜的一致性要求,同時設(shè)定問題之間的依賴條件關(guān)系,即只有當(dāng)父級問題回答正確之后其子問題才會顯示。測試問卷設(shè)計如圖2所示。
圖2 測試問卷的設(shè)計Fig.2 Design of questionnaire
當(dāng)一個標(biāo)準(zhǔn)聲稱實現(xiàn)了多個標(biāo)準(zhǔn)的一致性要求,則該標(biāo)準(zhǔn)需要填寫這些標(biāo)準(zhǔn)的測試問卷;當(dāng)幾個標(biāo)準(zhǔn)形成一個相互引用的環(huán)狀關(guān)系時,則假定其中一個標(biāo)準(zhǔn)作為測試基準(zhǔn),設(shè)計測試問卷并通過測試入庫,測試其它標(biāo)準(zhǔn)通過之后該標(biāo)準(zhǔn)再重新進(jìn)行一致性測試。
既然測試問卷體現(xiàn)標(biāo)準(zhǔn)的一致性要求,那么是否需要針對每個標(biāo)準(zhǔn)的一致性要求都設(shè)計一套測試問卷呢?本文通過圖3和圖4的對比進(jìn)行說明。假設(shè)標(biāo)準(zhǔn)A聲稱與標(biāo)準(zhǔn)B、C、D…等具有一致性,標(biāo)準(zhǔn)B對應(yīng)一套涵蓋其所有一致性要求的測試問卷Ⅰ﹛Q1(α11,α12,α13,…,α1m),Q2(α21,α22,α23,…,α2m)…﹜,標(biāo)準(zhǔn)C對應(yīng)一套涵蓋其所有一致性要求的測試問卷 Ⅱ﹛P1(β11,β12,β13,…,β1n),P2(β21,β22,β23,…,β2n)…﹜,標(biāo)準(zhǔn)D對應(yīng)一套涵蓋其所有一致性要求的測試問卷 Ⅲ﹛O1(δ11,δ12,δ13,…,δ1p),O2(δ21,δ22,δ23,…,δ2p)…﹜,其中O、P、Q為標(biāo)準(zhǔn)的測試用例,α、β、δ為分解該標(biāo)準(zhǔn)的一個測試用例后得到的最小一致性要求單元,m、n、p假定為分解該標(biāo)準(zhǔn)一個測試用例后的最小一致性要求單元的窮舉個數(shù)。假設(shè)標(biāo)準(zhǔn) A 與標(biāo)準(zhǔn) B(α11,α12,α23,α2m)、標(biāo)準(zhǔn) C(β12,β13)和標(biāo)準(zhǔn) D(δ1p,δ2p)保持一致。
由上述條件,圖3中每個標(biāo)準(zhǔn)都有一套測試問卷,在構(gòu)建測試模型選定測試用例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中,測試基準(zhǔn)只有抽象測試套件,沒有測試問卷,在構(gòu)建測試模型選定測試用例Q1、Q2、P1、O1、O2后,填寫結(jié)合標(biāo)準(zhǔn)A本身一致性聲明與測試基準(zhǔn)測試用例的一致性要求所產(chǎn)生的測試問卷:(α11,α12,α23,α2m)+(β12,β13)+(δ1p,δ2p)。
對比圖3和圖4發(fā)現(xiàn),圖3中被測標(biāo)準(zhǔn)A所對應(yīng)的3個測試基準(zhǔn)B、C、D的測試問卷中很多問題與標(biāo)準(zhǔn)A無關(guān),產(chǎn)生了冗余,而圖4則將標(biāo)準(zhǔn)A本身一致性聲明與測試基準(zhǔn)測試用例的一致性要求相結(jié)合,所以本文的 GIS-CTM模型中采用圖4的方式設(shè)計測試問卷,為 GIS-CTM模型原型系統(tǒng)的實現(xiàn)奠定了理論基礎(chǔ)。
如圖5,該模型采用MVC三層體系架構(gòu),包括數(shù)據(jù)訪問層(DAL)、業(yè)務(wù)邏輯層、表示層,客戶端分為前置處理器和后置處理器。
圖5 GIS-CTM模型體系架構(gòu)Fig.5 The architecture of the GIS-CTM model
數(shù)據(jù)訪問層負(fù)責(zé)對數(shù)據(jù)庫的訪問,包括 SQL 2000數(shù)據(jù)庫和O racle 10g數(shù)據(jù)庫。SQL 2000數(shù)據(jù)庫存儲所有在前置處理器中錄入的標(biāo)準(zhǔn)數(shù)據(jù),同時它還作為前置處理器和后置處理器導(dǎo)入導(dǎo)出數(shù)據(jù)的載體;Oracle數(shù)據(jù)庫存儲后置處理器中的數(shù)據(jù)以及在前置處理器導(dǎo)入的數(shù)據(jù)。
業(yè)務(wù)邏輯層是整個模型的核心,它包含前置處理器和后置處理器兩部分的所有功能模塊。GISCTM模型前置處理器主要負(fù)責(zé)以下工作(圖6):1)錄入標(biāo)準(zhǔn)內(nèi)容,準(zhǔn)備測試需要的A TS、IXIT(Imp lementation extra Info rmation fo r Testing,實現(xiàn)的測試補(bǔ)充材料)問卷以及被測標(biāo)準(zhǔn)的 ICS問卷。2)根據(jù)被測標(biāo)準(zhǔn)選擇測試基準(zhǔn),填寫這些標(biāo)準(zhǔn)的 ICS問卷,以確定此一致性測試范圍。3)構(gòu)建測試模型。根據(jù)已確定的測試域,選擇相應(yīng)的抽象測試用例,生成抽象測試套件集。4)設(shè)計測試問卷。第三方測試機(jī)構(gòu)(一致性測試執(zhí)行機(jī)構(gòu)及測試結(jié)果的認(rèn)證機(jī)構(gòu))根據(jù)測試模型中各個測試用例的測試目的和方法,結(jié)合ICS問卷的填寫情況設(shè)計測試問卷。5)根據(jù)被測標(biāo)準(zhǔn)的一致性實現(xiàn)情況填寫測試問卷,每填寫一個問題答案,形成一個 IU T。6)填寫 IXIT問卷,生成ETS。
圖6 前置處理器流程Fig.6 Flow chart of PreDevice
后置處理器主要負(fù)責(zé)對 ETS進(jìn)行系統(tǒng)的自動測試、結(jié)果判定以及生成測試報告。在自動測試過程中,如遇到程序無法判別的情況,則會提示啟動人工干預(yù)對測試結(jié)果進(jìn)行判定。自動測試對比測試基準(zhǔn)一致性要求所要達(dá)到的預(yù)期效果和被測標(biāo)準(zhǔn)的一致性實現(xiàn)情況,即測試每個IU T并得出判定結(jié)果。具體流程如圖7。
圖7 后置處理器流程Fig.7 Flow chart of BakDevice
本文對自然資源和地理空間基礎(chǔ)信息庫標(biāo)準(zhǔn)體系的測試原理、模型設(shè)計與原型實現(xiàn)進(jìn)行了討論,提供了一種用來決定被測標(biāo)準(zhǔn)是否忠實地滿足其所對應(yīng)測試基準(zhǔn)的要求和規(guī)范的檢測手段和評價方法,是對標(biāo)準(zhǔn)一致性測試研究的有益嘗試和創(chuàng)新性探索。目前該模型已經(jīng)應(yīng)用于中國標(biāo)準(zhǔn)化研究院測試實驗室,并取得預(yù)期的測試結(jié)果。但從發(fā)展的角度看,該模型還存在一些問題需做進(jìn)一步的研究,例如,如何構(gòu)建高質(zhì)量的A TS?如何合理的設(shè)計測試問卷,使其完美地代表標(biāo)準(zhǔn)的一致性要求?該模型如何對標(biāo)準(zhǔn)與軟件、數(shù)據(jù)、服務(wù)之間的一致性進(jìn)行測試?
[1] 宋志杰,鄧家提,詹俊峰,等.STEP一致性測試系統(tǒng)的開發(fā)[J].計算機(jī)輔助設(shè)計與圖形學(xué)學(xué)報,2001,13(4A):299-304.
[2] 呂欣巖,趙保華,屈玉貴.一種可變測試集的協(xié)議一致性測試方法[J].電子學(xué)報,2003,31(12A):2179-2182.
[3] 呂欣巖,趙保華,周顥.一種動態(tài)協(xié)議一致性測試方法[J].中國科學(xué)技術(shù)大學(xué)學(xué)報,2005,35(3A):398-404.
[4] 李華,葉新銘,曾敏,等.基于XML的協(xié)議一致性測試系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機(jī)科學(xué),2006,33(10A):275-278.
[5] 董連續(xù),李小林.地理信息標(biāo)準(zhǔn)化實現(xiàn)機(jī)制之一:一致性測試[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立項項目“面向網(wǎng)絡(luò)的三維空間信息服務(wù)技術(shù)研究與軟件開發(fā)”(2009AA 12Z211);國家發(fā)改委專項“一致性測試及要素編目和數(shù)據(jù)字典編制軟件工具開發(fā)”(JCXXX-HT2009-002)
刁俊玲(1983-),女,碩士研究生,研究方向為軟件體系架構(gòu)、標(biāo)準(zhǔn)測試?yán)碚撆c方法等。*通訊作者E-mail:whcuggisk9@126.com