“工欲善其事,必先利其器”,當前軟件質(zhì)量度量與健壯性的問題已經(jīng)成為了困擾我國儀器儀表行業(yè)質(zhì)量提升和產(chǎn)業(yè)升級過程面臨的一道短板。然而,軟件的質(zhì)量度量與健壯性提升的安全目標,除了借助嚴謹?shù)捻椖抗芾硗?,還需要通過嚴格分析、測試以及回歸才能得到實現(xiàn)。特別是在安全相關系統(tǒng)的研制指導標準GB/T20438(IEC61508)中,已經(jīng)將靜態(tài)分析、安全語言子集等作為實現(xiàn)安全完整性等級(SIL)的必要測試項目。未來,軟測相關需求將在我國儀器儀表行業(yè)的發(fā)展過程中愈發(fā)凸顯。
儀綜所功能安全中心在多年從事儀器儀表可靠性研究的基礎上,通過不斷完善人才隊伍,引進先進測試工具,完善了實施條件,具備了軟件測試相關能力。在2019年先后為航天泰心、重慶川儀等一批儀器儀表企業(yè)的重點產(chǎn)品開展了軟測工作。
該中心在代碼審查和代碼質(zhì)量度量實施過程中,結(jié)合測試工具對關鍵源代碼進行掃描,并逐一分析,檢查代碼符合性以及邏輯正確性,同時進行控制流分析、數(shù)據(jù)流分析、接口分析等靜態(tài)分析工作。在2019年先后為諾安環(huán)境的SNE808可燃氣體報警控制器、航天泰心的左心室輔助裝置控制器、重慶川儀HVP3X智能閥門定位器進行了代碼審查,針對聲明與定義、類型轉(zhuǎn)換、表達式等21類軟件編程中的常見問題,共提出源代碼與標準不符合項共計300余條,并針對部分單元代碼耦合度過高、圈復雜度過大的現(xiàn)象提出有針對性的修改建議。這些檢查結(jié)果與修改建議,將有利于開發(fā)人員優(yōu)化軟件結(jié)構(gòu),降低模塊復雜性,提高軟件的安全性、可靠性與健壯性。
圖1 LDRA Testbed工具測試報告展示
在完成靜態(tài)測試的基礎上,該中心進一步開展了軟件單元測試的工作。對軟件單元的功能、接口等進行測試,采用等價類分析、邊界數(shù)據(jù)值等方法設計測試用例,根據(jù)代碼的重要等級實現(xiàn)語句覆蓋或分支覆蓋,并整理測試結(jié)果,編寫測試報告。其中諾安的SNE808可燃氣體報警控制器中的主控板組件軟件、AI板組件軟件和繼電器輸出板組件軟件共設計并執(zhí)行完成測試用例1943條,提出12個單元測試問題單,執(zhí)行回歸測試后問題全部修復,最終完成測試并形成測試報告。
下圖為諾安的SNE808可燃氣體報警控制器軟件單元測試需求規(guī)格說明、測試計劃、測試說明、測試執(zhí)行記錄、測試問題報告和測試報告文檔。
圖2 軟件測試技術文檔展示