楊正吉,武有光,張子鵬,李 倩
(中國核動力研究設(shè)計(jì)院 核反應(yīng)堆系統(tǒng)設(shè)計(jì)技術(shù)重點(diǎn)實(shí)驗(yàn)室,成都 610213)
核電廠安全級DCS用于實(shí)時監(jiān)測反應(yīng)堆的工藝參數(shù),當(dāng)參數(shù)超過整定閾值時,自動觸發(fā)緊急停堆信號及必要的專用安全設(shè)施,以維護(hù)安全屏障的完整性[1]。為探測故障和檢查保護(hù)系統(tǒng)可運(yùn)行性,需要對保護(hù)系統(tǒng)進(jìn)行定期試驗(yàn)。反應(yīng)堆保護(hù)系統(tǒng)定期試驗(yàn)一般分3段交疊進(jìn)行,分別為T1試驗(yàn)、T2試驗(yàn)、T3試驗(yàn)[2]。其中,T2試驗(yàn)為保護(hù)系統(tǒng)邏輯功能試驗(yàn),包括緊急停堆系統(tǒng)邏輯試驗(yàn)和專設(shè)安全設(shè)施驅(qū)動系統(tǒng)及專設(shè)支持系統(tǒng)邏輯功能試驗(yàn)。因此,有必要根據(jù)定期試驗(yàn)方案以及相關(guān)法規(guī)標(biāo)準(zhǔn)對T2定期試驗(yàn)內(nèi)容進(jìn)行分析,應(yīng)用軟件測試的方法,設(shè)計(jì)相對簡潔高效的T2試驗(yàn)測試腳本來驗(yàn)證邏輯功能的正確性,保證核電廠數(shù)字化安全級儀控系統(tǒng)的可靠性。

圖1 T2試驗(yàn)原理示意圖Fig.1 Schematic diagram of T2 test principle
工程試驗(yàn)堆數(shù)字化安全級儀控系統(tǒng)采用中國核動力研究設(shè)計(jì)院自主研發(fā)的NASPIC安全級DCS平臺。工程試驗(yàn)堆數(shù)字化安全級儀控系統(tǒng)的T2試驗(yàn)主要包括緊急停堆系統(tǒng)邏輯試驗(yàn)和專設(shè)安全設(shè)施驅(qū)動系統(tǒng)及專設(shè)支持系統(tǒng)邏輯功能試驗(yàn)。緊急停堆系統(tǒng)邏輯試驗(yàn)主要驗(yàn)證安全級DCS中反應(yīng)堆保護(hù)處理器所執(zhí)行自動緊急停堆邏輯功能的正確性。專設(shè)安全設(shè)施驅(qū)動系統(tǒng)及專設(shè)支持系統(tǒng)邏輯功能試驗(yàn)主要驗(yàn)證安全級DCS中專設(shè)驅(qū)動處理器所執(zhí)行自動專設(shè)安全設(shè)施驅(qū)動系統(tǒng)及專設(shè)支持系統(tǒng)邏輯功能的正確性。
MTS根據(jù)測試腳本通過維護(hù)網(wǎng)絡(luò)在反應(yīng)堆保護(hù)/專設(shè)驅(qū)動處理器的CPU中以強(qiáng)制的手段注入試驗(yàn)信號,該信號替換AI/DI模塊和通信模塊送給被試驗(yàn)CPU單元的輸入數(shù)據(jù)參與邏輯運(yùn)算。MTS再通過維護(hù)網(wǎng)絡(luò)讀取邏輯算后的結(jié)果,在MTS上判斷試驗(yàn)結(jié)果是否符合預(yù)期,如圖1所示。
因此有必要根據(jù)T2試驗(yàn)原理和核電行業(yè)特點(diǎn)設(shè)計(jì)出比較完善的測試腳本以保證系統(tǒng)軟件邏輯功能的正確性。
根據(jù)GB/T 5204-2008《核電廠安全系統(tǒng)定期試驗(yàn)與監(jiān)測》和IEEE 338-1977《核電站安全系統(tǒng)定期試驗(yàn)準(zhǔn)則簡介》規(guī)定,在設(shè)計(jì)安全級DCS系統(tǒng)的T2定期試驗(yàn)測試腳本時,應(yīng)遵循如下基本的設(shè)計(jì)原則:
1)安全系統(tǒng)的T2定期試驗(yàn)測試腳本設(shè)計(jì)應(yīng)嚴(yán)格遵循系統(tǒng)軟件需求規(guī)格書的要求。
2)安全系統(tǒng)的T2定期試驗(yàn)測試腳本應(yīng)嚴(yán)格依據(jù)儀控功能圖進(jìn)行設(shè)計(jì),儀控功能圖是指軟件開發(fā)過程中編寫的程序流程圖。
3)安全系統(tǒng)的T2定期試驗(yàn)測試腳本應(yīng)覆蓋到所有與緊急停堆和專設(shè)安全設(shè)施驅(qū)動系統(tǒng)及專設(shè)支持系統(tǒng)邏輯相關(guān)的1E級相關(guān)功能。
4)安全系統(tǒng)的T2定期試驗(yàn)測試腳本應(yīng)盡可能實(shí)際地模擬其所要求的安全功能,能證明被試驗(yàn)的物項(xiàng)在正常環(huán)境條件下具有執(zhí)行其功能的能力。
本文結(jié)合核電行業(yè)特點(diǎn)采用黑盒測試+白盒測試方式來實(shí)現(xiàn)T2試驗(yàn)測試腳本設(shè)計(jì)。

圖2 程序流程圖算法歸類Fig.2 Program flowchart algorithm collation

表1 覆蓋方式選擇Table 1 Override mode selection
1)功能覆蓋分類
本文首先根據(jù)儀控功能圖對邏輯進(jìn)行功能分類,分為緊急停堆系統(tǒng)邏輯功能和專設(shè)安全設(shè)施驅(qū)動系統(tǒng)及專設(shè)支持系統(tǒng)邏輯功能,然后對邏輯功能進(jìn)行典型子邏輯功能分解。緊急停堆系統(tǒng)邏輯功能主要包含參數(shù)旁通邏輯,定值比較邏輯,3取2表決邏輯,停堆信號閉鎖邏輯。專設(shè)安全設(shè)施驅(qū)動系統(tǒng)及專設(shè)支持系統(tǒng)邏輯功能主要包含3取2(或2取1)表決邏輯,專設(shè)驅(qū)動聯(lián)鎖邏輯,專設(shè)驅(qū)動閉鎖邏輯等。通過以上方式可以對儀控功能圖中與緊急停堆和專設(shè)安全設(shè)施驅(qū)動系統(tǒng)及專設(shè)支持系統(tǒng)邏輯相關(guān)的1E級相關(guān)功能進(jìn)行全覆蓋測試。
2)覆蓋方式選擇
由于儀控功能圖已經(jīng)提供了程序流程圖,因而首先將程序流程圖進(jìn)行算法功能歸類,如圖2所示。再對邏輯功能進(jìn)行控制流程圖提取后,結(jié)合控制流程圖的算法分類進(jìn)行選取適用于各種邏輯功能的測試方法[3],具體如表1所示。
條件覆蓋:判定中的每個條件至少有一次為真,有一次為假。
組合覆蓋:使得每個判定中條件的各種可能組合都至少出現(xiàn)一次。
T2試驗(yàn)測試用例的設(shè)計(jì)包含試驗(yàn)先決條件,參數(shù)和設(shè)定值驗(yàn)證,試驗(yàn)變量初始化設(shè)置,邏輯功能驗(yàn)證,試驗(yàn)數(shù)據(jù)恢復(fù)內(nèi)容。
1)試驗(yàn)先決條件主要用于驗(yàn)證被測試設(shè)備是否已處于允許試驗(yàn)狀態(tài)。
2)參數(shù)和設(shè)定值主要驗(yàn)證參數(shù)和設(shè)定值與預(yù)期一致,保證參數(shù)和設(shè)定值的正確設(shè)置。
3)試驗(yàn)變量初始化設(shè)置用于對試驗(yàn)輸入數(shù)據(jù)的初始化,以保證邏輯功能驗(yàn)證可以正確執(zhí)行。
4)邏輯功能驗(yàn)證對安全系統(tǒng)所有與緊急停堆和專設(shè)安全設(shè)施驅(qū)動系統(tǒng)及專設(shè)支持系統(tǒng)邏輯相關(guān)的1E級相關(guān)功能的邏輯功能進(jìn)行全覆蓋驗(yàn)證,確保邏輯的正確性。
5)試驗(yàn)數(shù)據(jù)恢復(fù)主要用于將系統(tǒng)恢復(fù)至初始狀態(tài),以確保系統(tǒng)的正常運(yùn)行。
本文通過對一種停堆工況邏輯中的參數(shù)旁通邏輯→正常邏輯→停堆信號閉鎖邏輯→降級處理的順序進(jìn)行設(shè)計(jì)達(dá)到了功能全覆蓋測試,滿足T2試驗(yàn)測試要求。對于專設(shè)驅(qū)動邏輯測試用例的設(shè)計(jì),由于工程試驗(yàn)堆手動控制邏輯較多,因而將專設(shè)手動驅(qū)動邏輯與專設(shè)自動驅(qū)動邏輯分離測試。
由于篇幅有限,本文僅針對3取2表決邏輯的測試用例設(shè)計(jì)進(jìn)行詳細(xì)介紹。由于本文對3取2表決邏輯采用組合覆蓋測試方式,因而需要保證每一種組合情況至少出現(xiàn)一次。表決邏輯的測試腳本主要包含正常邏輯和降級邏輯,正常邏輯是指所有輸入信號質(zhì)量位為好,表決邏輯為2/3;降級邏輯指存在輸入信號質(zhì)量位為壞的信號,表決邏輯由2/3→1/2→1/1。具體2/3表決邏輯測試腳本如表2所示,其中步驟1~8為正常邏輯的測試腳本,9~25為降級邏輯的測試腳本。
本文通過白盒測試結(jié)合核電行業(yè)特點(diǎn)的方式研究了一種用于T2定期試驗(yàn)軟件測試腳本的設(shè)計(jì)方法,設(shè)計(jì)完成了腳本測試。目前該測試用例的設(shè)計(jì)已經(jīng)成功應(yīng)用于工程試驗(yàn)堆數(shù)字化安全級儀控系統(tǒng)中,并且收到了良好的效果。因此,本文提出T2試驗(yàn)測試用例設(shè)計(jì)方法可為其他相關(guān)安全級儀控系統(tǒng)T2試驗(yàn)測試用例的設(shè)計(jì)提供參考。