劉軍
(中國(guó)航天科工集團(tuán)第二研究院七〇六所 北京市 100854)
隨著指揮自動(dòng)化系統(tǒng)使用環(huán)境復(fù)雜性日益提升,新的需求迫使大量系統(tǒng)需要在已定型狀態(tài)做硬件、軟件的技術(shù)改進(jìn),提升戰(zhàn)斗力。改進(jìn)系統(tǒng)的硬件需要通過(guò)可靠性試驗(yàn)、物理試驗(yàn)等檢驗(yàn)裝備的相關(guān)性能指標(biāo),軟件則需要通過(guò)軟件測(cè)試、系統(tǒng)聯(lián)試保證軟件實(shí)現(xiàn)的正確性、性能指標(biāo)的達(dá)標(biāo)情況。驗(yàn)證過(guò)程中,這些軟件如果做全面測(cè)試,在資源和進(jìn)度要求上很難保證,因此大多采用回歸測(cè)試,這就和評(píng)測(cè)組織技術(shù)能力、測(cè)試人員的責(zé)任性存在很大關(guān)聯(lián),過(guò)程和質(zhì)量很難控制,往往測(cè)試結(jié)果與使用部門(mén)、系統(tǒng)總體部門(mén)所關(guān)心的內(nèi)容存在一定偏差。因此,針對(duì)這些改進(jìn)類(lèi)軟件如何啟動(dòng)測(cè)試、測(cè)試內(nèi)容是什么、采用的測(cè)試環(huán)境是否合理以及對(duì)針對(duì)已定型技術(shù)狀態(tài)的更改影響域所展開(kāi)的分析等等都是需要研究和探討的,用完善的操作規(guī)程、技術(shù)指導(dǎo)標(biāo)準(zhǔn)作為要求,能夠有效的保證軟件測(cè)試驗(yàn)證的質(zhì)量,約束測(cè)試實(shí)施過(guò)程,提升測(cè)試充分性。本文檔主要針對(duì)改進(jìn)類(lèi)軟件特點(diǎn)、針對(duì)改進(jìn)類(lèi)軟件問(wèn)題和原因進(jìn)行分析并提出提高該類(lèi)軟件質(zhì)量的方法與措施。
大型指揮自動(dòng)化信息系統(tǒng)軟件大多屬于列為主要裝備研制項(xiàng)目和一般裝備研制項(xià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ì)用戶(hù)不可見(jiàn),應(yīng)用層配置項(xiàng)的功能需要經(jīng)由支持層、傳輸層的功能協(xié)助完成;而從用戶(hù)使用角度來(lái)看,使用功能是由多個(gè)軟件配置項(xiàng)/構(gòu)件組合共同完成的,單一配置項(xiàng)/構(gòu)件不能實(shí)現(xiàn)用戶(hù)的使用功能,配置項(xiàng)和系統(tǒng)需求的界限不易清晰的區(qū)分,分系統(tǒng)和子系統(tǒng)均是獨(dú)立運(yùn)行和保障用戶(hù)使用的一個(gè)完整系統(tǒng)。
(4)人機(jī)交互多,系統(tǒng)的可用性、易用性必須符合用戶(hù)的使用習(xí)慣和任務(wù)需要,受人員影響很大,是使用需求驅(qū)動(dòng)的軟件系統(tǒng)。
(5)軟件多技術(shù)狀態(tài),指揮自動(dòng)化信息系統(tǒng)需要滿(mǎn)足試驗(yàn)、演習(xí)、應(yīng)急任務(wù)等多種任務(wù)的需要,指揮自動(dòng)化信息系統(tǒng)軟件隨體系組成、任務(wù)需求、互聯(lián)對(duì)象狀態(tài)的不同需要同時(shí)具備多個(gè)技術(shù)狀態(tài)。
(6)研發(fā)過(guò)程軟件逐步完善齊套,指揮自動(dòng)化信息系統(tǒng)的功能和模型算法需要在試驗(yàn)和仿真驗(yàn)證中不斷完善。系統(tǒng)研制的每一階段,指揮自動(dòng)化信息系統(tǒng)應(yīng)具備參與試驗(yàn)和仿真的基本功能,隨著驗(yàn)證結(jié)果逐步迭代升級(jí)。
(7)交互關(guān)系變化頻繁、互操作性驗(yàn)證難度大。
指揮自動(dòng)化信息系統(tǒng)對(duì)外互聯(lián)對(duì)象多,許多交互對(duì)象處于研制狀態(tài),通信協(xié)議和邏輯需要隨交互對(duì)象的研制過(guò)程進(jìn)行修改。因此,目前裝備軟件所有軟件齊套、技術(shù)狀態(tài)固化后開(kāi)展軟件定型測(cè)試的模式,不適用于指揮自動(dòng)化信息系統(tǒng)軟件的管理。因?yàn)檐浖诔掷m(xù)迭代、缺乏一個(gè)像裝備軟件那樣穩(wěn)定的狀態(tài);指揮自動(dòng)化信息系統(tǒng)的配置項(xiàng)對(duì)于互聯(lián)互通互操作的驗(yàn)證有較高的要求,需要制定新的測(cè)試策略。
目前,國(guó)內(nèi)裝備軟件大量存在改進(jìn)情況,改進(jìn)后軟件開(kāi)展鑒定測(cè)評(píng),測(cè)評(píng)單位所依據(jù)的還是實(shí)施軟件測(cè)評(píng)的各類(lèi)國(guó)軍標(biāo)和內(nèi)部體系文件,針對(duì)改進(jìn)類(lèi)軟件沒(méi)有針對(duì)性的標(biāo)準(zhǔn),導(dǎo)致部分軟件存在測(cè)試不充分的情況。針對(duì)現(xiàn)行有效的標(biāo)準(zhǔn),課題組進(jìn)行了調(diào)研,范圍涉及國(guó)家標(biāo)準(zhǔn)、軍用標(biāo)準(zhǔn)、行業(yè)標(biāo)準(zhǔn)共四類(lèi)。調(diào)研內(nèi)容包括:
(1)收集現(xiàn)行有效的國(guó)標(biāo)、國(guó)軍標(biāo)和行業(yè)標(biāo)準(zhǔn)中對(duì)軟件測(cè)試過(guò)程、軟件維護(hù)的相關(guān)內(nèi)容,分析和了解現(xiàn)有標(biāo)準(zhǔn)中的要求;
(2)收集軟件研制過(guò)程的現(xiàn)狀,分析整理軟件的專(zhuān)業(yè)特點(diǎn)、種類(lèi)等;
(3)分析軟件測(cè)試類(lèi)標(biāo)準(zhǔn)規(guī)范,針對(duì)軟件更改導(dǎo)致的軟件測(cè)試內(nèi)容,分析標(biāo)準(zhǔn)中是否給出了具體的指導(dǎo)要求,明確需要細(xì)化和補(bǔ)充的內(nèi)容。
通過(guò)調(diào)研結(jié)果,發(fā)現(xiàn)這些標(biāo)準(zhǔn)中,對(duì)軟件測(cè)試給出了定義并提出了要求,但對(duì)于如何實(shí)施改進(jìn)類(lèi)軟件測(cè)試缺少定義和指導(dǎo),面對(duì)航天裝備發(fā)展和改進(jìn)的長(zhǎng)遠(yuǎn)需求,該類(lèi)軟件會(huì)越來(lái)越多,控制該類(lèi)軟件測(cè)試質(zhì)量、規(guī)范測(cè)試過(guò)程是必須開(kāi)展的工作。針對(duì)改進(jìn)類(lèi)軟件沒(méi)有針對(duì)性的標(biāo)準(zhǔn),這也是目前系統(tǒng)裝備軟件改進(jìn)后開(kāi)展鑒定測(cè)評(píng)所需要迫切解決的問(wèn)題。
研究主要裝備軟件研制特點(diǎn),總結(jié)相關(guān)測(cè)試數(shù)據(jù),整理軟件缺陷與失效等數(shù)據(jù),在對(duì)指揮自動(dòng)化信息系統(tǒng)測(cè)試發(fā)現(xiàn)的問(wèn)題分析中,發(fā)現(xiàn)問(wèn)題有以下幾種:
(1)軟件設(shè)計(jì)問(wèn)題;
(2)軟件功能實(shí)現(xiàn)不完全或?qū)崿F(xiàn)錯(cuò)誤;
(3)編程語(yǔ)言問(wèn)題;
(4)文檔問(wèn)題;
(5)版本管理問(wèn)題;
對(duì)軟件問(wèn)題進(jìn)行分析,發(fā)現(xiàn)問(wèn)題產(chǎn)生原因有以下幾種情況:
(1)軟件設(shè)計(jì)問(wèn)題:總體人員對(duì)工作流程認(rèn)識(shí)不足,導(dǎo)致模型設(shè)計(jì)有缺陷。
(2)軟件功能實(shí)現(xiàn)不完全或?qū)崿F(xiàn)錯(cuò)誤:1.更改模型時(shí),總體人員對(duì)影響域分析不到位,本次修改未所有受影響的軟件配置項(xiàng)進(jìn)行分析,導(dǎo)致相關(guān)軟件修改不到位,系統(tǒng)功能無(wú)法實(shí)現(xiàn)設(shè)計(jì)要求;2.模型描述有歧義,設(shè)計(jì)師對(duì)模型的理解與總體人員不一致,導(dǎo)致軟件實(shí)現(xiàn)與設(shè)計(jì)要求不一致;3.設(shè)計(jì)師對(duì)負(fù)責(zé)的軟件配置項(xiàng)影響域分析不全面,未對(duì)所有受影響的功能進(jìn)行相應(yīng)修改,功能實(shí)現(xiàn)不完全;或?qū)π略龉δ軐?duì)原有功能影響分析不充分,導(dǎo)致新增與原有功能存在沖突;4.設(shè)計(jì)師修改過(guò)程中本身引入的程序問(wèn)題:包括功能與設(shè)計(jì)不一致、功能實(shí)現(xiàn)不正確、編程語(yǔ)言問(wèn)題等。
(3)編程語(yǔ)言問(wèn)題:設(shè)計(jì)師修改過(guò)程中本身引入的程序問(wèn)題,如編程語(yǔ)言問(wèn)題等。
(4)文檔問(wèn)題:設(shè)計(jì)師文檔描述錯(cuò)誤,導(dǎo)致文實(shí)不一致,如文檔描述了多余功能(程序沒(méi)有實(shí)現(xiàn)),程序更新后未對(duì)文檔進(jìn)行更新,程序有更改但文檔未描述。
(5)針對(duì)此類(lèi)軟件系統(tǒng),主管機(jī)關(guān)一直強(qiáng)調(diào)其為“永遠(yuǎn)不交鑰匙的系統(tǒng)”,顧名思義,該系統(tǒng)無(wú)論是定型過(guò)程中,還是定型交付之后,需要研制單位永遠(yuǎn)無(wú)條件的給與技術(shù)支持和維護(hù)。這種觀念本身是正確的,軟件裝備研制的目的是為了讓用戶(hù)用好裝備,滿(mǎn)足其使用需求是軟件裝備的最終目標(biāo)。但是有些研制單位卻因此產(chǎn)生了誤解,認(rèn)為軟件即使交到用戶(hù)也可以隨時(shí)更改,不用控制版本,導(dǎo)致研制過(guò)程不規(guī)范,同時(shí)也給測(cè)評(píng)過(guò)程帶來(lái)了巨大的困難。
(6)內(nèi)部測(cè)試情況參差不齊:研制階段過(guò)程中對(duì)軟件的內(nèi)部測(cè)試不充分,有時(shí)僅在研制開(kāi)始階段進(jìn)行了測(cè)試,且測(cè)試僅做到大功能的覆蓋,后續(xù)軟件更改后未進(jìn)行測(cè)試,許多問(wèn)題留到了后續(xù)階段。
(7)軟件的文檔質(zhì)量一般不高,往往軟件功能和設(shè)計(jì)等技術(shù)內(nèi)容高度概括,軟件更改單描述簡(jiǎn)單。一個(gè)原因是出于對(duì)本單位軟件知識(shí)產(chǎn)權(quán)的保護(hù),擔(dān)心文檔寫(xiě)得太細(xì)或涉及軟件算法會(huì)泄露單位的核心技術(shù),另一個(gè)原因是受時(shí)間、進(jìn)度限制軟件文檔跟不上軟件更新的速度,只能先更改軟件文檔在升級(jí)文檔,因此常出現(xiàn)文文不一致、文實(shí)不相符的情況。文檔編制人員也會(huì)產(chǎn)生文檔寫(xiě)得越粗放、越不用隨著軟件的修改而更新的想法。
(8)軟件重用:由于此類(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)此類(lèi)問(wèn)題但又難于更改;二是重用或購(gòu)買(mǎi)的軟件/構(gòu)件有缺陷無(wú)人維護(hù);三是此類(lèi)軟件/構(gòu)件的問(wèn)題在某個(gè)分系統(tǒng)中暴露和更改后,沒(méi)有同步更改到其他分系統(tǒng)中。
看到以上問(wèn)題產(chǎn)生的原因,不難發(fā)現(xiàn)如果在軟件研制過(guò)程中采取一些措施,上述(1)-(5)問(wèn)題在一定程度上是可以避免的。對(duì)此在軟件研制過(guò)程中,建議從采取幾個(gè)方面提高軟件質(zhì)量:
引導(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)帶來(lái)的影響和更改風(fēng)險(xiǎn)很大;同時(shí)提交評(píng)測(cè)時(shí),應(yīng)出具內(nèi)部測(cè)試的測(cè)試報(bào)告。
用戶(hù)需求驅(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)審并提交詳盡的軟件更改單,將更改原因、更改內(nèi)容及影響域分析、驗(yàn)證措施詳細(xì)描述。
軟件更改應(yīng)對(duì)更改影響域進(jìn)行分析,當(dāng)軟件更改量大到無(wú)法進(jìn)行影響域分析時(shí),研制單位應(yīng)重新對(duì)軟件文檔進(jìn)行重新編寫(xiě);否則,應(yīng)要求總體人員和相關(guān)軟件設(shè)計(jì)師進(jìn)行影響域分析,并影響域分析報(bào)告進(jìn)行規(guī)范確保影響域分析盡量詳盡。
(1)總體人員下發(fā)更改需求時(shí),應(yīng)對(duì)需求更改的影響域進(jìn)行分析,需求更改原因和更改前后需求應(yīng)說(shuō)明,分析更改的需求影響系統(tǒng)那些功能,涉及到哪些軟件配置項(xiàng);對(duì)需各軟件配置項(xiàng)聯(lián)合實(shí)現(xiàn)的功能進(jìn)行分解說(shuō)明,說(shuō)明各軟件配置項(xiàng)需要完成的功能點(diǎn)或要素,召集各軟件設(shè)計(jì)師對(duì)功能或協(xié)議進(jìn)行說(shuō)明,確保各軟件設(shè)計(jì)師對(duì)系統(tǒng)功能理解一致。
(2)軟件設(shè)計(jì)師應(yīng)對(duì)分解到本軟件的需求進(jìn)行影響域分析,更改需求影響軟件哪些功能,更改前后功能應(yīng)說(shuō)明,必要時(shí)需對(duì)更改功能影響哪部分代碼進(jìn)行說(shuō)明。
(3)測(cè)試人員對(duì)更改需求以及總體和設(shè)計(jì)師的影響域說(shuō)明進(jìn)行分析,分析列出測(cè)試需求,對(duì)更改前后代碼進(jìn)行比對(duì),確認(rèn)所有更改代碼是否有依據(jù),所有更改需求是否有代碼進(jìn)行支撐,對(duì)沒(méi)有依據(jù)的代碼和多余需求反饋給設(shè)計(jì)師,設(shè)計(jì)師應(yīng)對(duì)這種情況進(jìn)行說(shuō)明并補(bǔ)充相關(guān)材料。
(4)測(cè)試人員應(yīng)加強(qiáng)使用需求場(chǎng)景的驗(yàn)證,測(cè)試人員應(yīng)對(duì)系統(tǒng)使用場(chǎng)景進(jìn)行分析并驗(yàn)證。
(5)加強(qiáng)系統(tǒng)級(jí)測(cè)試,測(cè)試人員依據(jù)更改需求以及影響域分析,設(shè)定系統(tǒng)任務(wù)剖面或使用場(chǎng)景對(duì)系統(tǒng)進(jìn)行系統(tǒng)級(jí)測(cè)試。
針對(duì)指揮自動(dòng)化信息系統(tǒng)改進(jìn)類(lèi)軟件特點(diǎn),總結(jié)相關(guān)測(cè)試數(shù)據(jù),整理軟件缺陷與失效等數(shù)據(jù),發(fā)現(xiàn)需要明確:
(1)改進(jìn)類(lèi)軟件開(kāi)展測(cè)評(píng)的測(cè)評(píng)依據(jù)、測(cè)試過(guò)程;
(2)進(jìn)行軟件修改影響域分析,需要提供影響域分析與描述方法。
下面分別對(duì)實(shí)施措施進(jìn)行具體描述。
6.1.1 測(cè)試依據(jù)
針對(duì)改進(jìn)類(lèi)軟件開(kāi)展測(cè)試的依據(jù)可以包括:
(1)研制總體單位提交的系統(tǒng)更改方案;
(2)研制方提交的軟件更改說(shuō)明;
(3)研制方提交的軟件問(wèn)題單、軟件更改單、軟件驗(yàn)證單;
(4)研制方提交的針對(duì)軟件更改所編制的影響域分析報(bào)告。
6.1.2 測(cè)試目的
改進(jìn)類(lèi)軟件開(kāi)展測(cè)試的目的包括:
(1)考核軟件更改是否滿(mǎn)足系統(tǒng)更改方案或等效文件所規(guī)定的技術(shù)要求;
(2)考核軟件更改是否對(duì)整個(gè)軟件或所處系統(tǒng)完成技術(shù)指標(biāo)造成影響;
(3)為軟件系統(tǒng)產(chǎn)品質(zhì)量的評(píng)價(jià)提供依據(jù)。
6.1.3 進(jìn)入條件
改進(jìn)類(lèi)軟件進(jìn)入測(cè)評(píng)的前提條件,依據(jù)具體項(xiàng)目建議包括以下內(nèi)容:
(1)運(yùn)行方案說(shuō)明、軟件修改設(shè)計(jì)說(shuō)明、更改三單、影響域分析報(bào)告等技術(shù)文檔符合相關(guān)標(biāo)準(zhǔn)要求,具有唯一標(biāo)識(shí),通過(guò)評(píng)審并納入配置管理。
(2)具備末次測(cè)試的總結(jié)報(bào)告,如:鑒定測(cè)評(píng)報(bào)告、上一輪次測(cè)評(píng)報(bào)告。
6.1.4 測(cè)試方法
改進(jìn)類(lèi)軟件測(cè)試方法與第三方測(cè)試方法一致,包括:靜態(tài)測(cè)試、動(dòng)態(tài)測(cè)試,需要針對(duì)軟件改進(jìn)內(nèi)容實(shí)施影響域分析,影響域分析方法包括:控制流分析、數(shù)據(jù)流分析。
測(cè)試方法對(duì)應(yīng)的測(cè)試類(lèi)型包括:
(1)靜態(tài)測(cè)試類(lèi)型一般包括:代碼審查、靜態(tài)分析、編程準(zhǔn)則檢查;
(2)動(dòng)態(tài)測(cè)試類(lèi)型一般包括:功能測(cè)試、性能測(cè)試、接口測(cè)試、強(qiáng)度測(cè)試、余量測(cè)試、人機(jī)交互界面測(cè)試、安全性測(cè)試、恢復(fù)性測(cè)試、邊界測(cè)試、數(shù)據(jù)處理測(cè)試、安裝性測(cè)試、容量測(cè)試、互操作性測(cè)試、敏感性測(cè)試、標(biāo)準(zhǔn)符合性測(cè)試。
6.1.5 測(cè)評(píng)過(guò)程及人員職責(zé)
測(cè)評(píng)過(guò)程包括的活動(dòng)分為基本活動(dòng)和項(xiàng)目管理相關(guān)活動(dòng)兩大類(lèi),基本活動(dòng)包括:測(cè)試策劃、測(cè)試設(shè)計(jì)和實(shí)現(xiàn)、測(cè)試執(zhí)行和測(cè)試總結(jié)等,在測(cè)試策劃中開(kāi)展影響域分析活動(dòng)確定測(cè)評(píng)范圍;項(xiàng)目管理相關(guān)活動(dòng)包括:需求管理、策劃管理、跟蹤與控制、質(zhì)量保證、配置管理等。
主要人員職責(zé)分工如下:
(1)系統(tǒng)或項(xiàng)目總師的職責(zé):
1.提出對(duì)測(cè)評(píng)的總體要求;
2.對(duì)評(píng)測(cè)單位提出的重要問(wèn)題及異議問(wèn)題進(jìn)行審核與處理。
(2)軟件研制單位的職責(zé):
1.落實(shí)軟件測(cè)試計(jì)劃,按要求提交被測(cè)件;
2.負(fù)責(zé)軟件版本的正確性和被測(cè)件提交的完整性;
3.總體提出需求變更的更改,總體人員需明確更改需求適用的系統(tǒng)使用場(chǎng)景,負(fù)責(zé)對(duì)系統(tǒng)級(jí)需求更改的影響域進(jìn)行分析,編制系統(tǒng)/子系統(tǒng)影響域分析報(bào)告,內(nèi)容包含:對(duì)需各軟件配置項(xiàng)聯(lián)合實(shí)現(xiàn)的功能應(yīng)進(jìn)行分解說(shuō)明,說(shuō)明各軟件配置項(xiàng)需要完成的功能點(diǎn)或要素,召集各軟件設(shè)計(jì)師對(duì)功能或協(xié)議進(jìn)行說(shuō)明,確保各軟件設(shè)計(jì)師對(duì)系統(tǒng)功能理解一致,分析軟件更改對(duì)整個(gè)系統(tǒng)運(yùn)行產(chǎn)生的戰(zhàn)技指標(biāo)影響;
4.軟件設(shè)計(jì)師負(fù)責(zé)對(duì)分解到本軟件的需求進(jìn)行影響域分析并編制軟件影響域分析報(bào)告,內(nèi)容包含:更改需求影響軟件哪些功能,更改前后功能說(shuō)明等,必要時(shí)需對(duì)更改對(duì)應(yīng)的代碼列舉說(shuō)明;
5.及時(shí)處理軟件測(cè)評(píng)過(guò)程中反饋的軟件問(wèn)題;
6.參與測(cè)評(píng)單位的測(cè)評(píng)大綱、測(cè)試說(shuō)明、測(cè)評(píng)報(bào)告的評(píng)審。
(3)測(cè)評(píng)單位的職責(zé):
1.按計(jì)劃開(kāi)展測(cè)評(píng)項(xiàng)目并出具測(cè)評(píng)報(bào)告;
2.對(duì)不符合入口接收條件的被測(cè)件,有權(quán)拒收或退回;
3.測(cè)評(píng)人員應(yīng)依據(jù)總體和軟件設(shè)計(jì)師提交的影響域分析報(bào)告對(duì)軟件更改進(jìn)行影響分析,形成測(cè)評(píng)需求,并逐項(xiàng)驗(yàn)證;
4.保護(hù)研制單位知識(shí)產(chǎn)權(quán),不經(jīng)過(guò)研制單位同意,不得對(duì)外泄露、借閱被測(cè)件內(nèi)容。
6.1.6 環(huán)境要求
測(cè)評(píng)環(huán)境需要滿(mǎn)足改進(jìn)內(nèi)容的驗(yàn)證需求,可以使用實(shí)際裝備或?qū)嶒?yàn)室測(cè)評(píng)環(huán)境,性能指標(biāo)驗(yàn)證一般應(yīng)使用實(shí)裝環(huán)境。開(kāi)展測(cè)評(píng)前,應(yīng)確認(rèn)測(cè)評(píng)環(huán)境的有效性及完備性。
6.1.7 問(wèn)題處理
測(cè)評(píng)過(guò)程中問(wèn)題處理建議的要求如下:
(1)測(cè)評(píng)單位需要審查末次測(cè)評(píng)總結(jié)報(bào)告中的不修改問(wèn)題,本次測(cè)評(píng)處理意見(jiàn)依然是不修改的應(yīng)結(jié)合改進(jìn)內(nèi)容確認(rèn)是否會(huì)產(chǎn)生不良影響;
(2)測(cè)評(píng)單位需要以軟件問(wèn)題報(bào)告單的形式向研制單位提交測(cè)評(píng)中發(fā)現(xiàn)的問(wèn)題;
(3)研制單位需要針對(duì)軟件問(wèn)題報(bào)告單的問(wèn)題描述對(duì)問(wèn)題進(jìn)行確認(rèn)和定位,組織設(shè)計(jì)人員修改軟件;
(4)針對(duì)測(cè)評(píng)中發(fā)現(xiàn)的軟件問(wèn)題,如果定位為陪試軟件缺陷,需要由系統(tǒng)總體單位提交至陪試軟件研制單位進(jìn)行修改;
(5)測(cè)評(píng)過(guò)程中產(chǎn)生的不修改問(wèn)題,系統(tǒng)總體單位需要組織確認(rèn),關(guān)鍵、重要級(jí)軟件缺陷應(yīng)具備軟件問(wèn)題不修改分析報(bào)告。
6.1.8 階段評(píng)審
階段評(píng)審一般建議包括測(cè)評(píng)方案評(píng)審、測(cè)試設(shè)計(jì)評(píng)審和測(cè)評(píng)總結(jié)評(píng)審,評(píng)審要求如下:
(1)測(cè)評(píng)方案評(píng)審:在測(cè)試策劃階段完成測(cè)評(píng)大綱或測(cè)試計(jì)劃、測(cè)試需求規(guī)格說(shuō)明的編制,并組織測(cè)評(píng)方案評(píng)審,評(píng)審組成員可包括:委托方、論證單位、系統(tǒng)總體單位、同行專(zhuān)家、軟件研制單位的代表,評(píng)審組長(zhǎng)可由系統(tǒng)總體單位設(shè)計(jì)師擔(dān)任;
(2)測(cè)試設(shè)計(jì)評(píng)審:在測(cè)試設(shè)計(jì)階段完成測(cè)試說(shuō)明的編制,并組織測(cè)試設(shè)計(jì)評(píng)審,評(píng)審組成員可包括:系統(tǒng)總體單位、各相關(guān)軟件研制單位的代表,評(píng)審組長(zhǎng)可由系統(tǒng)總體單位設(shè)計(jì)師擔(dān)任;
(3)測(cè)評(píng)總結(jié)評(píng)審:在測(cè)評(píng)總結(jié)階段完成測(cè)評(píng)報(bào)告的編制,并組織測(cè)評(píng)總結(jié)評(píng)審,評(píng)審組成員可包括:委托方、論證單位、系統(tǒng)總體單位、同行專(zhuān)家、軟件研制單位的代表,評(píng)審組長(zhǎng)一般由項(xiàng)目總師/副總師擔(dān)任。
6.2.1 分析要求影響域分析要求如下:
(1)系統(tǒng)總體針對(duì)改進(jìn)類(lèi)更改需求應(yīng)依據(jù)研制總要求、運(yùn)行方案說(shuō)明或等效文件開(kāi)展影響域分析形成系統(tǒng)/子系統(tǒng)影響域分析報(bào)告;
(2)糾錯(cuò)類(lèi)更改應(yīng)依據(jù)軟件修改設(shè)計(jì)說(shuō)明、軟件問(wèn)題單或等效文件開(kāi)展影響域分析形成軟件影響域分析報(bào)告;
(3)測(cè)評(píng)單位應(yīng)依據(jù)研制總要求、軟件修改說(shuō)明、軟件問(wèn)題單、軟件更改單或等效文件以及影響域分析報(bào)告開(kāi)展分析,形成測(cè)試需求;
(4)影響域分析應(yīng)基于系統(tǒng)、系統(tǒng)內(nèi)軟件、更改所處軟件三個(gè)層次,分別分析軟件更改對(duì)戰(zhàn)技指標(biāo)的影響。
6.2.2 分析方法
軟件改進(jìn)原因分為兩類(lèi):
(1)總體需求變化,即總體單位提出改進(jìn)需求,要求各配置項(xiàng)軟件設(shè)計(jì)人員進(jìn)行相應(yīng)更改;
(2)軟件自身發(fā)現(xiàn)的問(wèn)題。
根據(jù)軟件改進(jìn)原因進(jìn)行分析,相應(yīng)影響域分析應(yīng)分為兩類(lèi):
(1)自下而上分析,即總體單位提出改進(jìn)需求后,總體設(shè)計(jì)人員和軟件設(shè)計(jì)人員應(yīng)對(duì)該改進(jìn)需求對(duì)哪些配置項(xiàng)軟件有影響進(jìn)行分析,軟件設(shè)計(jì)人員對(duì)改進(jìn)需求對(duì)本軟件的功能是否有影響進(jìn)行分析,測(cè)試人員對(duì)測(cè)試需求進(jìn)行分析;
(2)自下而上分析,即當(dāng)某個(gè)配置項(xiàng)更改后應(yīng)按控制流和數(shù)據(jù)流進(jìn)行分析,a)軟件功能更改是否對(duì)系統(tǒng)功能有影響,該功能會(huì)涉及哪些軟件,b)軟件更改是否對(duì)數(shù)據(jù)有影響,受影響的數(shù)據(jù)會(huì)輸出給那個(gè)模塊或軟件,總體人員和相關(guān)軟件設(shè)計(jì)師進(jìn)行確認(rèn),測(cè)試人員對(duì)測(cè)試需求進(jìn)行分析。
開(kāi)展改進(jìn)類(lèi)軟件測(cè)試,推薦采用的分析方法及要求如下:
(1)控制流的方法對(duì)軟件更改實(shí)施影響域分析,逐條分析軟件更改對(duì)軟件工作流程控制的影響并列出受影響的功能、性能等軟件需求,應(yīng)具體對(duì)應(yīng)到末次開(kāi)展全部測(cè)試版本的最小軟件需求;
(2)采用數(shù)據(jù)流的方法對(duì)軟件更改實(shí)施影響域分析,逐條分析軟件更改對(duì)軟件數(shù)據(jù)流的影響并列出受影響的功能、性能等軟件需求,應(yīng)具體對(duì)應(yīng)到末次開(kāi)展全部測(cè)試版本的最小軟件需求。
控制流分析示例:
如圖1所示,假設(shè)處理過(guò)程A發(fā)生了更改,則該更改可能造成的結(jié)果有幾種情況:
圖1:控制流分析舉例
(1)處理過(guò)程A的更改對(duì)于過(guò)程模塊A(圖中處理過(guò)程A所在的模塊)來(lái)說(shuō),輸入和輸出不發(fā)生變化,程序執(zhí)行時(shí)序不發(fā)生變化;
(2)處理過(guò)程A的更改造成過(guò)程模塊A的執(zhí)行時(shí)序發(fā)生變化;
(3)處理過(guò)程A的更改造成過(guò)程模塊A的輸出結(jié)構(gòu)發(fā)生變化;
(4)處理過(guò)程A的更改造成過(guò)程模塊A的執(zhí)行時(shí)序發(fā)生變化,同時(shí),處理過(guò)程A的更改造成過(guò)程模塊A的輸出結(jié)構(gòu)發(fā)生變化。
對(duì)于四種情況,影響域分析的結(jié)果見(jiàn)表1。
表1:控制流影響域分析示例
影響域分析結(jié)果應(yīng)包含:軟件更改率、軟件更改內(nèi)容、受影響的軟件需求項(xiàng)等,應(yīng)在軟件測(cè)試需求或軟件測(cè)評(píng)大綱中填寫(xiě)影響域分析結(jié)果,填寫(xiě)格式見(jiàn)表2。
表2:影響域分析結(jié)果
本文針對(duì)系統(tǒng)裝備技術(shù)能力提升又導(dǎo)致軟件更改的現(xiàn)狀展開(kāi)研究與分析,分析了改進(jìn)類(lèi)軟件的缺陷類(lèi)型及其產(chǎn)生原因、改進(jìn)類(lèi)軟件更改改原因,并明確提出了提高改進(jìn)類(lèi)軟件質(zhì)量的措施,包括明確了改進(jìn)類(lèi)軟件開(kāi)展測(cè)評(píng)的測(cè)評(píng)依據(jù)、測(cè)試過(guò)程,以及需要進(jìn)行軟件修改影響域分析,希望能夠?qū)浖y(cè)試、軟件研制以及軟件聯(lián)調(diào)提供一些幫助。后續(xù)將繼續(xù)深入研究回歸測(cè)試技術(shù),完善回歸測(cè)試流程規(guī)范,為系統(tǒng)軟件順利完成每一次實(shí)驗(yàn)努力。