李鼎
(江蘇省淮陰商業學校,江蘇 淮安 223003)
嵌入式計算機在目前的計算機行業中,是一種非常先進的技術。它不是一種通常意義的計算機,而是針對某一個項目而專門開發的計算機。通過運用嵌入式計算機,可使工作效率獲得極大的提升。被安裝在嵌入式計算上面的軟件,被稱為是嵌入式軟件。通常情況下,需要結合工作需求,完成嵌入式計算機軟件的功能,這樣才能對正常運作計算機軟件提供保障。將嵌入式軟件測試系統應用于網絡計算機硬件平臺中,能對合理的軟件配置項、執行單元指令、集成不同軟件系統提供保障。在電子通信、國際軍事和航天航空等行業中引入嵌入式軟件測試,能夠有效減少網絡系統故障,避免出現各類安全事故。
作為計算機系統的一種,嵌入式計算機主要是結合特定的功能和技術開發和設計。通過緊密結合和統一利用嵌入式的系統與計算機技術,由此最大化地滿足客戶多樣化的需求。因此在該軟件的開發過程中,既可以對計算機的特定功能給予滿足,還能有效管控成本。并且與實際需求相結合,促進工業生產效率和產品質量的不斷提高,因此廣泛運用于市場中。
該軟件能夠很好地管理、控制和監視整個網絡軟件系統的運行狀況。通常將其劃分為三個不同的層次,使既定的數據傳輸管理服務、計算機軟件指令控制得以有效完成。美國 Wind River System 公司開發的VxWorks 嵌入式軟件系統,是國內普遍使用的嵌入式軟件產品。遵循各項任務要求,如輸入、輸出和運算等,使計算機軟件測試的處理工作能夠在短時間內完成,為順利開發應用用戶程序和計算機內部高效任務調度提供保障。
為了對軟件的應用質量和應用可靠性提供保障,需要多次反復測試軟件,通過分析,對嵌入式軟件應用質量和應用可靠性提供保障。同時,嵌入式軟件目標機與主機在處理器和操作系統等方面的差異比較明顯,因為特性復雜,因此有著更加復雜的嵌入式軟件。一般情況下,這里所說的宿主機,具體是指一些較為通用的計算機,包括微機和工作站。將具有嵌入式系統通訊的宿主機與目標機進行嚴格劃分,是發揮目標機作用的關鍵。而縱觀嵌入式計算機軟件測試的應用范圍,在自動化、空導彈、工業等方面,應用也非常廣泛。但是為了便于數據從宿主機向目標機傳輸,對宿主機的網絡性能和硬盤的要求也越來越高。宿主機主要功能是開發、運行和測試軟件,對軟件測試的操作系統進行承載,并營造計算機軟件測試環境。目標機能夠對多種應用環境進行模擬,具有極強的能力負責計算機軟件測試,及時發現存在于計算機軟件中的各種問題[1]。
目前針對嵌入式軟件測試理論、測試方法的逐步引入,我國開始逐漸加大了研究和關注力度,不斷完善軟件測試工具的自動化測試方案。而新形勢下,我國通信行業、網絡研究所和各大高校等,主要是開展自動化測試與管理的工作。同時,我國也開始自行研制 GESTE 嵌入式軟件,通過多個層級,包括硬件驅動層、操作系統層、軟件應用層等的有效運用,結合不同的計算機網絡軟件運行環境,開展多樣化的工作。包括計算任務、識別目標、處理前端信號等。但相比于國外發達國家,我國嵌入式軟件測試還存在很大的差距。
只有準確模擬被測軟件的實際運行環境,才能將應用程序測試完成。目前,在執行過程中,還有以下難點問題存在。
若是在計算機系統上加載該執行程序,就必須要完全確定軟件功能服務的測試項目。因為消耗資源量極大,由此影響了應用軟件的分析測試。
計算機軟件測試中的數據信號傳輸,在沒有完善嵌入式硬件輔助設備、軟件設施的前提下,測試用例很難從測試軟件輸入,也缺乏客觀性的目標應用程序測試結果。另外,嵌入式軟件具有較小的規模和較大的測試難度[2]。
5.1.1 靜態測試技術
將靜態測試技術應用于嵌入式計算機軟件測試中,具有很大的優勢,其主要特點如下:
(1)審查體系相對規范。隨著日益發展和完善的靜態測試技術,也大幅度增強代碼審查能力,并且有著更加規范和嚴密的審查過程。憑借著宿主機掃描功能的強大,通過靜態測試技術的有效運用,嚴格審查和驗證計算機軟件代碼。能夠有效發現代碼中存在的詞法和語法錯誤,由此對于規范和嚴密的計算機軟件測試提供了保障;
(2)具有較快的軟件測試速度。靜態測試技術相比于傳統的人工測試,能大幅度地增強靜態掃描功能,因此對于具有較多代碼行數和復雜功能的計算機軟件比較適合;
(3)具有較高的誤報率。受靜態測試技術自身在語法詞義、算法等方面的影響,會產生過多的誤報率。在運行靜態測試技術的過程中,主要使用以下關鍵技術:(1)分析代碼語法。通過Yacc工具,整理好存在語法錯誤的代碼。
(2)分析代碼控制流。靜態測試技術可從多個方面掃描計算機軟件中的宿主機、目標機,從而確定計算機軟件代碼的節點,這樣能夠及時發現計算機軟件控制流圖中存在的代碼錯誤;
(3)分析代碼污點。其目標是及時發現計算機軟件中所存在的薄弱點,并對哪些代碼易成為計算機軟件的漏洞進行彌補。同時采取加強措施,以免受到黑客的攻擊[3]。
5.1.2 動態測試技術
該技術必須要在各個嚴苛的測試環境中運用,動態測試技(1)術在運行軟件時,主要運用了以下技術:
單元測試技術。檢測其是否存在不合理的基本單元結構,是否有邏輯錯誤存在;
(2)集成測試。檢測計算機軟件內部各部分之間的聯系是否正確,是集成測試的目的。一旦有問題存在于連接端口上,則不能有效調用受測計算機軟件,因為BUG被計算機軟件頻繁彈出,因此會及時發現問題;
(3)系統測試。主要是對系統結構、邏輯路徑等多個方面進行測試。為了有效開展系統測試,需要測試人員的測試經驗豐富,業務水平較強,才能及時發現受測計算機軟件中存在的問題;
(4)驗收測試。其問題是不能細化測試過程,需要軟件測試人員擁有較高的素質。只有緊密結合動態測試技術,才能真正提高軟件測試的能力[4]。
5.1.3 目標機測試研究
在檢測過程中,應對目標機的綜合能力高度重視,既在測試軟件交互能力的同時,還要對其可靠性和安全性提供保障,保障測試結果最大化地符合計算機軟件的性能。
(1)故障注入。目前,我們可以人為設置嵌入式計算機軟件的運行狀態。目標機具備相應的功能,是人為設置這一功能的關鍵,而運行時間的設置,必須要根據運行方法。故障注入技術是指在目標機測試其中某一部分,對目標機的整體性能進行檢測。
(2)內存分析技術。因為內存分配錯誤會造成嵌入式計算機軟件出現故障,所以,計算機軟件開發研究人員應詳細分析內存技術。因為分析硬件會將大量的資金消耗掉,同時環境因素也極容易影響到分析硬件的工具。輕則會對軟件分析帶來影響,嚴重的則會威脅到內存的正常運行。所以,在研究和分析內存時,計算機軟件開發研究人員應與內存的具體情況相結合,選擇針對性的測試方法[5]。
相比于宿主機,仿真機更加真實和直觀。仿真機測試還能對嵌入式軟件的主要技術進行測試,并在宿主機及目標機上作用測試結果。而在這個過程中,需要較大的數據量,因此對于數據準確性的要求是非常高的。在測試完成后,還可在計算機中存儲緩存的數據。為了能在測試過程中集中處理數據,就需要相關技術的支持,這樣才能對順利開展仿真測試工作提供保障。同時,在整個仿真模擬過程中,還能對技術的使用過程清晰地呈現,再分類仿真測試軟件的性質,以產生更加精確的仿真測試結果。在測試過程中,需要有相對穩定的傳輸信號,是仿真機仿真測試的關鍵,這樣才能對仿真測試數據信息實現實時性提供保障。它是在嚴苛的環境中獲取真實的測試數據,在嵌入式計算機軟件測試中,將軟件測試數據向目標機發送。為了使測試更加準確,可在目標機上輸入一些故障,分析諸如信息處理、圖片識別等某一個功能經常發生的故障,在目標機中主動輸入故障信息,并做好相應的記錄[6]。
在人們的生產和生活中,嵌入式計算機軟件發揮著重要的作用,在社會各個領域中有著非常廣泛的運用。利用仿真測試技術的輔助,在嚴苛的測試環境中進行,能夠全面監測受測試軟件,由此促進嵌入式計算機軟件的開發質量的不斷提升。