- 相關(guān)推薦
探討嵌入式系統(tǒng)的應(yīng)用
摘要:得益于信息技術(shù)的快速發(fā)展,計(jì)算機(jī)軟硬件方面都取得較大的進(jìn)步。當(dāng)前,計(jì)算機(jī)硬件的發(fā)展不斷趨于穩(wěn)定,但軟件方面還是時(shí)有故障發(fā)生。因此對(duì)軟件測(cè)試工作還應(yīng)該進(jìn)行進(jìn)一步的優(yōu)化。嵌入式系統(tǒng)的應(yīng)用不斷擴(kuò)大,開(kāi)發(fā)技術(shù)也在不斷成熟,這種方式對(duì)計(jì)算機(jī)軟件的發(fā)展大有裨益。但實(shí)際進(jìn)行嵌入式軟件測(cè)試時(shí),存在一定的難度,因此需要采取一定的措施改善測(cè)試情況。
關(guān)鍵詞:嵌入式系統(tǒng);軟件測(cè)試;嵌入式軟件測(cè)試
中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2017)08-0214-02
計(jì)算機(jī)技術(shù)的不斷發(fā)展帶動(dòng)軟件功能的不斷強(qiáng)大,市場(chǎng)對(duì)軟件的需要越來(lái)越高。實(shí)際上,計(jì)算機(jī)軟件的發(fā)展與市場(chǎng)需要存在一定的不同步現(xiàn)象,導(dǎo)致用戶使用過(guò)程中存在一定的故障,這些故障嚴(yán)重時(shí)會(huì)造成嚴(yán)重的經(jīng)濟(jì)損失。因此改善軟件質(zhì)量是計(jì)算機(jī)領(lǐng)域的重要工作。嵌入式軟件由于自身的特點(diǎn),被應(yīng)用到軍用設(shè)備中,因此對(duì)其進(jìn)行研究,并做好相關(guān)的測(cè)試工作對(duì)于發(fā)展軟件工程具有重要現(xiàn)實(shí)意義。
1 嵌入式軟件特點(diǎn)
研究嵌入式軟件的特點(diǎn)應(yīng)該從嵌入式系統(tǒng)開(kāi)始了解,通常在嵌入式系統(tǒng)的開(kāi)發(fā)過(guò)程中,需要進(jìn)行軟硬件的獨(dú)立開(kāi)發(fā)。硬件部分的開(kāi)發(fā)會(huì)形成裸機(jī)平臺(tái),軟件部分則需要進(jìn)行獨(dú)立單元、獨(dú)立部分以及配置項(xiàng)的編程工作。在硬件平臺(tái)測(cè)試通過(guò)以后,才能將相應(yīng)的軟件在硬件平臺(tái)上進(jìn)行集成,并開(kāi)展各種功能和性能的調(diào)試工作。
嵌入式系統(tǒng)開(kāi)發(fā)時(shí),底層驅(qū)動(dòng)程序、操作系統(tǒng)以及應(yīng)用程序之間存在一定的關(guān)聯(lián),不能將三者獨(dú)立進(jìn)行開(kāi)發(fā)。通常根據(jù)需要還會(huì)對(duì)其進(jìn)行一定的綜合以滿足開(kāi)發(fā)的需要。嵌入式系統(tǒng)的開(kāi)發(fā)過(guò)程實(shí)際上是軟硬件之間相互協(xié)調(diào)、相互反饋、相互測(cè)試的過(guò)程,系統(tǒng)的功能和性能也會(huì)在測(cè)試的過(guò)程中得到體現(xiàn)。嵌入式系統(tǒng)開(kāi)發(fā)過(guò)程中,軟件開(kāi)發(fā)對(duì)硬件具有較強(qiáng)的依賴(lài)性,因此在進(jìn)行軟件測(cè)試時(shí),應(yīng)該跟硬件進(jìn)行結(jié)合以保證測(cè)試效果[1]。
通常情況下,嵌入式軟件缺乏繼承性,因此需要保證跟硬件之間形成一對(duì)一的關(guān)系。硬件在不斷的發(fā)展升級(jí)過(guò)程中,軟件也需要不斷開(kāi)發(fā)滿足硬件的需要。這種情況會(huì)造成軟件編程的工作量加大,繼承性較差。除此之外,硬件的更新速度本身就比較快,因此容易出現(xiàn)軟硬件不匹配的情況。因此在實(shí)際測(cè)試過(guò)程中需要兩者之間相互協(xié)調(diào),才能確定最終的功能和性能指標(biāo)。
2 軟件測(cè)試過(guò)程中遇到的問(wèn)題
軟件測(cè)試工作對(duì)于保證軟件的功能和質(zhì)量具有重要作用,對(duì)于軟件而言,測(cè)試工作開(kāi)始的越早,對(duì)質(zhì)量的控制情況越好。傳統(tǒng)的軟件測(cè)試主要包括單元測(cè)試、部件測(cè)試、配置項(xiàng)測(cè)試以及系統(tǒng)集成測(cè)試四個(gè)部分。這種測(cè)試方式適用于脫離軟硬件平臺(tái)的測(cè)試,對(duì)于嵌入式軟件的測(cè)試,會(huì)出現(xiàn)一定的問(wèn)題:
(1)嵌入式軟件的開(kāi)發(fā)過(guò)程中,產(chǎn)品的功能和性能通過(guò)軟硬件的結(jié)合發(fā)揮作用。在實(shí)際測(cè)試工作中,需要進(jìn)行一定的調(diào)整工作,這種調(diào)整實(shí)際上是對(duì)軟硬件的一種協(xié)調(diào)。但在軟件測(cè)試中,通常會(huì)采用預(yù)防為主的理念,這就跟嵌入式軟件的測(cè)試發(fā)生了沖突,因此在實(shí)際進(jìn)行測(cè)試時(shí)應(yīng)該做好調(diào)整工作。
。2)對(duì)軟件進(jìn)行重大修改或者新研發(fā)設(shè)備的測(cè)試過(guò)程中,由于算法、功能和性能上脫離實(shí)際平臺(tái),因此需要進(jìn)行進(jìn)一步的驗(yàn)證工作[2]。在C3I等控制軟件開(kāi)發(fā)過(guò)程中,設(shè)備與指控中心是獨(dú)立開(kāi)發(fā)的,經(jīng)常會(huì)出現(xiàn)接口協(xié)議沖突問(wèn)題,因此系統(tǒng)在調(diào)試過(guò)程中需要進(jìn)行較大改動(dòng),這樣對(duì)于早期版本進(jìn)行測(cè)試對(duì)軟件的實(shí)際質(zhì)量作用不大。
。3)軟件測(cè)試中的單元測(cè)試、部件測(cè)試、配置項(xiàng)測(cè)試、系統(tǒng)集成測(cè)試等,都會(huì)包含功能測(cè)試和性能測(cè)試工作。但在嵌入式軟件的測(cè)試過(guò)程中由于缺乏測(cè)試平臺(tái),導(dǎo)致功能和性能上的測(cè)試難以實(shí)現(xiàn),形成了諸多矛盾。
嵌入式軟件在測(cè)試過(guò)程中出現(xiàn)的種種矛盾導(dǎo)致軟件測(cè)試工作難以開(kāi)展。一方面軟件的單元測(cè)試、部件測(cè)試以及配置項(xiàng)測(cè)試需要跟硬件進(jìn)行結(jié)合才能開(kāi)展調(diào)試工作;另一方面這些部分的測(cè)試由于沒(méi)有裝入硬件平臺(tái)進(jìn)行實(shí)際測(cè)試,因此無(wú)法確定是否符合相關(guān)的匹配要求,完成最終的測(cè)試工作。
3 嵌入式軟件測(cè)試的基本方法
嵌入式系統(tǒng)以計(jì)算機(jī)技術(shù)為基礎(chǔ),以應(yīng)用為中心,軟硬件可以進(jìn)行調(diào)整。嵌入式系統(tǒng)的軟硬件功能聯(lián)系緊密,不能單獨(dú)完成測(cè)試工作,因此嵌入式軟件測(cè)試相比于PC系統(tǒng)軟件測(cè)試難度更高。嵌入式軟件系統(tǒng)測(cè)試具有以下特點(diǎn):
。1)測(cè)試軟件功能對(duì)硬件功能依賴(lài)性強(qiáng),難以快速定位軟硬件錯(cuò)誤;
(2)使用編碼難以完成強(qiáng)壯性測(cè)試、可知性測(cè)試;
(3)在交叉測(cè)試平臺(tái)上的測(cè)試用例、測(cè)試結(jié)果上載難度較大;
。4)由于消息系統(tǒng)測(cè)試具有一定的復(fù)雜性,因此線程、任務(wù)、子系統(tǒng)之間的交互,并發(fā)、容錯(cuò)和對(duì)時(shí)間的要求都較高;
(5)嵌入式軟件系統(tǒng)的重要特征還體現(xiàn)在性能測(cè)試、確定性能瓶頸困難;
。6)由于測(cè)試過(guò)程中需要考慮的因素較多,難以實(shí)施測(cè)試自動(dòng)化技術(shù)。軟件測(cè)試在工程開(kāi)發(fā)上,本身投入較大,成本較高。嵌入式軟件測(cè)試系統(tǒng)由于自身的復(fù)雜性和綜合性,相應(yīng)的成本會(huì)持續(xù)擴(kuò)大[3]。
綜合以上嵌入式軟件系統(tǒng)測(cè)試的特點(diǎn),常用的測(cè)試方式主要有全數(shù)字模擬測(cè)試與交叉測(cè)試兩種,接下來(lái)筆者詳細(xì)分析兩種測(cè)試技術(shù)。
3.1 全數(shù)字模擬測(cè)試
全數(shù)字模擬測(cè)試是一種利用數(shù)學(xué)平臺(tái)的方式,可以將嵌入式軟件從系統(tǒng)中分離出來(lái)。通過(guò)對(duì)CPU指令、常用芯片、I/O、中斷、時(shí)鐘等模擬器的開(kāi)發(fā)在開(kāi)發(fā)主機(jī)平臺(tái)(Host)上完成嵌入式軟件的測(cè)試。這種測(cè)試方式比較簡(jiǎn)單,對(duì)于軟件的功能測(cè)試具有較好的適用性。但全數(shù)字模擬測(cè)試方式本身具備一定的局限性,對(duì)于不同編程語(yǔ)言完成的軟件需要通過(guò)不同的仿真程序完成測(cè)試工作。實(shí)時(shí)性、準(zhǔn)確性和通用性都比較差[4]。另外完全搭建測(cè)試環(huán)境花花費(fèi)的成本過(guò)高,因此全數(shù)字模擬測(cè)試只能作為嵌入式軟件測(cè)試的輔助手段。
3.2 交叉測(cè)試(Host/Target測(cè)試)endprint
由于高級(jí)語(yǔ)言的影響,嵌入式系統(tǒng)的開(kāi)發(fā)環(huán)境和運(yùn)行環(huán)境存在一定的差異。開(kāi)發(fā)環(huán)境可以視為主機(jī)平臺(tái)(Host),軟件運(yùn)行環(huán)境視為目標(biāo)平臺(tái)(Target),這種測(cè)試方式又稱(chēng)為HostTarget測(cè)試(交叉測(cè)試)。在進(jìn)行測(cè)試工作時(shí),利用高級(jí)語(yǔ)言的可移植性優(yōu)勢(shì),將與目標(biāo)環(huán)境無(wú)關(guān)的測(cè)試工作移植到PC平臺(tái)上完成。在硬件環(huán)境未搭建好之前或者設(shè)備工具缺乏的情況下,可以利用常規(guī)軟件測(cè)試的方式完成測(cè)試工作。系統(tǒng)中與硬件相關(guān)的測(cè)試工作需要在Target上完成,使用測(cè)試工具必須保證支持目標(biāo)環(huán)境,最終對(duì)目標(biāo)環(huán)境進(jìn)行確認(rèn),完成整體的測(cè)試工作。這種測(cè)試方式適用于高級(jí)語(yǔ)言,操作簡(jiǎn)單測(cè)試成本較低。缺點(diǎn)是實(shí)時(shí)性較差,并且在目標(biāo)環(huán)境的測(cè)試中需要占用一定的目標(biāo)資源。
4 提高嵌入式軟件測(cè)試水平的策略
嵌入式軟件的測(cè)試技術(shù)還在不斷發(fā)展,通過(guò)對(duì)嵌入式軟件系統(tǒng)測(cè)試特定以及當(dāng)前存在問(wèn)題的分析,可以通過(guò)以下幾種措施提高嵌入式軟件測(cè)試水平,筆者將其歸納總結(jié)如下:
4.1 先靜后動(dòng)、從小到大、由黑到白
(1)軟件測(cè)試應(yīng)該先進(jìn)行靜態(tài)測(cè)試,然后進(jìn)行動(dòng)態(tài)測(cè)試。測(cè)試時(shí)間越早對(duì)于質(zhì)量的控制性越高。另外對(duì)于嵌入式軟件系統(tǒng)的測(cè)試應(yīng)該做好與硬件的協(xié)調(diào)工作。
(2)單元測(cè)試完成后再進(jìn)行集成測(cè)試,單元測(cè)試的效果越好,整體的效率越高。
(3)先進(jìn)行簡(jiǎn)單的黑盒測(cè)試再進(jìn)行白盒測(cè)試,確定軟件的功能,同時(shí)對(duì)程序的覆蓋率進(jìn)行驗(yàn)證。
4.2 重視質(zhì)量分析工作
軟件模塊之間的邏輯結(jié)構(gòu)是軟件質(zhì)量的直觀反映。這種結(jié)構(gòu)性越好,代碼的可靠性越高[5]。結(jié)構(gòu)化測(cè)試也是分析代碼質(zhì)量的重要方法。代碼的復(fù)雜性和錯(cuò)誤情況可以通過(guò)結(jié)構(gòu)分析得到改善。
4.3 選擇合理的工具完成測(cè)試,并加強(qiáng)管理
嵌入式軟件系統(tǒng)的測(cè)試對(duì)工具的要求更高,必要時(shí)需要搭建測(cè)試所需要的環(huán)境,提高測(cè)試成本,為保證測(cè)試效果。具體測(cè)試工作中需要選擇合理的工具完成測(cè)試工作,降低工作量。同時(shí)還應(yīng)該對(duì)工具進(jìn)行嚴(yán)格管理,通過(guò)維護(hù)與更新,控制測(cè)試成本。
5 結(jié)語(yǔ)
在嵌入式軟件的測(cè)試工作中,首先應(yīng)該遵循預(yù)防為主的理念。并按照軟件開(kāi)發(fā)的相關(guān)順序完成對(duì)軟件的測(cè)試工作。同時(shí)還應(yīng)該對(duì)軟件測(cè)試的成本、進(jìn)度、風(fēng)險(xiǎn)以及有效性等因素進(jìn)行綜合考慮。當(dāng)前硬件的集成度不斷提高,軟件的功能越來(lái)越強(qiáng)大,因此對(duì)于嵌入式軟件的測(cè)試應(yīng)該增加科研投入,不斷滿足市場(chǎng)需要,提高軟件的質(zhì)量和穩(wěn)定性。
參考文獻(xiàn)
[1]王永紅.嵌入式軟件測(cè)試技術(shù)探索與分析[J].計(jì)算機(jī)光盤(pán)軟件與應(yīng)用,2014,(06):21.
[2]張明英,王曙燕.嵌入式軟件測(cè)試方法與策略研究[J].電子世界,2012,(11):112.
[3]呂金和.嵌入式軟件測(cè)試[J].軟件導(dǎo)刊,2010,(09):178-180.
[4]郝會(huì)泉,許云超.嵌入式軟件測(cè)試的實(shí)踐與研究[J].中國(guó)新技術(shù)新產(chǎn)品,2010,(23):45.
【探討嵌入式系統(tǒng)的應(yīng)用】相關(guān)文章:
門(mén)禁系統(tǒng)03-13
工商系統(tǒng)食品監(jiān)管調(diào)研03-01
什么是esp車(chē)身穩(wěn)定系統(tǒng)05-29
系統(tǒng)運(yùn)維經(jīng)理的職責(zé)03-22