資源描述:
《嵌入式軟件調試技術》由會員上傳分享,免費在線閱讀,更多相關內容在工程資料-天天文庫。
1、嵌入式軟件測試技術徐東(機械電子工程2110801068)摘要:本文主要對嵌入式軟件測試的定義、方法、軟件測試的通用要素等內容做了論述,指出了嵌入式軟件測試的策略及方法,可以使系統(tǒng)開發(fā)的效率最大化,避免目標系統(tǒng)的瓶頸,確保嵌入式軟件的質量。關鍵詞:嵌入式系統(tǒng)、軟件測試、白盒測試、黑盒測試1引言嵌人式系統(tǒng)已經(jīng)廣泛應用于人類生活中,包括消費電子產品、交通系統(tǒng)、工業(yè)過程控制等。嵌入式系統(tǒng)中軟件的規(guī)模和復雜性正在迅速增加。這為嵌入式軟件產品創(chuàng)造了巨大的商業(yè)機會,同時也對嵌入式軟件的開發(fā)技術和測試技術提出了新的挑戰(zhàn)。嵌入式系統(tǒng)必須依賴于高品質的硬件和高性能的軟件,因
2、此對于測試欣人式系統(tǒng)而言,硬件測試和軟件測試都是至關重要的部分。而詼入式系統(tǒng)及軟件對可靠性的要求比較高,嵌入式系統(tǒng)安全性的失效可能會導致災難性的后果,即使是非安全性系統(tǒng),出于大批量生產也會導致嚴重的經(jīng)濟損失。這就要求對嵌入式系統(tǒng)及軟件必須進行嚴格的測試、確認和驗證。2嵌入式系統(tǒng)軟件的特征嵌入式處理器的應用軟件是實現(xiàn)嵌入式系統(tǒng)功能的關鍵,對嵌入式處理器系統(tǒng)軟件和應用軟件的要求也和通用計算機有所不同:1)軟件要求固態(tài)化存儲。為了提高執(zhí)行速度和系統(tǒng)可靠性,嵌入式系統(tǒng)中的軟件一般都固化在存儲器芯片或單片機本身中,而不是存貯于磁盤等載休中。2)軟件代碼高質量、高可靠
3、性。盡管半導體技術的發(fā)展使處理器速度不斷提高、片上存儲器容量不斷增加,但在大多數(shù)應用中,存儲空間仍然是寶貴的,還存在實時性的要求。為此要求程序編寫和編譯工具的質量要高,以減少程序二進制代碼長度、提高執(zhí)行速度。3)系統(tǒng)軟件(0S)的高實時性是基本要求。在多任務嵌入式系統(tǒng)中,對垂耍性各不相同的任務進行統(tǒng)籌兼顧的合理調度是保證每個任務及時執(zhí)行的關鍵,單純通過提高處理器速度是無法完成和沒有效率的,這種任務調度只能由優(yōu)化編寫的系統(tǒng)軟件來完成,因此系統(tǒng)軟件的高實時性是基本要求。4)多任務操作系統(tǒng)是知識集成的平臺和走向工業(yè)標準化道路的基礎。5)嵌入式系統(tǒng)軟件需要RTOS
4、開發(fā)平臺。嵌入式系統(tǒng)與通用計算機不同,應用程序可以沒有操作系統(tǒng)直接在芯片上運行;但是為了合理地調度多項任務、利用系統(tǒng)資源、系統(tǒng)函數(shù)以及和專家?guī)旌瘮?shù)接口,用戶必須口行選配RTOS開發(fā)平臺,這樣能保證程序執(zhí)行的實時性、可靠性,并減少開發(fā)時間,保障軟件質量。3測試策略在嵌入式軟件測試中,采用正確的測試策略,可以提高嵌入式軟件性能測試效率,避免H標系統(tǒng)的瓶頸。自從出現(xiàn)高級語言,開發(fā)環(huán)境與最終運行?環(huán)境通常都是存在差異的,嵌入式系統(tǒng)更是如此。開發(fā)環(huán)境被認為是主機平臺,軟件運行環(huán)境為日標平臺。相應的測試為losttarget測試和或cross—testing.對于嵌入
5、式軟件測試或叫交義測試(cross—test),在測試的齊個階段有著通用的策略:3.1單元測試所有單元級測試都可以在主機環(huán)境上進行,除非少數(shù)情況,特別具體指定了單元測試直接在忖標環(huán)境進行.最大化在主機環(huán)境進行軟件測試的比例,通過盡可能小的目標單元訪問所有目標指定的界面?在主機平臺上運行測試的速度比在目標平臺上快得多,當在主機平臺完成測試時,可以在目標環(huán)境上重復作一次簡單的確認測試,確認測試結果在主機和忖標機上沒有被他們的不同影響.在H標環(huán)境上進行確認測試將確定一些未知的、未預料到的、未說明的主機與口標機的不同.例如,冃標編譯器可能有bug,但在主機編譯器上
6、沒有。3.2集成測試軟件集成也可在主機環(huán)境上完成,在主機平臺上模擬目標環(huán)境運行,當然在日標環(huán)境上重復測試也是必須的,在此級別上的確認測試將確定一些環(huán)境上的問題,比如內存定位和分配上的一些錯誤.在主機環(huán)境上的集成測試的使用,依賴于目標系統(tǒng)的具體功能有多少.有些嵌入式系統(tǒng)與口標環(huán)境耦合的非常緊密,若在主機環(huán)境做集成是不切實際的.一個犬型軟件的開發(fā)可以分兒個級別的集成。低級別的軟件集成在主機平臺上完成有很大優(yōu)勢,越往后的集成越依賴于目標環(huán)境。3.3確認測試和系統(tǒng)測試所有的確認測試和系統(tǒng)測試必須在H標環(huán)境下執(zhí)行.當然在主機上開發(fā)和執(zhí)行系統(tǒng)測試,然后移植到FI標環(huán)境
7、重復執(zhí)行是很方便的.對冃標系統(tǒng)的依賴性會妨礙將主機環(huán)境上的系統(tǒng)測試移植到忖標系統(tǒng)上,況且只有少數(shù)開發(fā)者會卷入系統(tǒng)測試,所以有時放棄在主機環(huán)境上執(zhí)行系統(tǒng)測試可能更方便?確認(驗收)測試最終的實施舞臺必須在目標環(huán)境中,系統(tǒng)的確認必須在真實系統(tǒng)之下測試,而不能在主機環(huán)境下模擬.這關系到嵌入式軟件的最終使用.包括恢復測試、安全測試、強度測試、性能測試,已超出了軟件測試的范疇,本文暫不討論.使用有效的cross—test測試策略可以極大的提高域入式軟件開發(fā)測試的水平和效率,應用以上測試工具進行cross—test時的策略如下:1)使用測試工具的插裝功能(主機環(huán)境)執(zhí)
8、行靜態(tài)測試分析,并且為動態(tài)覆蓋測試準備好一插裝好的軟件代碼。2)使