摘 要 數字化時代的到來使得嵌入式系統的結構更加復雜,而為了確保嵌入式系統可以穩定運行則應用測試軟件有著重要的意義。本文從對常規軟件測試方法進行介紹入手,對于軟件測試方法在嵌入式系統中的應用進行了分析。
【關鍵詞】軟件測試 嵌入系統 應用模式
隨著嵌入式系統整體集成度的持續提升,在市場中更多大量系統架構復雜、功能日益強大的嵌入式系統不斷出現,這實際上對于嵌入式軟件的測試技術提出了更高的要求。故在這一前提下探討軟件測試方法在嵌入式系統中的應用就有著很高的必要性了。
1 常規軟件測試方法介紹
常規軟件測試方法有很多,本文選擇了幾個應用范圍較廣的予以介紹。下面以數字模擬測試、交叉測試方法、動靜態測試方法為例,對常規軟件測試方法進行介紹。
1.1 基本原理
軟件測試工作需要遵循相應的基本原理。嵌入式系統對于自身的系統功能、系統可靠性、制作成本、系統功耗等方面都有著嚴格要求,因此其作為專用計算機系統需要細致的測試才能夠判定實際的功能。但是因為嵌入式系統的軟硬件功能界限相對模糊,這使得嵌入式系統的測試工作相比PC系統更加困難與復雜。舉例來說,嵌入式系統測試軟件并不依賴編碼的硬件功能,且很難實現可知性測試,并存在有測試結果上載困難的情況,上述因素共同導致了軟件測試方法在嵌入式系統中應用的難度。統計資料顯示,軟件測試的工作量往往占軟件開發總工作量的40%以上,因此只有選擇合適的軟件測試方法,才能夠獲得良好的測試效果。
1.2 數字模擬測試
數字模擬測試可以作為嵌入式軟件測試的輔助手段得到應用。嵌入式軟件的測試工作既需要兼顧到軟件本身的性能,還需要考慮到軟件同與操作系統的集成,因此這使得測試的條件苛刻且時間約束要求高。而全數字模擬測試可以采用數學平臺的方法將嵌入式軟件從系統中剝離出來,并通過不同類型的模擬器在開發主機平臺上來實現嵌入式軟件的測試。此外,數字模擬測試方法操作較為便利且在功能測試上具有良好適用性,因此作為常規軟件測試方法有著穩定的使用率。但是全數字模擬測試仍舊具有有較大局限性,例如在數字模擬測試時當測試不同語言編寫的嵌入式系統時需要不同的仿真程序來執行,因此這使得其測試中會出現難以理順時序關系的情況,這限制了數字模擬測試優勢的進一步發揮。
1.3 交叉測試方法
交叉測試方法可以適用于高級語言且自身操作方便,測試成本較低。在嵌入式系統的測試過程中技術人員可以充分利用高級語言的可移植性來將系統中與目標環境無關的部分轉移到PC平臺上完成。這種測試方法能夠在硬件環境未建好或調試工具缺乏時開展并可借鑒常規的軟件測試方法,故具有良好兼容性。但是考慮到交叉測試會受到實時性受調試環境的制約,因此在對其進行應用時需要選擇合理的調試環境。
1.4 動靜態測試方法
動靜態測試方法可以分析系統的運行效率和其他性能。動態測試方法與靜態測試方法中的大部分測試流程都能夠在PC平臺上完成,因此這使得這兩種測試方法能夠充分借鑒PC軟件的測試方法。其次,靜態測試方法和動態測試方法都可以對軟件文檔或程序進行掃描分析,而不需要其他程序的支持并與嵌入式環境無關,因此這使得其可以用來檢查軟件是否符合編程標準,并發現編寫程序的不足之處。
2 軟件測試方法在嵌入式系統中的應用
軟件測試方法在嵌入式系統中的應用應當具有靈活性,以下從堅持合理測試原則、采用質量分析方法、做好測試管理工作等方面出發,對于軟件測試方法在嵌入式系統中的應用進行了分析。
2.1 堅持合理測試原則
軟件測試方法在嵌入式系統中應用的第一步是堅持合理測試原則。技術人員在堅持合理測試原則的過程中首先應當在實際運行環境里將嵌入式軟件與計算機硬件、外設、某些支持軟件、數據和人員結合在一起,從而能夠對整個系統進行全方位測試。其次,技術人員在堅持合理測試原則的過程中還應當避免目標系統陷入瓶頸,并在測試時遵守先靜后動、從小到大、由黑到白、先靜態測試后動態測試的測試過程。與此同時,技術人員在堅持合理測試原則的過程中還應當從代碼規則檢查做起,并清醒的認識到測試開展的越早則測試時付出的代價就越小,從而在最大限度上減少測試的成本。
2.2 采用質量分析方法
軟件測試方法在嵌入式系統中應用的關鍵是采用質量分析方法。技術人員在采用質量分析方法時應當確保軟件模塊的邏輯結構能夠客觀反映出軟件的質量。在這一過程中由于代碼復雜度與代碼出錯概率具有很強的關聯性,因此技術人員在測試工程中應當充分應用結構化測試技術來降低代碼出錯的可能性。其次,技術人員在采用質量分析方法時還需要從結構入手來分析代碼的復雜程度并指出改進代碼質量的具體方向。與此同時,技術人員在采用質量分析方法時為了確保嵌入系統的穩定性并避免因失效而導致災難性的后果,這需要技術人員通過質量分析方法來對嵌入式軟件進行嚴格的測試、確認和驗證。
2.3 做好測試管理工作
軟件測試方法在嵌入式系統中應用需要做好測試管理工作。技術人員在做好測試管理工作時應當認識到抓好管理工作的必要性。正所謂工欲善其事,必先利其器,而進行軟件測試時相應管理環節是必要的。在這一過程中,技術人員應當根據測試的需要和測試工具的特點來選擇合適的測試工具,從而能夠在保持客觀、準確的基礎上獲得可靠測試結果。其次,技術人員在做好測試管理工作時還應當考慮到軟件測試是一項長期化、系統化、常態化的工作,并且需要對其進行定期維護與更新,并采取嚴格的管理措施,從而有利于整個測試過程的順利進行同時提高、改善嵌入式軟件的整體質量。
3 結束語
對于嵌入式系統設計來說,提升系統集成度是增強系統功能的必然趨勢。因此,技術人員通過在嵌入系統中合理應用軟件測試方法,就能夠對于日益復雜的嵌入式軟件進行快速有效的測試,在提高軟件測試效率的同時也有助于嵌入系統質量的提升。
參考文獻
[1]周立功等.ARM嵌入式系統基礎教程[M].北京:北京航空航天大學出版社,2015(02)14:45-47.
[2]池云.嵌入式軟件測試研究[J].中國科技信息,2014,3(15):11-13.
[3]宮云戰.軟件測試[M].北京:國防工業出版社,2015.
[4]郭群.嵌入式軟件測試技術[J].微處理機,2016,2(13):89-91.
作者簡介
齊迪(1985-),男,大學本科學歷。工程師。研究方向為軟件工程和嵌入式軟件測試。
作者單位
中國航空工業集團公司洛陽電光設備研究所 河南省洛陽市 471023