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