劉軍
關(guān)鍵詞 大型指揮自動(dòng)化信息系統(tǒng) 鑒定測(cè)評(píng) 分析
1概述
大型指揮自動(dòng)化信息系統(tǒng)作為情報(bào)支持的主要裝備,具有以下特征:(1)信息處理數(shù)據(jù)量大,速度快。在指揮自動(dòng)化系統(tǒng)中,各個(gè)分系統(tǒng)和數(shù)據(jù)處理組合之間采用了數(shù)字化的數(shù)據(jù)交換方式,并且最快的每幾秒甚至幾毫秒交換一次數(shù)據(jù),每次達(dá)數(shù)百個(gè)字節(jié),要求處理的數(shù)據(jù)量很大;(2)控制復(fù)雜性高,系統(tǒng)包括多個(gè)分系統(tǒng)及其組合或設(shè)備,有很多狀態(tài)量和數(shù)據(jù)量,并且其周期不盡相同,系統(tǒng)軟件要對(duì)它們進(jìn)行統(tǒng)一管理,邏輯關(guān)系非常復(fù)雜;(3)實(shí)時(shí)性要求強(qiáng),各個(gè)分系統(tǒng)和數(shù)據(jù)處理組合之間的數(shù)據(jù)交換周期是不同的,指控計(jì)算機(jī)按照統(tǒng)一的時(shí)序來(lái)協(xié)調(diào)分系統(tǒng)的工作,實(shí)現(xiàn)多個(gè)設(shè)備的同步。一旦在實(shí)時(shí)性方面出現(xiàn)錯(cuò)誤,就會(huì)造成整個(gè)系統(tǒng)的失敗;(4)可靠性要求高,系統(tǒng)很小的失誤可能引起重大損失。所以,系統(tǒng)中指揮控制系統(tǒng)的仿真與測(cè)試是非常重要的,在飛行試驗(yàn)前要對(duì)指揮自動(dòng)化系統(tǒng)進(jìn)行大量的測(cè)試和驗(yàn)證工作。
針對(duì)本類軟件,目前已開(kāi)展了不少的鑒定測(cè)評(píng)工作,從頂層的管理要求上與嵌入式軟件系統(tǒng)沒(méi)有區(qū)別。本文根據(jù)前期工程實(shí)踐情況,將指揮自動(dòng)化信息系統(tǒng)軟件鑒定測(cè)評(píng)工作中的經(jīng)驗(yàn)、存在的問(wèn)題和建議進(jìn)行總結(jié)。
2軟件特點(diǎn)
大型指揮自動(dòng)化信息系統(tǒng)軟件主要特點(diǎn)包括:(1)多為非嵌入式軟件,使用多任務(wù)操作系統(tǒng)、Oracle數(shù)據(jù)庫(kù)等基礎(chǔ)商用軟件,硬件設(shè)備也多采用商用服務(wù)器、工作站等,大型指揮自動(dòng)化信息系統(tǒng)作為裝備,多以軟件系統(tǒng)的形式進(jìn)行軟件鑒定;(2)規(guī)模巨大,一般在幾十萬(wàn)甚至上百萬(wàn)行,而對(duì)于如此巨大的軟件系統(tǒng)軟件的需求分析、設(shè)計(jì)文檔內(nèi)容相對(duì)單一,對(duì)之前研制的項(xiàng)目進(jìn)行過(guò)統(tǒng)計(jì)匯總,發(fā)現(xiàn)有的軟件需求文檔的描寫(xiě)力度是平均每條軟件需求對(duì)應(yīng)一萬(wàn)行左右的程序;(3)系統(tǒng)職責(zé)分層、數(shù)據(jù)分布處理,往往將系統(tǒng)劃分為分系統(tǒng)、子系統(tǒng)以及配置項(xiàng)等,不同的配置項(xiàng)部署于支持層、傳輸層、應(yīng)用層等,處于不同層次的配置項(xiàng)行使的職責(zé)不同,支持層、傳輸層等配置項(xiàng)的功能在系統(tǒng)中對(duì)用戶不可見(jiàn),應(yīng)用層配置項(xiàng)的功能需要經(jīng)由支持層、傳輸層的功能協(xié)助完成;(4)體系結(jié)構(gòu)構(gòu)成的成分較復(fù)雜,有通用配置項(xiàng)/ 構(gòu)件、系統(tǒng)共用配置項(xiàng)/ 構(gòu)件等,這些配置項(xiàng)/ 構(gòu)件的開(kāi)發(fā)單位、技術(shù)狀態(tài)和主管研制部門(mén)不同,技術(shù)和管理性因素都很多,不完全受控于系統(tǒng)鑒定;(5)人機(jī)交互多,系統(tǒng)的可用性、易用性必須符合用戶的使用習(xí)慣和使用需要,受人員影響很大,是使用需求驅(qū)動(dòng)的軟件系統(tǒng)。
3鑒定測(cè)評(píng)情況分析
3.1研制過(guò)程分析
過(guò)程控制:針對(duì)此類軟件系統(tǒng),主管機(jī)關(guān)一直強(qiáng)調(diào)其為“永遠(yuǎn)不交鑰匙的系統(tǒng)”,顧名思義,該系統(tǒng)無(wú)論是鑒定過(guò)程中,還是鑒定交付之后,需要研制單位永遠(yuǎn)無(wú)條件的給予技術(shù)支持和維護(hù)。這種觀念本身是正確的,軟件裝備研制的目的是讓用戶用好裝備,滿足其使用需求是軟件裝備的最終目標(biāo)。但是,有些研制單位卻因此產(chǎn)生誤解,認(rèn)為軟件即使交給用戶隊(duì)也可以隨時(shí)更改,不用控制版本,導(dǎo)致研制過(guò)程不規(guī)范,同時(shí)給測(cè)評(píng)過(guò)程帶來(lái)了巨大的困難。
軟件重用:由于此類軟件系統(tǒng)功能需求多,程序規(guī)模大,因此研制單位在軟件需求分析和開(kāi)發(fā)中,一般會(huì)選擇較為成熟的軟件構(gòu)件或商用軟件進(jìn)行重用集成,以期降低研制成本,提高軟件的可靠度,但會(huì)造成3 個(gè)問(wèn)題。一是對(duì)重用的軟件/ 構(gòu)件是否適用于本系統(tǒng),調(diào)研不充分,集成后(有時(shí)到交付階段)發(fā)現(xiàn)此類問(wèn)題但又難于更改;二是重用或購(gòu)買的軟件/ 構(gòu)件有缺陷無(wú)人維護(hù);三是此類軟件/ 構(gòu)件的問(wèn)題在某個(gè)分系統(tǒng)中暴露和更改后,沒(méi)有同步更改到其他分系統(tǒng)。
內(nèi)部測(cè)試情況參差不齊:研制階段過(guò)程中對(duì)軟件的內(nèi)部測(cè)試不充分,有時(shí)僅在研制開(kāi)始階段進(jìn)行了測(cè)試,且測(cè)試僅做到大功能的覆蓋,后續(xù)軟件更改后未進(jìn)行測(cè)試,許多問(wèn)題留到了鑒定階段。
軟件的文檔質(zhì)量一般不高,往往軟件功能和設(shè)計(jì)等技術(shù)內(nèi)容高度概括。一是出于對(duì)本單位軟件知識(shí)產(chǎn)權(quán)的保護(hù),擔(dān)心文檔寫(xiě)得太細(xì)或涉及軟件算法會(huì)泄露單位的核心技術(shù);二是受時(shí)間、進(jìn)度的限制,軟件文檔跟不上軟件更新的速度,只能先更改軟件文檔在升級(jí)文檔,因此常出現(xiàn)文文不一致、文實(shí)不相符的情況[1] 。
3.2鑒定測(cè)評(píng)過(guò)程分析
時(shí)間因素與節(jié)奏:鑒定測(cè)試是軟件系統(tǒng)交付之前的重要質(zhì)量保障環(huán)境之一,軟件測(cè)評(píng)質(zhì)量和進(jìn)度受到研制進(jìn)度的影響。理論上進(jìn)入設(shè)計(jì)鑒定階段的一個(gè)重要標(biāo)志是軟件技術(shù)狀態(tài)固化,由于指揮自動(dòng)化信息系統(tǒng)使用需求驅(qū)動(dòng)和“不交鑰匙”的特點(diǎn),技術(shù)狀態(tài)固化幾乎不可能。根據(jù)用戶需求軟件的功能、界面和操作流程處于一個(gè)始終變化的狀態(tài),軟件的更改會(huì)包含測(cè)試中發(fā)現(xiàn)問(wèn)題和用戶使用的要求,這就給鑒定測(cè)評(píng)工作帶來(lái)了巨大的挑戰(zhàn)和制約。
測(cè)試策略方面:由于指揮自動(dòng)化系統(tǒng)往往由多個(gè)配置項(xiàng)組成,在有限的測(cè)試時(shí)間內(nèi)如何突出重點(diǎn)提高測(cè)試質(zhì)量是很重要的測(cè)試策略問(wèn)題,如果按照對(duì)裝備軟件的測(cè)試策略,過(guò)分強(qiáng)調(diào)配置項(xiàng)測(cè)試的測(cè)試級(jí)別問(wèn)題,會(huì)忽略本類系統(tǒng)的結(jié)構(gòu)特點(diǎn)。針對(duì)系統(tǒng)中多數(shù)軟件配置項(xiàng)不能單獨(dú)運(yùn)行實(shí)現(xiàn)系統(tǒng)功能的情況,對(duì)配置項(xiàng)之間組合能力的驗(yàn)證不充分,容易造成“只見(jiàn)樹(shù)木不見(jiàn)森林”的問(wèn)題。
測(cè)試環(huán)境方面:測(cè)試環(huán)境多是以系統(tǒng)集成聯(lián)試為目的開(kāi)發(fā)的,難以支持軟件的有些接口測(cè)試、甚至部分軟件的功能測(cè)試,相應(yīng)的測(cè)試用例只能通過(guò)代碼審查加以驗(yàn)證。此外,指揮自動(dòng)化信息系統(tǒng)測(cè)試環(huán)境難于與實(shí)裝環(huán)境完全一致,測(cè)評(píng)單位甚至研制單位都不能準(zhǔn)確獲得網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、電磁干擾情況等信息,受資金限制,研制單位也很難提供與實(shí)裝一致的高配置服務(wù)器等設(shè)備,只能按研制方和測(cè)試方現(xiàn)有條件和理解在盡可能最相似環(huán)境中進(jìn)行測(cè)試。
文檔質(zhì)量和人員配合方面:由于研制單位軟件需求過(guò)于粗放,對(duì)軟件測(cè)試的充分性依賴于軟件測(cè)試人員的溝通能力、系統(tǒng)理解能力和對(duì)背景的了解程度,同時(shí)依賴測(cè)試人員的責(zé)任心。
4過(guò)程改進(jìn)建議
通過(guò)指揮自動(dòng)化信息系統(tǒng)的鑒定測(cè)評(píng)工作,本文主要從測(cè)評(píng)的角度和對(duì)研制過(guò)程改進(jìn)的引導(dǎo)方面提出以下建議。
4.1多層次、多途徑控制軟件的質(zhì)量
(1)引導(dǎo)研制單位加強(qiáng)內(nèi)部測(cè)試,加大內(nèi)部測(cè)試的檢查/ 評(píng)審力度,內(nèi)部測(cè)試以軟件單元和配置項(xiàng)測(cè)試為重點(diǎn),測(cè)試功能、接口、邊界乃至性能等方面的正確性,盡可能暴露軟件問(wèn)題,這部分工作在后期系統(tǒng)集成后不易暴露,帶來(lái)的影響和更改風(fēng)險(xiǎn)很大;提交評(píng)測(cè)時(shí),應(yīng)出具內(nèi)部測(cè)試報(bào)告。
(2)建議主管機(jī)關(guān)適當(dāng)調(diào)整鑒定測(cè)評(píng)與用戶試驗(yàn)試用嚴(yán)格分開(kāi)的程序,采用鑒定測(cè)評(píng)與用戶試驗(yàn)試用迭代前進(jìn)的工作方式。由于“軟件裝備”人機(jī)交互量大、使用需求驅(qū)動(dòng)軟件需求、在用戶的使用中系統(tǒng)不斷成熟,而軟件鑒定測(cè)評(píng)解決軟件與研制總要求的符合性問(wèn)題,用戶試用可解決“軟件裝備”可用性、易用性問(wèn)題,因此建議在軟件鑒定測(cè)評(píng)后研制單位解決主要問(wèn)題,即可提交用戶試驗(yàn)試用,在用戶提出更改意見(jiàn)后,更改程序并進(jìn)行回歸測(cè)試,如此幾輪,可將問(wèn)題逐步收斂,最終滿足鑒定測(cè)評(píng)的要求,基本達(dá)到滿足用戶使用要求的目標(biāo)[2] 。
4.2加強(qiáng)實(shí)驗(yàn)驗(yàn)證平臺(tái)和測(cè)試環(huán)境建設(shè)
對(duì)于“軟件裝備”,研制方在立項(xiàng)研制之初就應(yīng)該充分考慮試驗(yàn)驗(yàn)證平臺(tái)和測(cè)試環(huán)境的搭建,將之作為研制工作的一部分,并應(yīng)該充分考慮經(jīng)費(fèi)投入。系統(tǒng)級(jí)測(cè)評(píng)環(huán)境構(gòu)建應(yīng)借助一定的實(shí)物設(shè)備,構(gòu)建的半實(shí)物的系統(tǒng)級(jí)測(cè)試環(huán)境,對(duì)于指揮信息化裝備,也可構(gòu)建全數(shù)字的系統(tǒng)級(jí)測(cè)試環(huán)境。構(gòu)建的環(huán)境應(yīng)苛刻或等效于實(shí)際使用環(huán)境,能夠支持系統(tǒng)邊界外異常數(shù)據(jù)的輸入能力,能夠模擬軟件運(yùn)行極限狀態(tài)的外部環(huán)境條件,支撐全過(guò)程的軟件配置項(xiàng)之間交互數(shù)據(jù)的采集和重演。如圖1 所示,對(duì)于被測(cè)系統(tǒng)而言,構(gòu)建系統(tǒng)測(cè)試的關(guān)鍵是外圍環(huán)境的模擬,如果外圍環(huán)境能以軟件模擬的方式實(shí)現(xiàn)的,盡量以運(yùn)行軟件的方式實(shí)現(xiàn);對(duì)于外圍實(shí)物難以直接模擬的,可以增加一層實(shí)物設(shè)備[3]。
4.3重視系統(tǒng)級(jí)測(cè)試,加大系統(tǒng)級(jí)測(cè)試和功能組合測(cè)試力度
鑒定測(cè)評(píng)工作應(yīng)重點(diǎn)進(jìn)行系統(tǒng)級(jí)測(cè)試,嚴(yán)格驗(yàn)證“軟件裝備”對(duì)研制總要求的任務(wù)使命和任務(wù)功能等使用要求的滿足程度。其中,系統(tǒng)級(jí)測(cè)試是指將子系統(tǒng)、分系統(tǒng)乃至系統(tǒng)均作為獨(dú)立運(yùn)行保障用戶使用的系統(tǒng)進(jìn)行完整、全面的測(cè)試。經(jīng)歷了軟件內(nèi)部測(cè)試(單元測(cè)試、部件測(cè)試、配置項(xiàng)測(cè)試、系統(tǒng)聯(lián)試)、第三方評(píng)測(cè),系統(tǒng)裝備是否還需要開(kāi)展系統(tǒng)級(jí)測(cè)試? 答案是肯定的,因?yàn)檫@些測(cè)試都不能替代系統(tǒng)級(jí)測(cè)試工作。據(jù)不完全統(tǒng)計(jì),軟件質(zhì)量問(wèn)題中系統(tǒng)級(jí)問(wèn)題占20%以上。事實(shí)上,一方面,系統(tǒng)級(jí)測(cè)試是對(duì)配置項(xiàng)測(cè)試的補(bǔ)充,可以發(fā)現(xiàn)配置項(xiàng)測(cè)試中遺漏的問(wèn)題,另一方面,系統(tǒng)級(jí)測(cè)試可以發(fā)現(xiàn)配置項(xiàng)之間工作不協(xié)調(diào)的問(wèn)題,是軟件測(cè)試中不可或缺的一部分。
4.4注重測(cè)試策略的實(shí)效性
由于“軟件裝備”規(guī)模巨大,進(jìn)行全面的代碼審查不太現(xiàn)實(shí),即使進(jìn)行10%的代碼審查也要審查幾萬(wàn)行或十幾萬(wàn)行(不包括被審查范圍相關(guān)的程序量),審查規(guī)模過(guò)于龐大,帶來(lái)的開(kāi)銷和時(shí)間周期對(duì)于鑒定工作均可能難以承受,因此建議不以代碼審查比例評(píng)價(jià)測(cè)試,關(guān)注代碼審查范圍的選擇原則和理由是否合理、充分。
“軟件裝備”需求復(fù)雜,制約功能的進(jìn)入和狀態(tài)轉(zhuǎn)移的因素很多,有些和具體設(shè)備情況、用戶使用習(xí)慣等有關(guān),需要通過(guò)數(shù)據(jù)庫(kù)或配置文件加以約束;軟件運(yùn)行流程復(fù)雜,有些功能軟件運(yùn)行路徑長(zhǎng),多個(gè)子系統(tǒng)或配置項(xiàng)配合才能完成一個(gè)測(cè)試用例,對(duì)整個(gè)系統(tǒng)來(lái)講可用較少的測(cè)試用例對(duì)軟件做較充分的驗(yàn)證,有些功能軟件運(yùn)行路徑短則需要大量的測(cè)試用例來(lái)覆蓋,因此每百行測(cè)試用例的個(gè)數(shù)不是衡量測(cè)試的唯一標(biāo)準(zhǔn),應(yīng)具體情況具體分析。
4.5重視用戶需求,加強(qiáng)需求管理
用戶需求驅(qū)動(dòng)的模式?jīng)Q定了“軟件裝備”需求變化大的特點(diǎn),建議加強(qiáng)需求評(píng)審和需求變更控制,尤其是在設(shè)計(jì)定型過(guò)程中嚴(yán)格控制需求變更,對(duì)需求改動(dòng)量、變化內(nèi)容進(jìn)行分析;測(cè)試需求應(yīng)根據(jù)軟件需求的變更及時(shí)更新,分析需求變更對(duì)已有需求的影響,及時(shí)調(diào)整測(cè)試內(nèi)容;加強(qiáng)需求評(píng)審,一項(xiàng)需求改動(dòng)應(yīng)將與該需求相關(guān)的總體人員、軟件設(shè)計(jì)師、測(cè)試人員聚到一起,對(duì)需求進(jìn)行評(píng)審并提交詳盡的軟件更改單,詳細(xì)描述更改原因、更改內(nèi)容及影響域分析、驗(yàn)證措施。
4.6嚴(yán)格控制重用/ 外購(gòu)軟件質(zhì)量
針對(duì)“軟件裝備”構(gòu)成系統(tǒng)的成分較復(fù)雜的特點(diǎn),建議研制單位在系統(tǒng)研制伊始應(yīng)確保共用軟件配置項(xiàng)的質(zhì)量,選擇已通過(guò)鑒定測(cè)評(píng)的成熟軟件,或安排專門(mén)的鑒定測(cè)評(píng),共用軟件的質(zhì)量風(fēng)險(xiǎn)應(yīng)在鑒定測(cè)評(píng)開(kāi)展之前排除,鑒定測(cè)評(píng)開(kāi)展時(shí)研制主管部門(mén)和定辦協(xié)商明確鑒定測(cè)評(píng)的范圍,規(guī)定非測(cè)評(píng)范圍的軟件的使用原則和發(fā)現(xiàn)問(wèn)題的處理方法和通報(bào)途徑;對(duì)于多個(gè)系統(tǒng)或子系統(tǒng)共用的構(gòu)件/ 軟件,應(yīng)嚴(yán)格配置管理和配管檢查機(jī)制,避免造成型號(hào)內(nèi)版本不一致的情況。在嚴(yán)格配置管理的前提下,可在某個(gè)子系統(tǒng)中對(duì)共用的構(gòu)件/ 軟件進(jìn)行全面測(cè)試,其他子系統(tǒng)直接采信結(jié)果[4] 。
5結(jié)束語(yǔ)
軟件測(cè)試在保障軟件質(zhì)量方面起發(fā)揮著重要作用,通過(guò)軟件測(cè)試發(fā)現(xiàn)并彌補(bǔ)的軟件缺陷非常多。在鑒定評(píng)測(cè)中若能從管理要求、測(cè)試技術(shù)、測(cè)試流程、測(cè)試策略等方面進(jìn)行不斷改進(jìn)與完善,必能更好保證鑒定測(cè)評(píng)的質(zhì)量,從而為指揮自動(dòng)化軟件質(zhì)量提供更大保障。