新聞中心

EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 嵌入式軟件系統(tǒng)測試中的仿真系統(tǒng)結(jié)構(gòu)設(shè)計

嵌入式軟件系統(tǒng)測試中的仿真系統(tǒng)結(jié)構(gòu)設(shè)計

作者: 時間:2013-11-11 來源:網(wǎng)絡(luò) 收藏

1 嵌入式系統(tǒng)概述

嵌入式系統(tǒng)是以計算機技術(shù)為基礎(chǔ),以應(yīng)用為中心,并且軟硬件可裁剪,適用于應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計算機系統(tǒng)。

是基于嵌入式系統(tǒng)設(shè)計的軟件,是計算機軟件的一種,同樣由程序及文檔組成,可細(xì)分成系統(tǒng)軟件、支撐軟件、應(yīng)用軟件三類。大量應(yīng)用于家用、工業(yè)、商業(yè)、通訊和國防領(lǐng)域。我國目前在嵌入式應(yīng)用軟件方面具有優(yōu)勢。在嵌入式系統(tǒng)中,軟件的工作量約占全部工作量的80%,其中測試與驗證的工作量占軟件工作量的70%。

1.1 特點和測試難點

嵌入式系統(tǒng)開發(fā)有其自身的特點。通常,在嵌入式系統(tǒng)軟件中,底層驅(qū)動程序、操作系統(tǒng)和應(yīng)用程序的界線是不清晰的,有時甚至混編在一起。這主要是因為嵌入式系統(tǒng)中軟件對硬件的依賴性造成的。由于嵌入式軟件對硬件的依賴性,軟件測試時必須最大限度地模擬被測軟件的實際運行環(huán)境,以保證測試的可靠性。底層程序和應(yīng)用程序界限的不清晰增加了測試難度。測試時,只有在確認(rèn)了嵌入式系統(tǒng)平臺及底層程序正確的情況下才能進行應(yīng)用程序的測試,而且在系統(tǒng)測試時,對錯誤的檢測定位較為困難。軟件的專用性也是嵌入式軟件的一個重要特點。由于嵌入式軟件設(shè)計是以一定的目標(biāo)硬件平臺為基礎(chǔ)、面向固定任務(wù)進行的,因此,一旦被加載到目標(biāo)系統(tǒng)上,功能必須完全確定。這個特點決定了嵌入式應(yīng)用軟件的繼承性較差,延長了系統(tǒng)的測試時間,增加了測試費用。嵌入式軟件的另外一個重要特點就是實時性,這是從軟件執(zhí)行的角度考慮的,也就是說嵌入式軟件的執(zhí)行要滿足一定的時間約束。嵌入式系統(tǒng)中,應(yīng)用軟件自身算法的復(fù)雜度和操作系統(tǒng)任務(wù)調(diào)度,決定了系統(tǒng)資源的分配和消耗。因此,對系統(tǒng)實時性進行測試時,要借助一定的測試工具對應(yīng)用程序算法復(fù)雜度和操作系統(tǒng)任務(wù)調(diào)度進行分析測試。

1.2 嵌入式軟件測試方法

軟件測試是軟件開發(fā)中的一個重要環(huán)節(jié),嵌入式軟件也不例外。圖1給出了嵌入式軟件測試的一般流程。根據(jù)不同的指標(biāo),軟件測試方法[1]有不同的劃分方法。根據(jù)軟件開發(fā)過程中測試所處的不同階段可分為模塊測試、集成測試和系統(tǒng)測試;根據(jù)是否需要運行目標(biāo)代碼分為動態(tài)測試和靜態(tài)測試;根據(jù)目標(biāo)代碼的可見性可分為白盒測試(結(jié)構(gòu)測試)和黑盒測試(功能測試)。在軟件測試中,每種測試方法都不是孤立的。為了最經(jīng)濟、最有效地達(dá)到測試目的,各種測試方法往往互相嵌套。例如,在軟件的單元測試階段,可以用黑盒測試和白盒測試的方法分別進行動態(tài)測試。而在系統(tǒng)測試階段,只能使用黑盒測試方法進行測試。


為了更有效地進行嵌入式軟件的系統(tǒng)測試,提出了嵌入式軟件系統(tǒng)測試中具有交互式錯誤檢測定位功能的架構(gòu)設(shè)計方案。使用此不僅可以按照第一類測試方法[2]和第二類測試方法[3]輔助進行系統(tǒng)測試,而且還可以利用的交互式學(xué)習(xí)功能,不斷積累錯誤定位經(jīng)驗,實現(xiàn)錯誤檢測定位,為測試人員和開發(fā)人員節(jié)省大量時間。這是其他測試方法所不具備的。

2 仿真系統(tǒng)

嵌入式軟件的硬件載體大部分為專用計算機設(shè)備,并且通常沒有外圍設(shè)備用于測試過程中的監(jiān)測或觀察。而有些嵌入式軟件還會存在交互式操作。在被測軟件移植到目標(biāo)機上的實際硬件環(huán)境以后,由于與嵌入式系統(tǒng)平臺和底層程序融為一體,對系統(tǒng)進行黑盒測試時,錯誤定位將變得非常困難。因此根據(jù)嵌入式軟件的特點,提出了一個具有交互式錯誤檢測定位功能的仿真系統(tǒng)結(jié)構(gòu)模型。圖2為仿真系統(tǒng)分層結(jié)構(gòu)圖。仿真系統(tǒng)在設(shè)計上采用分層結(jié)構(gòu)、分層設(shè)計、分層實現(xiàn)的方式,每一層的內(nèi)部實現(xiàn)對其他層透明。


仿真系統(tǒng)由硬件驅(qū)動、交互操作模塊、驅(qū)動模塊、樁模塊、分析模塊和人機界面六個部分組成。下面分別介紹各個模塊的功能。

(1)硬件驅(qū)動部分負(fù)責(zé)驅(qū)動硬件,向上一層提供底層硬件的操作接口。仿真系統(tǒng)通過硬件驅(qū)動為嵌入式軟件提供相應(yīng)的通信接口,用于嵌入式軟件和仿真系統(tǒng)之間的數(shù)據(jù)交換。通信接口根據(jù)具體嵌入式軟件的接口設(shè)計實現(xiàn),一般為各種通訊協(xié)議。各通訊協(xié)議模塊之間松散耦合,且具備可擴展性,保證硬件接口的改變不會影響上層的功能實現(xiàn)。

(2)交互操作模塊負(fù)責(zé)與嵌入式軟件的交互操作。此部分可裁剪,主要根據(jù)嵌入式軟件是否需要交互操作而定。其主要功能需要根據(jù)特定的軟件設(shè)計實現(xiàn)。

(3)驅(qū)動模塊負(fù)責(zé)封裝與仿真系統(tǒng)測試數(shù)據(jù)有關(guān)的處理邏輯,向人機界面提供獨立于體系結(jié)構(gòu)的操作接口。系統(tǒng)測試階段除了正常的功能和性能測試,更應(yīng)該進行意外測試和破壞性測試,即測試系統(tǒng)正常執(zhí)行情況下不該發(fā)生的激發(fā)活動和人為的破壞性測試,進一步驗證系統(tǒng)性能。而驅(qū)動模塊則將測試用例中各種測試數(shù)據(jù)傳輸給被測嵌入式軟件。

熱式質(zhì)量流量計相關(guān)文章:熱式質(zhì)量流量計原理
流量計相關(guān)文章:流量計原理

上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉