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