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