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