當前位置:首頁 > 嵌入式 > 嵌入式硬件
[導讀]分析了嵌入式軟件的特點及測試方法;針對嵌入式軟件的特點,提出了嵌入式軟件系統(tǒng)測試中具有交互式錯誤檢測定位功能的仿真系統(tǒng)架構設計模型,并結合鐵路微機聯(lián)鎖系統(tǒng)的測試實例進行分析。

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

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

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

1.1 嵌入式軟件特點和測試難點

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

1.2 嵌入式軟件測試方法

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


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

2 仿真系統(tǒng)結構設計

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


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

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

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

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

(4)樁模塊為嵌入式軟件提供各種必要的輸入數據。嵌入式軟件的正常運行需要必要的外界輸入數據,以完成系統(tǒng)的正常運行和交互。無論這些輸入數據通過什么方式提供,樁模塊都應該為嵌入式軟件模擬各種輸入數據。對于系統(tǒng)測試來說,輸入數據也應該包括正常數據和非法數據兩種。

(5)分析模塊包括測試結果、預期結果和故障模型三部分。測試結果為執(zhí)行測試用例以后被測軟件執(zhí)行的結果;預期結果為測試開始之前,測試人員針對不同測試用例輸入的預期結果;故障模型中包括對各種故障的定位。故障模型在一個測試結束后,積累的錯誤定位模型可以通過外部接口導出,既可以用作其他測試系統(tǒng)的故障模型,也可以導出Word或Excel文件,用于開發(fā)人員進行分析總結。

分析模塊在得到測試結果以后,首先與預期結果比較。如果相同,則測試通過;否則在故障模型中搜索相應的故障,并定位故障。如果故障模型中沒有相應的錯誤定位,分析模塊直接將未通過測試的測試結果和測試用例反饋給測試人員,由測試人員進行定位。當錯誤定位以后,測試人員根據測試實例修改故障模型,增加錯誤判斷事件。通過不斷循環(huán),故障模型部分的各種故障定位逐漸增加,仿真系統(tǒng)在不斷學習過程中實現錯誤定位。

(6)人機界面用于各種數據、結果的輸入和顯示,以及交互操作的人工輸入界面。

3 鐵路微機聯(lián)鎖系統(tǒng)測試

被測鐵路微機聯(lián)鎖2乘2取2系統(tǒng)運行在CPU(486DX)上,屬于典型的嵌入式軟件。邏輯圖如圖3所示。


被測嵌入式軟件運行在圖3中A系和B系的CPU中,通過以太網接收人工下達的聯(lián)鎖命令,經過處理后通過DP協(xié)議網絡傳輸給輸出模塊,控制現場設備。A、B系中只能以一個系為主系,主從系的切換可以通過手動切換實現,也可以自動切換。

3.1 測試實施

測試實施之前,首先編制測試用例,并針對每個測試用例給出預期結果和可能產生的錯誤以及相應錯誤的故障定位。把這些數據輸入仿真系統(tǒng)的分析模型中,為即將進行的測試工作做準備。

在測試實施過程中,首先利用此仿真系統(tǒng)按照第一類測試方法進行測試,驗證鐵路聯(lián)鎖2乘2取2系統(tǒng)被測軟件是‘工作的‘,也就是軟件的功能是按照預先的設計執(zhí)行的。然后按照第二類測試方法進行測試,驗證軟件是不工作的。

使用仿真系統(tǒng)設計并實施了很多在實際軟硬件環(huán)境中不可能實現的測試用例。舉例說明如下:

(1)非法數據的輸入。正常運行的系統(tǒng),操作人員不可能發(fā)送錯誤的聯(lián)鎖命令給被測軟件,輸入模塊也不可能產生測試需要的各種非法輸入數據。使用仿真系統(tǒng)的驅動模塊和樁模塊,可以很輕松地發(fā)送任何組合形式的非法數據,以測試鐵路聯(lián)鎖2乘2取2系統(tǒng)被測軟件的安全性。結合分析模塊的使用,具體實施過程為:
通過人機界面輸入超長非法測試數據6,244,244,80,0,17,1,0,80,0,255,255,255,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0給被測軟件,預期結果為無測試結果數據返回,即嵌入式軟件將非法數據過濾掉,不進行任何操作。仿真系統(tǒng)通過人機界面提示測試通過,實際情況也確實是微機聯(lián)鎖系統(tǒng)未進行任何操作,便將超長的非法數據過濾了。通過人機界面輸入固定碼的非法測試數據170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,預期結果為無測試數據返回,即嵌入式軟件將非法數據過濾,不進行任何操作。仿真系統(tǒng)通過人機界面提示測試通過,而實際情況是微機聯(lián)鎖單元出現了死機現象。針對這種情況,修改預期結果內容為“無測試數據返回且與被測應用軟件正常通訊”,而在故障模型中增加了“與被測應用軟件無任何通訊”項,以修正仿真系統(tǒng)的錯誤定位為微機聯(lián)鎖單元死機。同理也要修改前面超長非法測試數據的預期結果和故障模型的內容。如此反復,仿真系統(tǒng)的分析模型也在不斷完善中。

(2)通信容量測試。鐵路聯(lián)鎖2乘2取2系統(tǒng)被測軟件中的基本功能包括系統(tǒng)通信最大I/O模塊總數為100。在正常測試過程中,一般無法為測試搭建如此大規(guī)模的硬件測試環(huán)境,即使可以搭建,也會因為性價比較低而不實施此項測試。使用仿真系統(tǒng),可以通過樁模塊和驅動模塊輕松實現100個I/O模塊的通信量,同時可以省去購置I/O硬件模塊的費用。

(3)鐵路聯(lián)鎖系統(tǒng)軟件需要滿足IEC61508標準[4]中SIL4的要求。通過仿真軟件驅動模塊重復發(fā)送聯(lián)鎖命令,可以很容易地測試鐵路聯(lián)鎖2乘2取2系統(tǒng)中的軟件是否滿足SIL4的要求,而這些測試如果單純用人工輸入進行測試是不可能實現的。交互操作模塊則可以在測試過程中完成軟件與人必需的交互操作功能。

被測軟件第一次測試結束后,開發(fā)人員根據仿真系統(tǒng)的錯誤定位集中修改軟件中的BUG,然后提交進行第一次回歸測試。經過在第一次測試中人機交互的不斷完善,仿真系統(tǒng)的分析模型趨于成熟,在回歸測試過程中能很快定位錯誤,為測試及開發(fā)人員節(jié)省了大量時間,縮短了軟件開發(fā)周期。

3.2 測試結果

通過使用仿真系統(tǒng)對鐵路聯(lián)鎖2乘2取2系統(tǒng)被測軟件實施測試,共發(fā)現涉及軟件故障安全原則的致命問題和嚴重問題10個,涉及軟件漏洞安全的致命問題和嚴重問題5個,涉及功能未實現的致命問題和嚴重問題6個,涉及可靠性的致命問題1個,一般和提示問題30個。

針對嵌入式軟件的特點提出的具備交互式錯誤檢測定位功能的仿真系統(tǒng)架構模型,實現了在系統(tǒng)測試過程中檢測定位軟件錯誤,解決了嵌入式軟件系統(tǒng)測試過程中,由于被測程序與嵌入式系統(tǒng)平臺和底層程序融合在一起,錯誤不容易定位的問題。通過在鐵路微機聯(lián)鎖測系統(tǒng)試項目中的應用,發(fā)現了很多關鍵性問題,并且為測試人員和開發(fā)人員節(jié)省了大量時間,加快了測試進度,在回歸測試階段表現尤為明顯。事實表明,此仿真系統(tǒng)架構模型不僅可以應用于嵌入式軟件的系統(tǒng)測試,也可以應用于非嵌入式軟件的黑盒測試。在以后的研究中,將應用人工智能學科的學習理論,實現仿真系統(tǒng)分析模塊的自動學習功能,以實現在測試過程中自動定位軟件錯誤,而無需人工干預。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉