陳燕鳳
隨著高新技術(shù)的發(fā)展和裝備復雜程度的日益提高,構(gòu)建基于信息化手段的精細化綜合保障能力,已成為裝備綜合保障技術(shù)的發(fā)展方向,成為構(gòu)建裝備保障力的重要內(nèi)容。技術(shù)資料作為綜合保障的關鍵因素之一,是維修保障的基礎,對形成裝備保障能力提供重要支撐。
S1000D《基于公共源數(shù)據(jù)庫的技術(shù)出版物國際規(guī)范》是一個采用公共源數(shù)據(jù)庫來創(chuàng)建技術(shù)文檔的國際標準,S1000D采用模塊化方式組織和管理數(shù)據(jù),以便于實現(xiàn)信息的重用與共享,其核心內(nèi)容是數(shù)據(jù)模塊和公共源數(shù)據(jù)庫。
基于S1000D的交互式電子技術(shù)手冊(Interactive Electronic Technical Manual,IETM)是裝備技術(shù)數(shù)據(jù)的新型載體,也是裝備技術(shù)數(shù)據(jù)的主要表現(xiàn)形式,利用信息化手段對技術(shù)資料進行存儲、管理,研制形成IETM,并在智能診斷、在線訓練等方面加以應用,是綜合保障信息化的重要內(nèi)容。
軟件測試作為軟件質(zhì)量保證工程的一個重要組成部分,是最關鍵的質(zhì)量保證手段。然而,IETM作為一個工程量龐大的平臺,與一般軟件相比,具有規(guī)模大、結(jié)構(gòu)復雜、業(yè)務領域性強等特點,使得IETM的測試工作也面臨著極大的挑戰(zhàn)。因此,研究、探討IETM軟件產(chǎn)品的測試技術(shù)和設計實現(xiàn)手段也成為我國裝備保障信息化建設發(fā)展過程中必須面對的一個實際問題。
IETM平臺覆蓋技術(shù)資料制作及使用的基本生命周期,對應于技術(shù)資料的業(yè)務階段分別有相應的系統(tǒng),分別是內(nèi)容制作階段(通用XML編輯器)、內(nèi)容管理階段(內(nèi)容管理系統(tǒng))、IETM出版階段(IETM交互式出版器及線性出版器)、IETM閱讀階段(IETM交互式閱讀器)。IETM平臺功能組成見圖1所示。
IETM平臺作為測試對象,包含了4個相互依賴卻又相互獨立的子系統(tǒng)。平臺規(guī)模大、結(jié)構(gòu)復雜、業(yè)務領域性強,且由于基于S1000D研發(fā),而S1000D包含多種手冊、數(shù)據(jù)模塊類型,不同的類型又分別有不同的XML Schema,含數(shù)以千計的數(shù)據(jù)元素,因此需要在實際測試工作中完成針對性的測試,主要包括以下2個方面:
● 功能性測試:指軟件產(chǎn)品在指定條件下,提供滿足明確和隱含要求的功能的能力。IETM平臺主要包括DM編制、插圖和多媒體信息編制、協(xié)同編輯、工作流管理、線性手冊發(fā)布、交互閱讀、全文索引等功能模塊,由于功能模塊眾多,因此功能性測試在整個測試中占的比例最大。
● 標準符合性測試:針對IETM平臺的標準符合性測試主要從其內(nèi)容、數(shù)據(jù)模塊模式、編碼以及出版效果等方面,與S1000D進行符合性驗證。目的是驗證開發(fā)出的IETM產(chǎn)品是否滿足標準要求。
3.1.1 功能性測試用例設計方法
切合需求又有技術(shù)指導價值的測試用例對保證測試質(zhì)量有著至關重要意義。IETM平臺中測試用例設計遵循需求覆蓋全面,測試思路擴展,測試要點覆蓋全面等原則。主要采用等價類劃分,邊界值分析,場景法,錯誤推測,正向測試,反向測試等方法。
3.1.2 標準符合性測試用例設計方法
IETM開發(fā)平臺的標準符合性測試主要從其內(nèi)容、數(shù)據(jù)模塊模式、編碼以及出版效果等方面,與S1000D進行符合性驗證,按照完全符合、基本符合、不符合三級給出評價。目的是看開發(fā)出的IETM產(chǎn)品是否滿足標準要求。主要采用覆蓋測試法、鑒別測試法設計測試用例。
但是由于S1000D包含多種手冊、數(shù)據(jù)模塊類型,不同的類型又分別對應不同的XML Schema,含數(shù)以千計的數(shù)據(jù)元素及其組合。這時如果全部采用覆蓋測試是需要大量的時間和資源的,因此,標準符合性測試主要以覆蓋測試法為主,以鑒別測試法為輔的測試策略,挑選出常用數(shù)據(jù)模塊、元素進行覆蓋測試,對不常用的數(shù)據(jù)模塊、元素進行鑒別測試。
由于IETM平臺工程量大、結(jié)構(gòu)復雜、且模塊眾多,限于篇幅,下面只對部分關鍵功能的測試設計進行介紹。
3.2.1 XML編輯器的測試用例設計
XML編輯器作為編制管理模塊的一個重要組成部分,提供對DM,PM,SCP等公共數(shù)據(jù)源對象的編輯。XML編輯器的測試設計主要采取黑盒測試結(jié)合標準符合性測試、健壯性測試的方法,以XML編輯器中“復制粘貼”功能為例說明,其測試設計如下。
3.2.1.1 等價類劃分
將操作位置等價類劃分,見表1。
表1 操作位置等價類劃分
3.2.1.2 邊界值分析
以操作位置為例,用邊界值分析法,補充細節(jié),見表2。
表2 操作位置邊界值分析
3.2.1.3 正向測試和反向測試
以操作位置為例,利用等價類劃分和邊界值分析中已經(jīng)列出的項,正向測試歸類出允許進行粘貼的位置;反向測試,列出編輯器中不允許粘貼操作的位置,見表3。
3.2.1.4 錯誤推測
根據(jù)標準符合性測試思維,從XML語法的結(jié)構(gòu)限制推測可能會出錯的場景。考察從編輯器外部復制內(nèi)容,然后粘貼到編輯器的情況,見表4。
3.2.1.5 破壞性測試
破壞性測試,見表5。
3.2.2 工作流管理功能的測試用例設計
工作流管理即日常工作所產(chǎn)生的數(shù)據(jù)資料按照預定義的流程執(zhí)行,輔助完成制作、驗證、審批、發(fā)布等業(yè)務流程的自動化。主要包括任務分配、進度監(jiān)控、任務統(tǒng)計、審批等。
表3 正反向測試
表4 錯誤推測
表5 破壞性測試場景
本模塊主要采用場景法設計測試用例,工作流功能的基本流和備用流見表6。
圖2中經(jīng)過用例的每條不同路徑都反映了基本流和備選流,都用箭頭來表示?;玖饔弥焙诰€來表示,是經(jīng)過用例的最簡單的路徑。每個備選流自基本流開始,之后,備選流會在某個特定條件下執(zhí)行。備選流可能會重新加入基本流中(備選流2和4),終止用例而不再重新加入某個流(備選流1、3和5)。
表6 場景法測試用例設計
3.2.3 協(xié)同編制功能的并發(fā)測試設計
協(xié)同編制,可以多人協(xié)同進行編制工作并提供內(nèi)容編輯同步控制能力,避免編寫資料過程中出現(xiàn)沖突、發(fā)生覆蓋的情況。IETM軟件引入互斥鎖的概念,提供用戶內(nèi)容編輯同步控制能力。針對協(xié)同編制功能制定以下并發(fā)測試,見表7。
表7 協(xié)同編制功能的測試設計
3.2.4 線性出版的測試用例設計
線性出版系統(tǒng)主要將XML文檔的輸入生成正確格式的Word或PDF格式的文檔。本系統(tǒng)的測試主要采取的是標準符合性測試的策略,根據(jù)Schema標準對文檔進行測試。標準符合性測試不同于常見的軟件測試,其測試用例來源于S1000D。
由于S1000D手冊類型、數(shù)據(jù)模塊類型較多,每一種數(shù)據(jù)類型對應不同的XML Schema,含數(shù)以千計的數(shù)據(jù)元素,且標準迭代版本多,導致測試用例相應也要頻繁變換,使標準符合性測試不易于執(zhí)行。因此本系統(tǒng)的測試數(shù)據(jù)采取可重用的思維,搭建一套標準系列測試數(shù)據(jù),應對S1000D版本迭代以及回歸測試的情況。
以描述類的段落元素為例,該元素測試設計見表8。
表8 描述類測試用例設計
3.2.5 閱讀器的測試用例設計
IETM交互式閱讀器主要是對出版階段出版的數(shù)據(jù)包進行閱讀,主要采取黑盒測試結(jié)合標準符合性測試、健壯性測試的方法。閱讀器的標準符合性測試設計參考3.2.4節(jié)線性出版的設計,黑盒測試及健壯性測試設計如下,見表9。
表9 閱讀器等價類劃分
3.2.5.1 等價類劃分
由于導航閱讀為閱讀器的關鍵功能,如下主要以故障類的導航功能為例,設計步進導航功能測試用例,見表10。
表10 步進導航功能測試用例設計
3.2.5.2 容錯測試(見表11)
表11 容錯測試
測試覆蓋率主要用來度量測試過程的質(zhì)量。IETM平臺中使用“測試覆蓋率、測試執(zhí)行率、測試執(zhí)行通過率、測試缺陷修復率”這4個指標來度量。
● 測試覆蓋率:測試覆蓋率是指測試用例對需求的覆蓋情況。
● 測試執(zhí)行率:實際執(zhí)行過程中確定已經(jīng)執(zhí)行的測試用例比率。
● 測試執(zhí)行通過率:指在實際執(zhí)行的測試用例中,執(zhí)行結(jié)果為“通過”的測試用例比率。
● 測試缺陷修復率:某個階段已關閉缺陷占缺陷總數(shù)的比率。圖3為系統(tǒng)測試階段測試解決率曲線圖。
本文提出的IETM測試方法采用了傳統(tǒng)的軟件測試方法與標準符合性測試相結(jié)合的策略。在標準符合性測試過程中筆者根據(jù)數(shù)據(jù)可重用性思維設計了一套標準系列測試數(shù)據(jù),應對S1000D標準多個版本迭代以及多次回歸測試的情況,使測試更有效更有效,更省時?;谠摐y試方法已經(jīng)對某型工程的IETM軟件平臺進行了全面測試,測試通過后IETM平臺已在工程中全面使用,充分證明了測試設計的合理性和有效性。
基于移動智能平臺的應用越來越廣泛,為了順應移動信息化的發(fā)展,研發(fā)PAD版交互式電子手冊勢在必行。然而,與傳統(tǒng)的PC應用測試相比,移動應用測試是一個更大的挑戰(zhàn)。
挑戰(zhàn)一:移動設備種類、機型的多樣化導致移動應用的兼容問題相當突出。
挑戰(zhàn)二:由于移動設備和模型的顯示屏尺寸和分辨率種類太多,加大了測試工作量。
挑戰(zhàn)三:IETM平臺規(guī)模大、結(jié)構(gòu)復雜,加上移動設備的各種限制導致測試的準確性和問題追蹤難以保證。
挑戰(zhàn)四:當移動應用在網(wǎng)絡邊界上通信時,網(wǎng)絡延遲將不可預測。
[1] ASD/AIA/ATA S1000D. About S 1000D. http://public.s1000d.org.
[2] INTERACTIVE ELECTRONIC TECHNICAL MANUAL(IETM) GUIDE,DSMC IETM Guide.
[3] 王學奇,肖明清,周越文. 交互式電子技術(shù)手冊及其應用研究,計算機工程,2002(5).