肖嵐
(國家衛(wèi)星氣象中心 北京市 100081)
風云三號氣象衛(wèi)星(FY-3)是我國第二代極軌氣象衛(wèi)星,搭載了多個遙感儀器,對全球進行全天候觀測。FY-3 地面應用運行控制系統(tǒng)(以下簡稱OCS 系統(tǒng))實現(xiàn)對地面應用系統(tǒng)的任務調度、運行和設備狀態(tài)的監(jiān)視等。
OCS 系統(tǒng)作為工程軟件項目,從立項至項目驗收, 遵循軟件工程規(guī)范開展項目活動,經(jīng)過需求分析階段、概要設計階段、詳細設計階段、編碼實現(xiàn)階段、測試階段、直至驗收階段。軟件測試活動是OCS 系統(tǒng)項目實施中必不可少的環(huán)節(jié)。軟件測試目的是為了發(fā)現(xiàn)軟件設計和實現(xiàn)過程中所產生的錯誤,驗證軟件是否滿足任務需求和軟件設計所規(guī)定的功能和性能要求,更是保證軟件質量的一種手段。測試策劃是軟件測試活動的開始部分。
軟件項目測試過程原則上都應遵循一個測試過程模型,定義過程模型的目的在于將本質上無序的活動有序化,為開發(fā)過程中的軟件測試工作提供一個基本的框架,并在此框架上展開測試活動。如圖1 所示。
針對OCS 系統(tǒng)的項目階段,測試過程模型中的V 模型和W 模型都可以與之對應。但傳統(tǒng)的V 模型僅把測試過程作為編碼后的一個階段,忽視了測試對需求的分析,不利于發(fā)現(xiàn)設計過程中的錯誤。W 模型可以看作雙V 模型,測試活動與開發(fā)活動是同時進行的,體現(xiàn)了“盡早地和不斷地進行軟件測試”的原則,這樣有助于及早發(fā)現(xiàn)問題,提高測試效率,故我們選擇W 模型來開展OCS 系統(tǒng)項目測試。
按照W 測試過程模型,測試活動是貫穿OCS 系統(tǒng)軟件項目整個生命周期的。我們按照項目進展的順序,對測試策劃活動分別進行說明。
在需求分析階段,開發(fā)人員對用戶提供的OCS 系統(tǒng)任務書進行需求分析,編制需求規(guī)格說明書和軟件開發(fā)計劃等。
我們在需求分析階段,以OCS 系統(tǒng)需求規(guī)格說明書為依據(jù),開展OCS 系統(tǒng)的系統(tǒng)測試策劃。
3.1.1 系統(tǒng)測試資源需求
系統(tǒng)測試策劃需明確OCS 系統(tǒng)的系統(tǒng)測試環(huán)境,包括軟件項和硬件項:
(1)軟件項:操作系統(tǒng)(Unix/Linux, Windows 系列)、支撐軟件(數(shù)據(jù)庫、消息通信中間件、網(wǎng)絡管理軟件)、編譯器、測試設計與文檔工具、測試管理工具。
(2)硬件項:計算機硬件(服務器、PC 機)接口設備(以太網(wǎng)卡、通訊卡、語音卡)
測試策劃中需明確測試準備工作:包括建立測試環(huán)境和在測試環(huán)境中安裝被測試的軟件。
3.1.2 系統(tǒng)測試人員與進度安排
OCS 系統(tǒng)測試是由獨立的測試組來完成的。獨立測試組人員包括:軟件測試組長1 人、軟件測試工程師4 人、軟件質量保證工程師1 人。測試進度安排包括測試用例設計、測試實施、測試總結的預計最早和最晚開始的日期,以及所需的工作日,這些進度日期的設置來源于軟件開發(fā)計劃中的活動網(wǎng)絡甘特圖。
圖1
3.1.3 系統(tǒng)測試內容
在對OCS 系統(tǒng)的需求規(guī)格說明書進行分析后,確定以下測試內容:
(1)適合性測試:對業(yè)務應用服務、客戶端監(jiān)視、WEB 檢索統(tǒng)計等功能進行測試。
(2)準確性測試:測試預報的時間和位置偏差是否滿足需求規(guī)格說明書中的精度要求。
(3)安全性測試:測試系統(tǒng)運行是否具有基于角色的安全控制以及應用軟件安全測試。
(4)容錯性測試:測試出現(xiàn)異常數(shù)據(jù)輸入或進行異常操作時,系統(tǒng)的容錯處理能力。
(5)可靠性測試:測試系統(tǒng)是否滿足需求規(guī)格說明書中的可靠性指標要求。
(6)易維護性測試:測試系統(tǒng)是否滿足需求規(guī)格說明書中的易維護性要求,檢查是否具有離線維護環(huán)境。
(7)可擴展性測試:測試是否可以通過外部配置予以完成OCS 核心軟件的擴展。
(8)時間特性測試:測試是否滿足需求規(guī)格說明書中的時間效率指標。
(9)資源特性測試:測試是否滿足需求規(guī)格說明書中的資源效率指標。
(10)易用性測試:測試軟件界面操作易用性,評價用戶手冊和聯(lián)機幫助等的易讀、易理解性。
我們建立測試項到測試依據(jù)(需求規(guī)格說明書)之間的追蹤矩陣,確保測試內容覆蓋需求,如表1 所示。
3.1.4 系統(tǒng)測試準則與文檔標準
OCS 系統(tǒng)的系統(tǒng)測試準則遵循已建立的系統(tǒng)測試工程規(guī)范標準。系統(tǒng)測試用例、系統(tǒng)測試記錄、系統(tǒng)測試報告模板在測試策劃中予以提供。
表1
表2
OCS 系統(tǒng)的概要設計階段完成對OCS 系統(tǒng)的軟件結構設計、數(shù)據(jù)庫設計、接口設計。
我們以概要設計階段輸出的概要設計文檔為依據(jù),進行OCS系統(tǒng)的集成測試的策劃。
3.2.1 集成測試策略
集成測試的基礎策略通常分為兩大類:非增量式集成測試策略和增量式集成測試策略。OCS系統(tǒng)的集成測試采用增量式集成策略。增量式集成的策略有很多種,根據(jù)OCS 系統(tǒng)的設計特性,OCS 系統(tǒng)的集成測試采用的是自底向上集成與基于功能集成相結合的集成策略。
3.2.2 集成測試環(huán)境部署
由開發(fā)人員搭建OCS 系統(tǒng)的集成測試環(huán)境:包括C/S 結構和B/S 結構,并部署需集成的軟件部件。
3.2.3 集成測試人員與進度安排
OCS 系統(tǒng)的集成測試人員由開發(fā)人員和獨立測試組人員共同組成,在單元測試實施完畢后,進入集成與集成測試階段。OCS 系統(tǒng)的集成測試進度安排參照軟件開發(fā)計劃中的活動網(wǎng)絡甘特圖來制定。
3.2.4 集成測試內容
OCS 系統(tǒng)集成測試內容包括對C/S 和B/S 兩種結構的集成功能測試、與其它應用系統(tǒng)仿真接口的測試、關鍵業(yè)務流程集成測試。
在集成測試說明中對測試內容細化,設計集成測試用例。
3.2.5 集成測試準則與文檔標準
OCS 系統(tǒng)的集成測試準則遵循已建立的集成測試工程規(guī)范標準。集成測試說明、集成測試記錄、集成測試報告模版在集成測試策劃中予以提供。
詳細設計階段完成模塊的詳細設計,每個模塊的模塊描述、實現(xiàn)算法,流程邏輯,數(shù)據(jù)結構等都有詳盡的描述。
在詳細設計階段,對應的是單元測試的策劃。單元測試以詳細設計為依據(jù),采用白盒測試法對各模塊進行測試。OCS 系統(tǒng)的單元測試由開發(fā)人員在編碼階段同步進行。
3.3.1 單元測試方法和工具
單元測試采用的方法是白盒測試法。白盒測試是按照模塊的內部的結構來測試,測試者可以看到被測模塊的源代碼,并分析其內部結構。因此,白盒測試也叫結構測試或邏輯驅動測試。單元測試的目的在于發(fā)現(xiàn)各模塊內部可能存在的各種錯誤。考慮采用Visual Studio 測試工具開展單元測試。Visual Studio“測試資源管理器”可幫助開發(fā)人員創(chuàng)建、管理和運行單元測試。測試框架可以使用 Microsoft 單元測試框架或第三方和開源框架。
3.3.2 單元測試環(huán)境
OCS 系統(tǒng)的單元測試環(huán)境與開發(fā)環(huán)境相一致。多數(shù)情況下,模塊并不是獨立可運行的程序。因此,在考慮測試模塊時,同時要考慮到它和外界其他模塊的聯(lián)系,用一些輔助模塊去模擬與被測模塊關聯(lián)的其他模塊。這些模塊分為驅動模塊和樁模塊。驅動模塊相當于所測模塊的主程序,負責接收測試數(shù)據(jù),將測試數(shù)據(jù)傳送給被測模塊,輸出實測結果。 而樁模塊是由被測模塊所調用,用以代替由被測模塊所調用的模塊功能。因此在OCS 系統(tǒng)的單元測試的測試環(huán)境中,需要構建驅動模塊和樁模塊,從而達到單元測試的目標。
3.3.3 單元測試人員與進度安排
OCS 系統(tǒng)的單元測試人員安排為開發(fā)人員,開發(fā)人員有責任編寫功能代碼,同時也就有責任為代碼編寫單元測試代碼,以保證開發(fā)出的代碼與設計要求一致。OCS 單元測試進度安排參照軟件開發(fā)計劃中的活動網(wǎng)絡甘特圖來制定。
3.3.4 單元測試內容
OCS 系統(tǒng)的單元測試內容包含詳細設計中所有模塊。如表2 所示。
3.3.5 測試準則與文檔標準
OCS 系統(tǒng)的單元測試準則遵循已建立的單元測試工程規(guī)范標準。單元測試用例說明、單元測試記錄和和單元測試報告模版在單元測試策劃中予以提供。
當項目的生命周期進入驗收階段,意味著開發(fā)任務已經(jīng)完成,通過了系統(tǒng)測試,達到了驗收測試的準入條件。驗收測試是以最終用戶為主導的測試。由最終用戶組織驗收測試組,通過驗收測試活動來確認OCS 系統(tǒng)是否滿足任務書中規(guī)劃的功能和性能的要求,并決定是否通過驗收測試。
3.4.1 驗收測試溝通
驗收測試是項目最后一個測試階段,也是啟動項目驗收評審的先決條件,其重要性不言而喻。因此,在著手準備驗收測試之前,應與用戶方進行充分的溝通。根據(jù)用戶方的要求,提交技術文檔,準備驗收測試數(shù)據(jù);協(xié)助用戶方,梳理驗收測試用例與任務書要求之間的追蹤關系,確保驗收測試內容完全覆蓋了任務書功能和性能要求。
3.4.2 驗收測試環(huán)境部署
OCS 系統(tǒng)的驗收測試是在真實業(yè)務環(huán)境下進行的,在驗收測試開始之前,需要將系統(tǒng)安裝到用戶真實業(yè)務環(huán)境下(用戶業(yè)務機房),安裝必要的運行支撐環(huán)境,并配置好所有的運行參數(shù)。
伴隨OCS 系統(tǒng)軟件項目生命周期的進展,我們在需求分析階段進行了系統(tǒng)測試策劃,概要設計階段進行了集成測試策劃,詳細設計階段進行了單元測試策劃。 越早進行測試策劃,越有利于發(fā)現(xiàn)需求和設計中存在的問題。而驗收階段的測試策劃,著重與用戶充分溝通, 做好驗收測試準備,保障驗收測試順利進行。軟件項目的測試策劃對后續(xù)設計測試用例,實施測試,完成各階段測試總結,直至通過最終驗收測試,都起著重要的作用。正是通過合理的測試策劃,為OCS 系統(tǒng)軟件測試工作的圓滿完成奠定了良好的基礎。