賀穎 劉亭利
關鍵詞:嵌入式;計算機;軟件測試
中圖法分類號:TP312 文獻標識碼:A
嵌入式計算機主要是指針對某個項目或者某個行業開發的專業計算機,其不僅可以滿足需求開發功能,也能在極大程度上提升工作效率。嵌入式軟件為計算機中需要進行安裝的軟件,需結合需求體現功能性,因此軟件需具備良好的穩定性。測試嵌入式計算機中使用的軟件,可以使軟件正常運行。
1嵌入式計算機軟件
嵌入式計算軟件為嵌入式計算機需要使用的軟件,其可以展開獨立功能操作。軟件主要為傳感器、微笑處理器、定時器、控制器等,利用電子器件或者是電子芯片將軟件安裝在嵌入式計算機中,使計算機具備常規計算機并不具備的功能,如設備管理、實時監控、移動計算、數據處理等,促進了現代化電子處理,這是實現智能化、自動化社會的有效途徑。就嵌入式計算機來講,軟件為自動化組成核心。對軟件進行分類時,可以將其分為簡單系統和復雜系統兩種。簡單系統僅能完成一項功能,典型性嵌入系統為單機片,借助ROM技術使用系統,進而實現對程序的有效控制;復雜系統在功能上和普通計算機區別不大,只是復雜系統中安裝了微型嵌入式系統和嵌入式軟件,可以使計算機獲得更為完善的功能。
2軟件測試
進行軟件測試時,需將指定功能程度,并將系統失效的可能性暴露出來。在測試時,首先需體現出有限性,也就是執行測試次數需為有限,并且保證測試過程具備可管理性,即有限資源和無限、潛在測試需求達到平衡,而測試時需制定合理判定準則;其次,在測試中關鍵要選擇有限測試用例,在選擇不同測試用例的情況下,獲得的結果往往會有所不同;最后,預測性——針對程序執行以后結果是否具備可接受性進行判定。
3嵌入式計算機軟件測試
嵌入式計算機會將目標計算機和宿主計算機進行連接。宿主計算機為通用平臺,而目標計算機可以為嵌入式計算機提供運行平臺,保證系統處于平穩運行狀態。工作基礎是通過計算機展開軟件編譯與軟件處理;目標下載編譯好的軟件——充分發揮軟件的運行、數據傳輸等基本功能。嵌入式計算機在使用時,為保證應用質量與可靠性,往往需要針對軟件展開多次測試,基于多次測試及時發現錯誤。嵌入式軟件具有一定的獨特性和專業性,運作時需處于特定平臺,并且運行環境、開發環境也均具備各自的特點,需基于宿主機展開編譯與編輯。嵌入式計算機應在重量、體積、形狀等多個方面適應宿主的基本要求。
在嵌入式計算機軟件實際適用范圍不斷擴展的背景下,軟件的復雜性也需相應有所提升。因此,軟件測試的整體難度有所增加。實際測試時,需不斷對目標機和宿主機進行切換,進而保證測試效果。
4嵌入式計算機軟件測試技術
4.1宿主機測試
4.1.1動態測試
運用動態測試技術的必要條件是軟件處于運行狀態,和靜態測試技術之間存在較大區別。其原理在于軟件運行過程中,將預期目標和實際目標展開對比,了解二者存在的差距,并對差異進行分析,進而對受檢測對象的運行效果、質量等進行有效分析,為實現性能提升提供合理參考。運用動態測試技術時需獲得集成測試、單元測試、驗收測試、系統測試等的支撐,這些測試彼此之間的聯系密切。運用動態測試技術展開檢測時,主要對象為軟件代碼———測試軟件代碼的性能,了解軟件代碼的實際執行能力。同時,動態測試技術能夠對軟件設置情況進行分析,檢測軟件存在的缺陷,對于嵌入式計算機的優化有較大促進作用。
4.1.2靜態測試
靜態測試技術能夠進行自動檢測,捕捉錯誤信息,且編譯標準比較嚴格,具有嚴密的邏輯性,可以避免人工檢測中出現的弊端。在靜態測試技術展開軟件測試時,可以實現數據分析,并且對數據分析的最終結果進行總結,從而自動對源代碼進行追蹤,然后將源代碼作為依據繪制程序邏輯圖和系統程序結構。靜態測試技術的正確率明顯比人工檢測更高,原因在于此技術可以進行圖形轉換。同時,在運用靜態測試技術時,需要將數據作為基礎,而不需要檢測機器,極大縮短了檢測時間,進而充分滿足軟件測試中存在的不同需求。
4.2仿真機測試
4.2.1數據獲取
嵌入式軟件測試需要使用數據與源代碼,仿真機測試與之相同。源代碼產生于軟件設計中,比較容易獲取。但是,數據獲取的難度較大——可以運用物理通道取數、開發工具虛擬I/O指數等方式進行獲取。物理通道取數主要指目標機與主機之間物理通信方式,其中包括USB、并口、串口等,根據物理通道取數形式,可以使數據通信軟件主機之間展開直接通信,并且將此作為基礎,上載測試數據。開發工具虛擬指數是高級開發工具,可以使開發工作得以順利展開,其中包括TORNADO、TICCS等。在目標系統未形成以上兩種獲取措施的情況下,可以運用讀取內存數據方式,加強對內存取數的了解。
當緩存充足時,根據修改測試方面的工具庫,可以將已經輸出的數據寫入緩存中。在進行測試或者測試結束時,可以將緩存記錄讀取出來。并且將此作為基礎,利用主機基于文件形式進行存儲。這種方式主要運用于測試前,需確保緩存大小。合理運用仿真測試技術,可以充分保證數據信息的完整性,實現對數據信息的有效保存。然后通過測試工具進行改造,為輸入數據信息創造良好條件,確保輸入信息的正確性。此外,在正式進行測試前,仿真檢測技術需要具備充足的換粗容量。
4.2.2仿真測試
嵌入式計算機對應的軟件仿真為數據處理系統。以降低局域網絡作為背景,在展開仿真測試時,需先集中數據,然后展開數據管理、數據處理等工作。當前,可以將仿真測試技術劃分為仿真測評控制與仿真技術兩種。仿真測試技術的特點比較鮮明——針對數據進行仿真模擬,需利用特定技術才能實現。運用仿真測試技術時,可以根據對象的差異性展開數據仿真工作,而不同對象在性質上會存在差異,因此數據仿真能夠被劃分成多種不同類型,這可以保證測試時獲得可靠、真實的結果。
4.3測試目標機技術
4.3.1分析
內存內存配置發生錯誤是軟件出現高頻故障的主要原因。內存分配如果出現錯誤,便會終止下一次分布,難以充分保證數據信息的實效性。要想有效解決上述問題,就需重視內存分配技術的運用——通過內存分配技術針對內存分配進行合理檢驗。嵌入式計算機的內存往往較小,這就為快速檢測時內存分配是否存在不合理現象創造了良好條件。同時,內存分析技術可以針對性地降低軟件發生故障的頻率。一般來講,內存分析分為硬件分析與軟件分析兩種。在進行內存檢測時,硬件分析比較常見,但是利用這種方式的成本較高,并且耗時長,在環境因素影響下,可能難以充分發揮作用,甚至可能會出現運行受阻或者是代碼錯誤等問題。在展開內存分析時,選擇合理的方法十分重要。
4.3.2分析性能
嵌入式計算機在進行軟件測試時,性能分析為其中的關鍵技術。性能的優異性是保證計算機正常運行的重要條件,軟件使用者可以直接感知到,進而對好壞作出淺層判斷。想要對計算機軟件系統性能進行深層次分析,需重視性能分析技術。通過運用性能分析技術,可以為軟件測試的有效實施創造良好條件,也能使后期維護獲得充分支持,這主要是因為該技術可具體分析軟件方面的時間消耗、資源消耗及時將問題發現,并及時解決相關問題,借此提升系統性能。在測試程序時,可以率先對軟件代碼進行分析——了解應用代碼,認識到計算機接口的運行效率。在分析結束以后,在執行代碼中融入嵌入式軟件,進而展開綜合性測試。
4.3.3故障注入
嵌入式計算機進行軟件測試建立在目標機和宿主機基礎上,需二者共同發揮作用。在此過程中,宿主機會發出測試數據信息,而目標機需接收數據信息。為保證測試的精準性,需借助于人工設置方式,使軟件根據設置方式、設置時間運行。故障注入技術能將嵌入式計算機中的軟件在運行時產生的功能故障注入目標機,這對目標機的性能以及部件質量要求較高。運用故障注入這一方式,能夠針對目標機的某種性能進行有效測試,也能對故障信息進行分析,將計算機內部實際運行狀態展示出來。
5結束語
當前,嵌入式計算機和人們生活之間的聯系越發緊密,廣泛運用于各個行業。對于飛行控制器、電器來講,運用嵌入式計算機可以使其在功能上變得更加完善。在社會迅速發展背景下,嵌入式技術變得更加復雜,且使用要求更高。因此,應注重對嵌入式計算機軟件進行測試,促進其不斷進步。
作者簡介:
賀穎(1982—),本科,講師,研究方向:計算機應用。
劉亭利(1980—),本科,副研究員,研究方向:計算機圖形圖像等。