隨著電子技術的快速發展,綜合電子系統和控制系統已成為裝備或交通工具上為重要的組成部分,其測試過程是整個系統研制的關鍵環節之一。目前綜合電子系統和控制系統軟件規模越來越大,因此帶來的測試復雜度也相應提高。主要體現在以下幾個方面:一是交聯系統較多,系統設計變更頻繁,測試用例數量龐大;二是系統復雜,被測對象多,測試問題分散在每個測試對象中,對測試問題的跟蹤、分析與統計耗時費力;三是測試相關工具鏈眾多,比如需求管理工具、缺陷管理工具、開發工具與環境,從測試工程師角度看,若不能很好集成,非常影響測試效率;四是頻繁的迭代開發,對測試快速響應與管理提出了很高的要求。
基于在嵌入式測試領域的豐富的經驗以及對嵌入式系統(軟件)開發模式、測試模式的深刻理解,恒潤科技自主研發了一套嵌入式系統測試框架——ETframework(Embedded Test Framework,簡稱ET·f)。在綜合電子系統和控制系統測試中,采用ETframework能方便快捷地進行測試需求分析、測試用例設計與維護、多輪次的管理、工具鏈集成以及測試問題的跟蹤、分析與統計等功能,能有效解決上述問題。
ET·f的結構如圖1所示,其中,測試過程管理涉及從用例管理到測試執行,再到輪次管理與報告生成的整條主線;從技術角度,可以集成管理類工具與技術類工具,包括需求管理工具、缺陷管理工具、測試執行工具與環境等,此外,ET·f具有豐富的測試數據分析功能,以便更準確地定量評估被測對象。
圖1 ET·f結構圖
1 測試過程管理
針對錯綜復雜的綜合電子系統的測試,ET·f體現了極高的測試過程管理能力。對系統進行測試策劃后,在ET·f中建立相應的測試對象,采用如下方法進行方便、快捷的測試。
• 測試用例管理
使用ET·f進行綜合電子系統的測試用例設計后,可對測試用例進行復制、粘貼、導入、導出等操作,從而實現對測試用例的復用與標準化,降低測試用例對個人的依賴。
此外,ET·f還可實現測試對象--測試集--測試用例的樹形結構導航,使測試用例的架構一目了然。
• 測試執行分析
使用ET·f進行測試執行分析,以不同的顏色標識用例的狀態:通過(綠色)、未通過(紅色)、阻塞(黑色),可在未通過的用例中建立測試問題,同時,測試問題會根據缺陷等級,顯示為不同顏色,根據問題的顏色就能很快對用例執行狀態有大致的了解。
• 測試輪次管理
ET·f對測試輪次的管理相當專業,只需新建一個回歸輪次,根據回歸測試的范圍,添加相應的測試集就可進行回歸了,而無需關注回歸范圍之外的測試集,大大提高了回歸測試的效率,在迭代輪次多的綜合電子系統測試中發揮了重要作用。
• 測試報告生成
對于測試報告,ET·f可一鍵生成,針對測試輸入數據、輸出數據、當前測試集的用例執行情況等,自動生成HTML格式、符合格式報告。還可個性化測試報告模板,進行報告導出。
2 工具鏈集成
ET·f支持管理類工具鏈的集成與技術類工具鏈集成,可以更為方便快捷的完成測試工作。
• 管理類工具鏈集成
♦ 需求分析管理
對復雜的系統進行需求與用例的關聯是件很難的工作,ET·f卻巧妙地解決了這個問題。它能導入各種格式的原始需求,如Doors、word、excel與自定義格式,并進行有效需求的提取,支持對原始需求和有效需求的增、刪、改操作,省去了大量的需求文檔操作,同時可實現需求與測試用例的關聯,自動實現需求與測試用例、測試問題的跟蹤,貫穿整個測試過程。
♦ 配置管理
若需要對測試工作產品進行配置管理,通過ET·f提供的右鍵功能就能輕松實現,無需增加額外的工作量,目前ET·f支持與具有接口調用的配置管理工具集成。
♦ 缺陷管理
ET·f的缺陷管理功能,可以很好的展示各個測試對象下的測試問題列表、用例—缺陷追蹤、缺陷管理工具(如jira)測試問題列表,同時還能實現ET·f中的測試問題與常見的缺陷管理工具中測試問題的同步,減少人工方式缺陷跟蹤的時間。
• 技術類工具鏈集成
對于控制系統的測試,ET·f提供對被測系統的環境構建,支持Matlab、DSP CCS、HiGale等測試環境,從而開展MIL在環、SIL在環、HIL在環測試。以HiGale環境下的HIL在環測試,說明控制系統的測試過程。
采用HiGale實時仿真環境搭建的測試系統,通過各種I/O與目標機進行數據收發,實現不同的測試目的。此時可以利用ET·f對控制系統進行自動化測試。按如下思路編寫測試腳本:
♦ 清理仿真運行環境(確保測試用例之間不受干擾,結果可重復);
♦ 下載測試輸入文件到仿真機的硬盤中,以便模型對測試數據進行讀取;
♦ 下載、運行模型,等待運行結束;
♦ 調用仿真機接口,上傳輸出文件至ET·f本地,并與期望輸出文件比對,判斷測試是否通過。
上述測試中,測試思路可以作為測試用例的描述,通過批處理腳本或者Python腳本實現自動執行。不同的測試用例,可共享同一個測試腳本與測試模型,只需替換不同的測試數據即可,從而實現了測試過程與測試腳本的分離,測試腳本與測試數據的分離,讓測試人員從繁瑣的測試腳本維護中解放出來,專注于測試數據的準備,實現不同的功能、性能、強度等測試,提高測試的廣度與深度。
3 測試數據分析
測試完成后,需要了解一些測試數據,以便對測試對象進行定量的評估。由于綜合電子系統和控制系統的復雜性,人工統計的工作量很大,且不能保證準確性。ET·f提供了測試數據自動分析功能,可以很容易的獲取被測對象的各種測試數據,如需求覆蓋率、代碼覆蓋率、需求首次測試通過率、一次問題修改正確率、漏測率等,同時還支持用戶自定義指標。
測試綜合電子系統和控制系統的測試中,使用ET·f能提率,縮短研發周期,加快整個項目的進度。