邢布雨 韋勇宇 梁美美 翟曉峰 李經(jīng)緯
摘 要:隨著經(jīng)濟和科技的發(fā)展,計算機相關行業(yè)也逐漸興起。嵌入式計算機是現(xiàn)今比較熱的一種計算機技術。其應用范圍也越來越廣闊,在嵌入式計算機的使用過程中能很好的實現(xiàn)用戶的需求。但是,相對一般的計算機,嵌入式計算機的結構是比較復雜,就需要我們使用一定的方法對它進行測試。
關鍵詞:嵌入式計算機;軟件測試;關鍵技術;研究
引言
近年來嵌入式計算技術不斷進行改革和創(chuàng)新,在社會生活的各個領域都有了廣泛的應用,行業(yè)內對軟件質量和性能的重視程度也不斷加深,以滿足目前日益增長的軟件測試需求。嵌入式計算機軟件測試工作中最主要重點的內容就是檢測軟件質量。嵌入式計算機軟件技術的應用范圍不斷擴大,并且系統(tǒng)的發(fā)展也越來越復雜,必須加強對計算機軟件測試關鍵技術的探討。
1 嵌入式軟件測試的基本概述
1.1 嵌入式計算機軟件測試的含義
嵌入式計算機軟件測試通常情況下是指,通過嵌入式計算機把宿主計算機和目標計算機進行連接。宿主計算機是指通用的平臺,目標機則是指給嵌入式系統(tǒng)提供運行平臺的作用,保證系統(tǒng)可以平穩(wěn)運行。通過利用計算機進行軟件編譯處理,運用目標機把編譯好的軟件進行下載,發(fā)揮數(shù)據(jù)傳輸和程序運行的基本作用。
1.2 嵌入式計算機軟件測試的特征
嵌入式計算機軟件測試注重實時保證數(shù)據(jù)資料的完整,這就導致其中的內存空間較小,并且會需要比較貴的開發(fā)工具以及中央處理器,這些都導致嵌入式計算機軟件測試和普通軟件測試不同。隨著科學技術水平的提升,嵌入式計算機軟件系統(tǒng)已經(jīng)在社會中有了很大程度上的應用,并且范圍也越來越大。由于嵌入式計算機軟件系統(tǒng)越來越復雜,相關的測試工作開展也遇到不同成都的困難。嵌入式計算機軟件測試會消耗大量的經(jīng)費和時間,在進行宿主機測試的過程中,受到時間和經(jīng)費的限制較小,目前主要的研究方向是如何把測試轉變到宿主機中進行。
1.3嵌入式軟件
顧名思義,嵌入式軟件就是安裝在嵌入式計算機上的一種應用軟件,可以對軟件的功能進行獨立操作。嵌入式計算機軟件主要包括嵌入式微處理器、控制器、傳感器、儲存器及定時器。嵌入式計算機軟件與其他計算機軟件相比更具專業(yè)性。另外,嵌入式計算機軟件只能運行于特定平臺或者系統(tǒng),因為開發(fā)嵌入式計算機軟件的環(huán)境與運行環(huán)境有一定的差異,所以不能在同一網(wǎng)絡環(huán)境中使用。但安裝了嵌入式計算機軟件的計算機可以實現(xiàn)很多常規(guī)計算機所不能實現(xiàn)的功能,例如實時監(jiān)控、實時管理設備以及實時處理數(shù)據(jù)等功能,真正實現(xiàn)了現(xiàn)代自動化的電子處理功能,可以說嵌入式計算機軟件是實現(xiàn)自動化和智能化的一個重要途徑,而且也是自動化技術的核心。
2 嵌入式計算機軟件測試的主要技術
2.1宿主機測試技術
2.1.1靜態(tài)測試技術
靜態(tài)測試技術的測試對象是整個嵌入式計算機軟件系統(tǒng),通過連接各類數(shù)據(jù),能夠對源碼進行追蹤,從而確定出其程序編程、以源碼為依據(jù)而繪制出來的相關程序邏輯圖,以及嵌入式計算機系統(tǒng)軟件的相應程序結構。此外,利用靜態(tài)測試技術,還可實現(xiàn)各種圖形之間的轉換,包括框架圖、邏輯圖和流程圖等。傳統(tǒng)的嵌入式計算機軟件測試,是通過人工的方式來進行的,測試人員在對軟件檢測時,不僅要檢測程序的設計流程,還需要檢測數(shù)據(jù)的算法是否正確,然后再對程序進行虛擬運行,以確定出軟件出錯的地方。隨著嵌入式計算機軟件的普及,以及其開發(fā)的越來越復雜,其開發(fā)工作不再是一名工程師就能完成的,而是需要許多工程師的共同協(xié)作才能完成。并且,軟件程序的原始數(shù)據(jù)也不是儲存于同一臺計算機中的,是以分散的形式儲存在多臺計算機中,所以不可能再依靠人工的方式來完成對嵌入式計算機軟件的測試。靜態(tài)軟件測試技術在對軟件進行測試時,不需要對每臺計算機都進行檢測,只要獲取系統(tǒng)中的數(shù)據(jù),就能判斷出軟件出錯的地方,這種測試技術不僅很方便,還能節(jié)約測試時間。
2.1.2動態(tài)測試技術
動態(tài)測試技術的測試對象是軟件代碼,主要檢測軟件代碼的執(zhí)行能力是否能達到設計要求。在對其進行檢測時,還需要確定出其覆蓋率,從而對軟件的功能進行測試。通過動態(tài)測試技術,能找出軟件中的缺陷,從而針對性的對系統(tǒng)進行改正,促進嵌入式計算機軟件系統(tǒng)的發(fā)展。同時,利用動態(tài)測試技術,還可對軟件的設置情況進行檢測,針對其中已經(jīng)完成開發(fā)的數(shù)據(jù),還能檢測出其完整性,從而為軟件的開發(fā)提供相應的依據(jù)。同時,通過動態(tài)檢測技術可對軟件中的所有函數(shù)進行分析,并根據(jù)內存的分配情況,將每種元素的分配情況顯示出來。
內存分配實用信息、全面分析代碼的覆蓋率以及代碼的動態(tài)執(zhí)行能力組成了動態(tài)測試技術的重點。代碼的覆蓋率是在測試代碼執(zhí)行過程中的執(zhí)行結果,在提升軟件測試的有效性時可以試著從提升對代碼覆蓋率的監(jiān)控能力的角度出發(fā),這也有助于科研人員掌控軟件測試的完成度并為科研人員的監(jiān)控過程提供可靠的數(shù)據(jù)支持。
2.2仿真機測試技術
2.2.1數(shù)據(jù)獲取技術
在對仿真機的數(shù)據(jù)進行檢測時,往往需要依靠大量的數(shù)據(jù)信息來進行,而在對嵌入式計算機軟件進行檢測前,應準備好軟件設計過程中產生的源代碼。利用仿真測試技術,能夠獲取更加完整的數(shù)據(jù)信息,在對數(shù)據(jù)進行緩存處理后,可將測試工具充分的利用起來,對其進行更改,從而確保數(shù)據(jù)能夠被正常的輸入。
2.2.2仿真測試技術
在利用仿真測試技術對嵌入式計算機軟件進行測試時,要將各類數(shù)據(jù)信息收集起來,并對其進行集中處理。并且,此技術需要在其他技術的支撐下才能順利進行,從而完成對數(shù)據(jù)的仿真模擬。在模擬過程中,能夠掌握軟件是怎樣使用的,再根據(jù)軟件性質的不同,將其進行分類,從而確保測試結果的準確性。此外,在測試過程中,要確保傳輸信號的穩(wěn)定性,這樣才能提高不同數(shù)據(jù)信息的實時性。
2.3對目標機進行測試
2.3.1故障注入
在嵌入式計算機軟件處于運行狀態(tài)時,仍然可對其進行設置,但需要依靠人工的方式來完成設置。同時,要完成這類設置,還要求目標機中的各類部件功能要有所保障,其運行能按照所設置的時間和方式來進行。在利用故障注入技術對目標機進行測試時,可只測試目標機其中的一部分,從而針對性的檢測目標機中的某項性能,如邊界測試、強度性測試等都會用到故障注入技術。通過這樣的測試,能將嵌入式計算機軟件的運行狀態(tài)更加明顯的表現(xiàn)出來。
2.3.2內存分析
嵌入式計算機在運行的過程中會產生大量的數(shù)據(jù),所以對系統(tǒng)內存的分析是非常重要的。使用內存分析技術可以很好的保證系統(tǒng)的正常運行。在運行的過程中能夠高效的找出內存問題,對內存進行合理的劃分。
2.3.3性能分析
計算機在運行的過程中對程序性能的要求是非常重要的,所以在運行過程中我們需要我們采用程序性能分析技術對系統(tǒng)數(shù)據(jù)進行分析和決斷,節(jié)省系統(tǒng)的運行時間,加快運行速度。對程序性能分析技術的采用,能夠清晰的顯示系統(tǒng)每一模塊運行的時間,對時間近進行排序,利于工作人員對程序的分析。
結束語
綜上所述,隨著計算機技術的不斷發(fā)展,嵌入式計算機軟件的應用范圍在不斷的擴大。因此,為確保嵌入式計算機軟件在運行過程中的穩(wěn)定性,就需要對其進行測試。不僅要對宿主機進行測試,還需要對目標機和仿真機進行測試,只有對整個嵌入式計算機系統(tǒng)進行全面的測試,才能進一步提高嵌入式計算機系統(tǒng)的質量。
參考文獻
[1]鄧平,陳晶晶.嵌入式計算機軟件測試關鍵技術[J].電子技術與軟件工程.2017(11)
[2]余學文.嵌入式計算機軟件測試關鍵技術探討[J].電子技術與軟件工程.2018(08)