期刊VIP學術指導 符合學術規范和道德
保障品質 保證專業,沒有后顧之憂
摘 要:目前,嵌入式軟件在軍用和民用領域的應用越來越廣泛,其自動化測試技術的作用也越來越重要。推進嵌入式軟件自動化測試技術的發展,對推動軍用和民用領域嵌入式軟件發展進步,有著非常重要的作用。所以,必須要加強對嵌入式軟件自動化測試技術的研究,為我國軍用和民用領域嵌入式軟件質量的提升提供重要的推動力量。
關鍵詞:嵌入式軟件;自動化測試技術;應用
1 嵌入式軟件自動化測試系統簡析
嵌入式軟件自動化測試系統的應用原理是運用相應的測試腳本,通過自動運行嵌入式軟件,控制其運行時的輸入,同時對數據進行收集和分析并最終形成相關測試報告,得出科學準確的測試結果。嵌入式軟件自動化測試系統一般會采用分布式架構組成,這種結構便于對系統進行擴展和升級。該系統結構主要包括兩部分,即測試開發管理主機和目標仿真機。
2 嵌入式軟件的自動化測試過程研究
要實現嵌入式軟件自動化測試,主要分析以下幾點因素特征。
2.1 測試驅動分析
為了提升測試結果的真實性,需要測試人員在測試前進行區域規劃,盡量的拓展測試區域。由于在嵌入式軟件測試過程中,測試人員會采取不同的數據和運行方式實現交互式程序運作。當完成腳本錄制后,所有腳本錄制數據都包含了測試全過程數據。如果后期會出現程序變化,以上測試數據都會影響變化后程序的正常使用。這種分離處理方式實現了測試自動化驅動,也簡化了原有測試邏輯語言。
2.2 對于生成數據的測試
就嵌入式軟件測試特點而言,運行環境較為特殊,需要軟件在一個海量數據庫中進行測試,而由于傳統的人工測試效率低,質量差,因此需要借助自動化測試驅動。在進行自動化處理后,這些數據能夠實現多種類型和方式的輸入,生成有效的測試數據。且該方式能夠促進和保證嵌入式軟件測試運行質量。
3 嵌入式軟件自動化測試
3.1 自動化測試運行環境
為了提升嵌入式軟件自動化測試技術,建議從自動化工具運行環境優化入手。首先,讓嵌入式軟件運行解除特殊硬件設備的綁定。分析嵌入式軟件的運行環境,完善所有程序覆蓋率信息統計,實現對被測目標文件的有效性分析。此時,若分析到位,就可以直接利用覆蓋率信息數據,實現嵌入式軟件自動化、監控管理運行。
3.2 自動化測試流程
嵌入式自動化測試能降低測試成本,提高產品運行質量,因此該技術具有較好的發展前景。由于測試階段不同,傳統的嵌入式軟件自動化測試可分為“需求測試”“設計測試”“單元測試”“集成測試”“確認測試”“系統測試”幾個方面。
針對單元測試而言,其代表著軟件基本組成單元的運行測試,能夠測試各個單元組成是否符合性能需求和可行性需求,因此單元測試也被稱為模塊測試。該階段測試的目的是最大限度地檢測程序錯誤。
集成測試也被稱為結合測試,其測試的對象是由若干個單元組成融合的子系統。在實現單元測試后,其能夠保證系統的正常運行。而測試中常見問題有接口數據丟失、系統數據出錯等。確認測試的目的是檢驗軟件可運行性。因此也常被稱為“可行性測試”。該階段是檢測軟件性能是否符合客戶需求的重要階段。系統測試是在基于集成測試和確認測試后,對軟件各個系統接口進行的統一測試,其目的是檢測系統和其他設備之間的兼容性和系統建設目標一致性。
3.3 嵌入式軟件測試技術比較
嵌入式軟件測試技術主要有以下三個方面,一是對目標環境下被測軟件的測試,測試人員利用手工測試方式,對真實目標環境下運行的被測軟件進行測試,但是這種方式并不自動化,且耗時耗力。二是非侵入式自動化測試,其通過交叉測試方式,實現對所有內存文件和程序的測試,能夠克服環境和程序內存影響。三是對宿主環境下被測軟件的測試,這種方式通過建立模擬數字化環境,對軟件進行運行測試,這種方式在運行時會受到外界環境干擾,且其測試結果并不能真實反應后期運行效果,因此該種測試也僅僅是作為數據參考和模擬分析,適合軟件開發人員使用。
4 嵌入式軟件自動化測試運行策略
與傳統的測試方式不同,嵌入式軟件的專業性較強,且在運行過程中都需要進行大量測試。而最為常見且實用的自動化測試策略如下:
4.1 使用靜態測試
靜態測試即為不通過程序各個接口處理和結構對接方式來測試軟件可行性。通過靜態測試,一般能夠發現軟件程序參數匹配、嵌套等問題。借助靜態測試結果,能夠為測試人員進一步分析案例和明確測試提供依據。常見的靜態測試的流程類型主要有代碼檢查、靜態分析等。通過控制流程圖等方式,能夠為測試人員提供更為直觀的測試信息。
4.2 數字仿真測試分析
數值仿真測試分析是一種實時自動化的測試方式,通過模擬軟件信號傳輸的方式來實現測試,不需要借助其他硬件系統。就其運行效果而言,仿真測試環境下的嵌入式軟件測試實現了通用性測試推進。在嵌入式測試初期,激勵信號的注入和運行監控存在較大問題,而仿真測試能夠虛擬CPU 運行環境,對系統中可運行程序進行代碼檢查和模擬運行、生產報告等功能,有效解決了傳統嵌入式軟件測試運行方面的難題。
4.3 Host-target 測試策略
實際上,數值仿真環境中也會出現很多問題,例如測試軟件會引起時間問題。傳統的解決方式是建立更多的目標平臺,和以往主機平臺對比,存在著運行目標不緊密等問題。通過Host-target測試策略,能夠提升測試效率,提升程序精確度。主要處理流程為:首先,借助輔助插件實現靜態測試,并為動態測試編寫程序代碼;其次,借助程序代碼的運行狀況,在主機平臺上進行功能測試,糾正錯誤代碼;次而,在插件影響下進行覆蓋測試,并加強覆蓋率。最后,重復性測試,以保證軟件運行合理性。
5 結束語
作為一項傳統的信息技術,嵌入式軟件測試在運行早期是采取手工操作方式的,其運行費時費力,測試結果也會受到人為因素影響。自動化技術的引入,優化了嵌入式軟件測試效能,能夠降低人力成本,提高經濟效益和測試質量。因此嵌入式軟件自動化測試技術有著較好的發展空間。
參考文獻
[1]陳佐,張懷相,方景龍.嵌入式軟件自動化測試技術[J].計算機工程與設計,2018,39(10):3125-3131.
[2]陳佐.基于分布式架構的嵌入式軟件自動化測試平臺研究與實現[D].杭州電子科技大學,2018.
[3]郭延霞,陳曉軒,鄭重虎.基于嵌入式安全平臺的軟件自動化測試方法研究與實現[J].鐵道通信信號,2018,54(01):66-68.
推薦閱讀:《軟件和集成電路》(月刊)創刊于1984年,郵發代碼:82-469。由中國電子信息產業發展研究院、北京中電報發展有限公司主辦的計算機科學技術刊物。