鄧平++陳晶晶
摘 要在計算機行業(yè)的不斷發(fā)展中,嵌入式計算機越來越普及,且這種類型的計算機能夠滿足不同用戶對不同功能的需求。雖然嵌入式計算機的功能更加強大,但其內部的結構相對其他類型的計算機也更復雜。因此,在對嵌入式計算機進行軟件測試時,其難度也更大。本文對嵌入式計算機及其軟件測試進行描述,并對其軟件測試關鍵技術進行研究,希望能進一步提高嵌入式計算機軟件的穩(wěn)定性。
【關鍵詞】嵌入式 計算機軟件 測試技術
嵌入式計算機軟件的使用必須基于一定的硬件平臺,所以其具有專用性,其運行和開發(fā)所處的環(huán)境也是不同的。正是由于嵌入式計算機軟件的開發(fā)方式是交叉式的,所以其又具有復雜性。為確保嵌入式計算機軟件運行的可靠性,就需要對其進行測試。
1 嵌入式計算機及其軟件測試特點
1.1 嵌入式計算機
嵌入式計算機是一種計算機系統(tǒng),是針對特定的技術、網絡或者功能而設計開發(fā)的。將計算機技術與嵌入式系統(tǒng)結合起來,不僅能完善計算機硬件功能,還能完善計算機軟件功能,從而滿足不同用戶對計算機功能的要求。由于嵌入式計算機是針對特定的功能而開發(fā)的,所以在開發(fā)過程中,不僅要嚴格控制開發(fā)成本,還要盡可能的提高計算機功能的可靠性,并根據實際的需要確定出計算機的大小。在計算機的各種硬件和軟件中運用嵌入式技術,能夠對計算機技術進行優(yōu)化。因此,嵌入式計算機技術能在工業(yè)生產中得到廣泛的應用,通過提高工業(yè)生產的效率,能夠改善產品的質量,從而促進我國工業(yè)的發(fā)展。
1.2 嵌入式計算機軟件測試
嵌入式計算機軟件測試,需要將兩臺計算機連接起來,其中一臺計算機是宿主計算機,另一臺是目標計算機。宿主計算機并不是固定的,既可以是一臺計算機,也可以是一個工作站,所以它是一個通用的平臺。目標機的作用則是為嵌入式系統(tǒng)提供其運行所需的空間,以確保嵌入式系統(tǒng)能夠正常的運行。在軟件進行編譯時,是利用通用的計算機來進行的,在完成軟件的編譯后,就可將其下載到目標機中,然后就能將數據進行傳輸,并確保程序能正常運行。
1.3 嵌入式計算機軟件測試的特點
在嵌入式計算機軟件的運行過程中,必須確保數據信息的真實性和實效性,所以其內存空間不能過大。并且,在嵌入式計算機軟件的開發(fā)過程中,會用到不同類型的開發(fā)工具,以及不同類別的中央處理器,且這些工具和處理器的價格都比較高,所以其與普通軟件之間的差別就比較明顯。隨著嵌入式計算機軟件應用范圍的不斷擴大,軟件系統(tǒng)的復雜程度也在不斷加深,所以嵌入式軟件測試的難度也越來越大,這就促使著計算機軟件測試技術向更加復雜的方向發(fā)展。在對嵌入式計算機軟件進行測試時,需要不斷的切換宿主機和目標機。由于在對目標機進行測試時,不僅需要花費大量的時間,還需要投入大量的資金,而在對宿主機進行測試時,則不需要考慮這些成本,所以研究人員正在設法將測試進行轉移,試圖只通過宿主機就能完成整個測試工作。
2 宿主機測試技術
2.1 靜態(tài)測試技術
靜態(tài)測試技術的測試對象是整個嵌入式計算機軟件系統(tǒng),通過連接各類數據,能夠對源碼進行追蹤,從而確定出其程序編程、以源碼為依據而繪制出來的相關程序邏輯圖,以及嵌入式計算機系統(tǒng)軟件的相應程序結構。此外,利用靜態(tài)測試技術,還可實現各種圖形之間的轉換,包括框架圖、邏輯圖和流程圖等。傳統(tǒng)的嵌入式計算機軟件測試,是通過人工的方式來進行的,測試人員在對軟件檢測時,不僅要檢測程序的設計流程,還需要檢測數據的算法是否正確,然后再對程序進行虛擬運行,以確定出軟件出錯的地方。隨著嵌入式計算機軟件的普及,以及其開發(fā)的越來越復雜,其開發(fā)工作不再是一名工程師就能完成的,而是需要許多工程師的共同協(xié)作才能完成。并且,軟件程序的原始數據也不是儲存于同一臺計算機中的,是以分散的形式儲存在多臺計算機中,所以不可能再依靠人工的方式來完成對嵌入式計算機軟件的測試。靜態(tài)軟件測試技術在對軟件進行測試時,不需要對每臺計算機都進行檢測,只要獲取系統(tǒng)中的數據,就能判斷出軟件出錯的地方,這種測試技術不僅很方便,還能節(jié)約測試時間。
2.2 動態(tài)測試技術
動態(tài)測試技術的測試對象是軟件代碼,主要檢測軟件代碼的執(zhí)行能力是否能達到設計要求。在對其進行檢測時,還需要確定出其覆蓋率,從而對軟件的功能進行測試。通過動態(tài)測試技術,能找出軟件中的缺陷,從而針對性的對系統(tǒng)進行改正,促進嵌入式計算機軟件系統(tǒng)的發(fā)展。同時,利用動態(tài)測試技術,還可對軟件的設置情況進行檢測,針對其中已經完成開發(fā)的數據,還能檢測出其完整性,從而為軟件的開發(fā)提供相應的依據。同時,通過動態(tài)檢測技術可對軟件中的所有函數進行分析,并根據內存的分配情況,將每種元素的分配情況顯示出來。
3 目標機測試技術
3.1 內存分析技術
由于嵌入式計算機系統(tǒng)的內存都比較小,所以利用內存分析技術對其進行檢測時,能夠確定出其中存在問題的部分。嵌入式計算機軟件發(fā)生故障的頻率比較高,很大原因就是因為其內存的分配不合理。如果內存的分布存在錯誤,就無法進行二次分布,從而對數據信息造成影響,使其失去實效性。因此,利用內存分析技術可對其內存分配情況進行檢測,從而找出內存分配錯誤的地方,并查找出錯誤的原因,針對性的對其加以改正。一般情況下,應先利用硬件分析的方式來對內存進行檢測,但這種檢測方式的花費比較高,所耗費的時間比較長,且環(huán)境因素會對分析工具造成一定的影響,在對軟件進行分析時,也會影響到計算機的代碼和內存的運行狀況。所以在對嵌入式計算機軟件系統(tǒng)的內存進行分析時,需要根據測試需要,合理選擇正確的測試方法,否則就會影響測試結果的準確性。
3.2 故障注入技術
在嵌入式計算機軟件處于運行狀態(tài)時,仍然可對其進行設置,但需要依靠人工的方式來完成設置。同時,要完成這類設置,還要求目標機中的各類部件功能要有所保障,其運行能按照所設置的時間和方式來進行。在利用故障注入技術對目標機進行測試時,可只測試目標機其中的一部分,從而針對性的檢測目標機中的某項性能,如邊界測試、強度性測試等都會用到故障注入技術。通過這樣的測試,能將嵌入式計算機軟件的運行狀態(tài)更加明顯的表現出來。
3.3 性能分析技術
在對目標機進行測試時,性能分析技術是必不可少的一種技術,其主要作用是對嵌入式計算機系統(tǒng)軟件的性能進行測試,以確保其性能的穩(wěn)定性。嵌入式系統(tǒng)是否能正常運行,在很大程度上取決于程序的性能是否良好。而利用性能分析技術對程序的性能進行分析,能夠發(fā)現其中存在的問題,并找出問題根源,采取針對性的措施解決這些問題,從而提高嵌入式計算機軟件質量。
4 仿真機測試技術
4.1 數據獲取技術
在對仿真機的數據進行檢測時,往往需要依靠大量的數據信息來進行,而在對嵌入式計算機軟件進行檢測前,應準備好軟件設計過程中產生的源代碼。利用仿真測試技術,能夠獲取更加完整的數據信息,在對數據進行緩存處理后,可將測試工具充分的利用起來,對其進行更改,從而確保數據能夠被正常的輸入。在完成測試工作后,可讀取出已經緩存的數據,并將其保存在計算機系統(tǒng)中。但是,在利用仿真檢測技術對嵌入式計算機軟件進行測試時,要設置好緩存容量,超過測試容量就無法順利完成測試。
4.2 仿真測試技術
在利用仿真測試技術對嵌入式計算機軟件進行測試時,要將各類數據信息收集起來,并對其進行集中處理。并且,此技術需要在其他技術的支撐下才能順利進行,從而完成對數據的仿真模擬。在模擬過程中,能夠掌握軟件是怎樣使用的,再根據軟件性質的不同,將其進行分類,從而確保測試結果的準確性。此外,在測試過程中,要確保傳輸信號的穩(wěn)定性,這樣才能提高不同數據信息的實時性。
5 結束語
綜上所述,隨著計算機技術的不斷發(fā)展,嵌入式計算機軟件的應用范圍在不斷的擴大。因此,為確保嵌入式計算機軟件在運行過程中的穩(wěn)定性,就需要對其進行測試。不僅要對宿主機進行測試,還需要對目標機和仿真機進行測試,只有對整個嵌入式計算機系統(tǒng)進行全面的測試,才能進一步提高嵌入式計算機系統(tǒng)的質量。
參考文獻
[1]張兵星.探討計算機軟件測試的相關技術應用[J].中國管理信息化,2016(04):169.
[2]高俊,鄒金萍.計算機軟件測試技術與開發(fā)應用研究[J].中國管理信息化,2016(07):176-177.
[3]楊洋,唐超.嵌入式武控計算機軟件測試關鍵技術的應用[J].科技與創(chuàng)新,2016(20):160.
作者單位
1.中國太平洋保險(集團)股份有限公司 上海市 200082
2.上海理工大學能源與動力工程學院 上海市 200082