前言
軟硬件結合的嵌入式系統正越來越多的應用到我們的日常生活中,參予嵌入式系統的研究和開發的開發商也越來越多,從而第三方測試人員會經常接觸到嵌入式系統測試。因此需要第三方測試人員了解嵌入式系統的特性,把握其測試方法。雖然現在有不少與嵌入式系統測試相關的資料,但這些資料都是以第二方測試的角度去討論的,如何從第二方的測試經驗中提取有用經驗,結合第三方測試特點,研究出適合第三方測試使用的嵌入式系統測試方法,正是這一課題的意義所在。
一、嵌入式系統介紹
嵌入式系統是以應用為中心,以計算機技術為基礎,并且軟硬件可裁剪,適用于應用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。它一般由嵌入式微處理器、外圍硬件設備、嵌入式操作系統以及用戶的應用程序等四個部分組成,用于實現對其他設備的控制、監視或管理等功能。
嵌入式系統一般指非PC系統,它包括硬件和軟件兩部分。硬件包括處理器/微處理器、存儲器及外設器件和I/O端口、圖形控制器等。軟件部分包括操作系統軟件(OS)(要求實時和多任務操作)和應用程序編程。有時設計人員把這兩種軟件組合在一起。應用程序控制著系統的運作和行為;而操作系統控制著應用程序編程與硬件的交互作用。
嵌入式系統的核心是嵌入式微處理器。嵌入式微處理器一般就具備以下4個特點:
◆ 對實時多任務有很強的支持能力,能完成多任務并且有較短的中斷響應時間,從而使內部的代碼和實時內核心的執行時間減少到最低限度。
◆ 具有功能很強的存儲區保護功能。這是由于嵌入式系統的軟件結構已模塊化,而為了避免在軟件模塊之間出現錯誤的交叉作用,需要設計強大的存儲區保護功能,同時也有利于軟件診斷。
◆ 可擴展的處理器結構,以能最迅速地開展出滿足應的最高性能的嵌入式微處理器。
◆ 嵌入式微處理器必須功耗很低,尤其是用于便攜式的無線及移動的計算和通信設備中靠電池供電的嵌入式系統更是如此,如需要功耗只有mW甚至μW級。
嵌入式計算機系統同通用型計算機系統相比具有以下特點:
◆ 高可靠性——可靠性主要有兩個方面含義:a)硬件本身要連續穩定運行;b)系統檢查出故障后要有保持安全狀態的能力。雖然硬件抗干擾技術可在一定程度上提高嵌入式系統的可靠性,但是系統的可靠性仍然決定著嵌入式系統的安全運行。
◆ 實時性——實時性指系統對響應時間的嚴格要求,指能在確定的時間內執行其功能,能對外部的異步事件做出快速正確的響應。它分為硬實時和軟實時兩種,前者意味著存在必須滿足的時間限定,在不滿足響應時限、響應不及時或響應過早得情況下都會導致災難性的后果;后者則表示時限并非那么嚴格,偶爾超過時限限制是可以容忍的,只是導致系統性能退化,不會造成災難性后果。
◆ 嵌入式系統通常是面向特定應用的,嵌入式CPU與通用型的最大不同就是嵌入式CPU大多工作在為特定用戶群設計的系統中,它通常都具有低功耗、體積小、集成度高等特點,能夠把通用CPU中許多由板卡完成的任務集成在芯片內部,從而有利于嵌入式系統設計趨于小型化,移動能力大大增強,跟網絡的耦合也越來越緊密。
◆ 嵌入式系統是將先進的計算機技術、半導體技術和電子技術與各個行業的具體應用相結合后的產物。這一點就決定了它必然是一個技術密集、資金密集、高度分散、不斷創新的知識集成系統。
◆ 嵌入式系統的硬件和軟件都必須高效率地設計,量體裁衣、去除冗余,力爭在同樣的硅片面積上實現更高的性能,這樣才能在具體應用中對處理器的選擇更具有競爭力
◆ 嵌入式系統和具體應用有機地結合在一起,它的升級換代也是和具體產品同步進行,因此嵌入式系統產品一旦進入市場,具有較長的生命周期。
◆ 為了提高執行速度和系統可靠性,嵌入式系統中的軟件一般都固化在存儲器芯片或單片機本身中,而不是存貯于磁盤等載體中。
◆ 嵌入式系統本身不具備自舉開發能力,即使設計完成以后用戶通常也是不能對其中的程序功能進行修改的,必須有一套開發工具和環境才能進行開發。
二、嵌入式系統測試
嵌入式系統測試/嵌入式測試或叫交叉測試(cross-test)的目的與非嵌入式軟件是相同的,都是為了查找軟件潛在的缺陷。但在嵌入式系統設計中,軟件正越來越多地取代硬件,以降低系統的成本,獲得更大的靈活性,這就需要使用更好的測試方法和工具進行嵌入式和實時軟件的測試。
針對嵌入式系統的測試種類有:模塊測試、集成測試、系統測試、硬件/軟件集成測試,驗收和確認測試。
作為第三方測試,我們重點關注系統驗收測試和確認測試。
文章來源于領測軟件測試網 http://www.kjueaiud.com/