靳永毅, 王 楠,張占軍,郭 猛,鄧 鵬,李志軍,孫同果
(中核控制系統(tǒng)工程有限公司,北京 100176)
核測(cè)量系統(tǒng)作為反應(yīng)堆保護(hù)和控制系統(tǒng)的重要組成部分,其軟件主要實(shí)現(xiàn)的功能為測(cè)量中子注量率、計(jì)算反應(yīng)堆功率與周期、定值比較、反應(yīng)堆保護(hù)信號(hào)輸出等[1];軟件集成測(cè)試主要是檢查軟件單位之間的接口是否正確以及軟件單位之間的邏輯是否正確,其結(jié)果對(duì)后續(xù)的系統(tǒng)測(cè)試存在著重要影響[2]。由此可見(jiàn),核測(cè)量系統(tǒng)軟件集成測(cè)試的質(zhì)量將直接影響到整個(gè)核測(cè)量系統(tǒng)的穩(wěn)定性。長(zhǎng)期以來(lái)核測(cè)量系統(tǒng)的軟件集成測(cè)試一直使用人工的測(cè)試方法,由于該系統(tǒng)軟件邏輯組合多、接口數(shù)量多,同時(shí)受限于測(cè)試者素質(zhì)的千差萬(wàn)別等原因,如何保證測(cè)試的質(zhì)量與提高測(cè)試效率一直是測(cè)試工作的一個(gè)重點(diǎn)。
圖1 帶有自動(dòng)化測(cè)試工具的核測(cè)量系統(tǒng)構(gòu)成Fig.1 Structure of neutron measurement system with automatic testing tools
圖2 自動(dòng)化測(cè)試工具網(wǎng)絡(luò)配置圖Fig.2 Automation test tool network configuration diagram
經(jīng)過(guò)工程實(shí)際應(yīng)用,在軟件集成測(cè)試中引入自動(dòng)化測(cè)試工具,應(yīng)用自動(dòng)測(cè)試原理通過(guò)自動(dòng)發(fā)送和接收邏輯運(yùn)算后的數(shù)據(jù),可以極大地提高測(cè)試質(zhì)量,保證測(cè)試效率。
如圖1 所示,核測(cè)量系統(tǒng)由4 個(gè)相同且獨(dú)立的通道組成,每個(gè)通道為一個(gè)獨(dú)立的保護(hù)柜,柜內(nèi)裝有源量程、中間量程、功率量程的調(diào)理單元與處理單元,每個(gè)量程的調(diào)理單元與處理單元組合成為一個(gè)站,即1 號(hào)保護(hù)柜中的源量程處理單元與源量程調(diào)理單元為1 號(hào)站;1 號(hào)柜內(nèi)的中間量程處理單元與中間量程調(diào)理單位為2 號(hào)站,以此類推[3]。
工程師站:為可移動(dòng)的計(jì)算機(jī),用來(lái)對(duì)保護(hù)柜處理器機(jī)箱進(jìn)行下裝及監(jiān)視,還可對(duì)各個(gè)量程的參數(shù)進(jìn)行設(shè)定。
自動(dòng)化測(cè)試工裝:為一臺(tái)計(jì)算機(jī),通過(guò)交換機(jī)與工程師站、核測(cè)量系統(tǒng)的各個(gè)控制站處于同一個(gè)網(wǎng)絡(luò),可以通過(guò)相關(guān)的通信協(xié)議進(jìn)行數(shù)據(jù)收發(fā)及處理。
如圖2 自動(dòng)化測(cè)試工具網(wǎng)絡(luò)配置圖可知,自動(dòng)化測(cè)試工具與工程師站及核測(cè)量系統(tǒng)處于同一個(gè)網(wǎng)絡(luò)中的同一網(wǎng)段,通過(guò)設(shè)置不同的IP 地址來(lái)區(qū)別具體的設(shè)備,核測(cè)量系統(tǒng)保護(hù)柜中各站的IP 地址由撥碼開(kāi)關(guān)來(lái)設(shè)置。根據(jù)系統(tǒng)的IO 點(diǎn)表,制作自動(dòng)化測(cè)試工具需要使用的點(diǎn)表,并且導(dǎo)入測(cè)試工具。自動(dòng)化測(cè)試工具可以通過(guò)通信協(xié)議來(lái)同步核測(cè)量系統(tǒng)的組態(tài),將組態(tài)中的IO 變量與已經(jīng)導(dǎo)入系統(tǒng)的IO點(diǎn)表進(jìn)行對(duì)比,對(duì)變量名稱不一致、變量缺失等問(wèn)題進(jìn)行提示,通過(guò)修改保證兩者完全一致。
之后導(dǎo)入根據(jù)系統(tǒng)組態(tài)編寫(xiě)的測(cè)試用例,同理,系統(tǒng)會(huì)根據(jù)組態(tài)中的變量名稱來(lái)檢查導(dǎo)入測(cè)試工具的變量名稱,對(duì)錯(cuò)誤內(nèi)容進(jìn)行提示。
測(cè)試時(shí),根據(jù)需要在測(cè)試用例中規(guī)定好輸入變量、輸出變量、期望輸入值與每一步的時(shí)間間隔,測(cè)試工具即會(huì)使用相關(guān)的通信協(xié)議來(lái)強(qiáng)制輸入變量,并讀回輸入變量通過(guò)邏輯運(yùn)算得到的測(cè)試結(jié)果,此時(shí)輸出變量會(huì)自動(dòng)填寫(xiě)在測(cè)試用例中并與預(yù)期結(jié)果進(jìn)行比較,不一致的地方會(huì)在測(cè)試結(jié)果一欄中標(biāo)識(shí)錯(cuò)誤。
自動(dòng)化測(cè)試工具使用的測(cè)試用例是基于Excel 編寫(xiě)的模板化用例見(jiàn)表1,在測(cè)試用例中規(guī)定好了站號(hào)、輸入變量、輸出變量的期望值和輸出變量的實(shí)際值、步長(zhǎng)等參數(shù)。其中,站號(hào)是當(dāng)前變量所處控制器的名稱;輸入變量和輸出變量是邏輯圖確定的當(dāng)前測(cè)試邏輯輸入變量與輸出變量;在步驟一行中對(duì)應(yīng)的是步驟序號(hào);在步驟一列中分別是步長(zhǎng)即執(zhí)行該步驟所需要的時(shí)間、輸入信號(hào)對(duì)應(yīng)的輸入值和由輸入信號(hào)數(shù)值及邏輯組合計(jì)算出來(lái)的輸出結(jié)果期望值,輸出結(jié)果的實(shí)際值由測(cè)試工裝自動(dòng)填寫(xiě)。
測(cè)試用例編寫(xiě)完成后需要導(dǎo)入到測(cè)試工裝中,在測(cè)試導(dǎo)入工裝之前需要先將輸入輸出變量點(diǎn)表及其對(duì)應(yīng)的信號(hào)類型、接線點(diǎn)、量程等先導(dǎo)入組態(tài),使用表1 中測(cè)試工裝的系統(tǒng)組態(tài)功能導(dǎo)入輸入輸出變量點(diǎn)表,并通過(guò)網(wǎng)絡(luò)與工程師站中保存輸入輸出信息同步,在同步過(guò)程中會(huì)提示變量名稱不一致、類型不一致、數(shù)量不一致等信息。在確定組態(tài)無(wú)誤之后,使用如圖3 的組態(tài)管理功能將測(cè)試用例導(dǎo)入,在測(cè)試用例導(dǎo)入時(shí)會(huì)提示站號(hào)錯(cuò)誤、變量名稱不一致、類型不一致等信息,修改相關(guān)錯(cuò)誤后就會(huì)顯示用例導(dǎo)入成功,導(dǎo)入成功后保存需要使用的用例即可。
表1 測(cè)試用例示意圖Table 1 Test case diagram
利用用例管理功能對(duì)用例進(jìn)行分類,在核測(cè)量系統(tǒng)中通常按照控制器對(duì)應(yīng)的站號(hào)進(jìn)行分類管理,以便維護(hù)用例;也可以對(duì)分類后的用例更名加入版本、日期等內(nèi)容。
在圖3 的系統(tǒng)組態(tài)功能中選擇需要執(zhí)行的用例后跳轉(zhuǎn)到執(zhí)行畫(huà)面即開(kāi)始對(duì)用例測(cè)試。用例的執(zhí)行分為兩種形式:自動(dòng)執(zhí)行和單步執(zhí)行。自動(dòng)執(zhí)行即按照規(guī)定好的輸入輸出變量、步長(zhǎng)規(guī)定時(shí)間順序依次進(jìn)行;單步執(zhí)行需要人工手動(dòng)進(jìn)行執(zhí)行完成一個(gè)步驟的操作之后,視操作結(jié)果來(lái)選擇是否進(jìn)行下一步測(cè)試,一般用在錯(cuò)誤查找中。
測(cè)試完成后,測(cè)試結(jié)果會(huì)自動(dòng)填入到實(shí)際值一欄中,如果與期望值相同,會(huì)在測(cè)試結(jié)果一欄中顯示“P”表示測(cè)試通過(guò);如果與期望值不同會(huì)在測(cè)試結(jié)果一欄中顯示“F”表示失敗。如果需要保存測(cè)試結(jié)果,需要在圖3 中的報(bào)表管理功能中選擇需要生成測(cè)試結(jié)果的用例,然后生成結(jié)果,系統(tǒng)會(huì)自動(dòng)填寫(xiě)測(cè)試結(jié)果,時(shí)間等內(nèi)容以Excel 表格的形式保存到對(duì)應(yīng)的文件夾。
圖3 自動(dòng)化測(cè)試工具界面Fig.3 Automated test tool interface
自動(dòng)化測(cè)試工具僅為一臺(tái)計(jì)算機(jī),通過(guò)交換機(jī)與核測(cè)量系統(tǒng)處于同一網(wǎng)絡(luò)即可,設(shè)備簡(jiǎn)單、操作簡(jiǎn)便。另外,該自動(dòng)化測(cè)試工具僅在軟件集成測(cè)試中使用,僅通過(guò)網(wǎng)絡(luò)接口與系統(tǒng)連接,無(wú)硬接線,不會(huì)涉及到測(cè)試設(shè)備的校準(zhǔn)、鑒定等一系列問(wèn)題。
因?yàn)樽詣?dòng)化測(cè)試工具不依賴于硬件,只要有系統(tǒng)組態(tài),有支持組態(tài)運(yùn)行的測(cè)試環(huán)境即可進(jìn)行測(cè)試,不需要系統(tǒng)硬件諸如機(jī)柜集成等方面的要求,因而可以與系統(tǒng)集成等并行開(kāi)展,節(jié)省項(xiàng)目時(shí)間。另外該項(xiàng)目在前期開(kāi)發(fā)過(guò)程中,可以針對(duì)常用的邏輯如IO 輸入“或”運(yùn)算,IO 輸入“與”運(yùn)算等設(shè)計(jì)模板,在使用時(shí)可以調(diào)用模板,填入輸出即可,縮短用例編寫(xiě)時(shí)間。同時(shí),自動(dòng)化測(cè)試工具具有較好的移植性,對(duì)于不同項(xiàng)目的核測(cè)系統(tǒng),只需要比較其類似功能的邏輯是否存在差異,對(duì)不存在差異的邏輯進(jìn)行輸入輸出變量的替換即可復(fù)用,極大提高了工作效率。
根據(jù)項(xiàng)目的使用經(jīng)驗(yàn),以IO 輸入的“或”邏輯為例,為了覆蓋所有的邏輯組合,共需要編寫(xiě)21 個(gè)測(cè)試用例,每個(gè)23 個(gè)步驟,每個(gè)步驟1s 時(shí)間間隔,使用自動(dòng)化測(cè)試工具需要483s,約8min。而使用人工測(cè)試,完成一個(gè)測(cè)試用例的時(shí)間約為10min??梢?jiàn)自動(dòng)化測(cè)試工具極大地提高了測(cè)試效率。
為了減少測(cè)試人員素質(zhì)對(duì)測(cè)試結(jié)果造成的影響,按照核測(cè)量系統(tǒng)的執(zhí)行功能,在編寫(xiě)測(cè)試用例時(shí)盡量使用已經(jīng)進(jìn)行過(guò)模板化的測(cè)試用例,這樣就避免了因測(cè)試人員素質(zhì)不同的人造成測(cè)試覆蓋率不足,邏輯組合遺漏等問(wèn)題。
測(cè)試中,測(cè)試工具會(huì)自動(dòng)讀回測(cè)試結(jié)果,與預(yù)期結(jié)果進(jìn)行比較,對(duì)一致的結(jié)果以“P”表示通過(guò);對(duì)不一致的結(jié)果以“F”表示失敗,不再由人工進(jìn)行判斷,避免了人工對(duì)結(jié)果進(jìn)行比對(duì)時(shí)產(chǎn)生差錯(cuò),保證了測(cè)試的有效性。
因?yàn)樽詣?dòng)化測(cè)試工具并不依賴于實(shí)際的系統(tǒng),只是通過(guò)網(wǎng)絡(luò)通訊的方式來(lái)強(qiáng)制變量。因此,諸如對(duì)小電流信號(hào)量程切換這類與實(shí)際信號(hào)值與測(cè)試時(shí)間要求很高的邏輯并不適用,仍需要人工搭建測(cè)試環(huán)境,或者在系統(tǒng)集成完成后進(jìn)行,其應(yīng)用還有著不夠全面等缺點(diǎn)。
根據(jù)目前項(xiàng)目的實(shí)際使用經(jīng)驗(yàn),軟件集成測(cè)試用例并不適用在線修改這樣的功能。實(shí)際使用中會(huì)發(fā)生用例錯(cuò)誤等情況,可以使用在線的修改功能,但是在實(shí)際工作中,發(fā)現(xiàn)這一功能會(huì)使用例版本難易控制,因此也取消了對(duì)應(yīng)功能。所以,如何對(duì)自動(dòng)化測(cè)試工具中的用例進(jìn)行管理也是需要詳細(xì)研究的課題。
自動(dòng)化測(cè)試工具具有低成本、高效、規(guī)范、便捷等特點(diǎn),應(yīng)用在核測(cè)量項(xiàng)目中可以縮短項(xiàng)目周期,減少人力投入,保證項(xiàng)目的規(guī)范性,使項(xiàng)目質(zhì)量得到了保障。但是如何在工程項(xiàng)目環(huán)境中更合時(shí)宜使用該工具,以及對(duì)應(yīng)的用例版本管理仍需要在項(xiàng)目執(zhí)行過(guò)程中不斷摸索。