国产精品久久777777网站,男生天堂精品2020在线,国产精品久久久久一级毛片,体育老师在单杠C了我一节课视频

軟件開發(fā):如何做好嵌入式軟件開發(fā)測(cè)試

2018-07-30 09:54:59

計(jì)算機(jī)技術(shù)的不斷發(fā)展帶動(dòng)軟件功能的不斷強(qiáng)大,市場(chǎng)對(duì)軟件的需要越來(lái)越高。實(shí)際上,計(jì)算機(jī)軟件的發(fā)展與市場(chǎng)需要存在一定的不同步現(xiàn)象,導(dǎo)致用戶使用過程中存在一定的故障,這些故障嚴(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)開始了解,通常在嵌入式系統(tǒng)的開發(fā)過程中,需要進(jìn)行軟硬件的獨(dú)立開發(fā)。硬件部分的開發(fā)會(huì)形成裸機(jī)平臺(tái),軟件部分則需要進(jìn)行獨(dú)立單元、獨(dú)立部分以及配置項(xiàng)的編程工作。在硬件平臺(tái)測(cè)試通過以后,才能將相應(yīng)的軟件在硬件平臺(tái)上進(jìn)行集成,并開展各種功能和性能的調(diào)試工作。    

嵌入式系統(tǒng)開發(fā)時(shí),底層驅(qū)動(dòng)程序、操作系統(tǒng)以及應(yīng)用程序之間存在一定的關(guān)聯(lián),不能將三者獨(dú)立進(jìn)行開發(fā)。通常根據(jù)需要還會(huì)對(duì)其進(jìn)行一定的綜合以滿足開發(fā)的需要。嵌入式系統(tǒng)的開發(fā)過程實(shí)際上是軟硬件之間相互協(xié)調(diào)、相互反饋、相互測(cè)試的過程,系統(tǒng)的功能和性能也會(huì)在測(cè)試的過程中得到體現(xiàn)。嵌入式系統(tǒng)開發(fā)過程中,軟件開發(fā)對(duì)硬件具有較強(qiáng)的依賴性,因此在進(jìn)行軟件測(cè)試時(shí),應(yīng)該跟硬件進(jìn)行結(jié)合以保證測(cè)試效果。    

通常情況下,嵌入式軟件缺乏繼承性,因此需要保證跟硬件之間形成一對(duì)一的關(guān)系。硬件在不斷的發(fā)展升級(jí)過程中,軟件也需要不斷開發(fā)滿足硬件的需要。這種情況會(huì)造成軟件編程的工作量加大,繼承性較差。除此之外,硬件的更新速度本身就比較快,因此容易出現(xiàn)軟硬件不匹配的情況。因此在實(shí)際測(cè)試過程中需要兩者之間相互協(xié)調(diào),才能確定最終的功能和性能指標(biāo)。    

2 軟件測(cè)試過程中遇到的問題   

軟件測(cè)試工作對(duì)于保證軟件的功能和質(zhì)量具有重要作用,對(duì)于軟件而言,測(cè)試工作開始的越早,對(duì)質(zhì)量的控制情況越好。傳統(tǒng)的軟件測(cè)試主要包括單元測(cè)試、部件測(cè)試、配置項(xiàng)測(cè)試以及系統(tǒng)集成測(cè)試四個(gè)部分。這種測(cè)試方式適用于脫離軟硬件平臺(tái)的測(cè)試,對(duì)于嵌入式軟件的測(cè)試,會(huì)出現(xiàn)一定的問題:    

(1)嵌入式軟件的開發(fā)過程中,產(chǎn)品的功能和性能通過軟硬件的結(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è)試過程中,由于算法、功能和性能上脫離實(shí)際平臺(tái),因此需要進(jìn)行進(jìn)一步的驗(yàn)證工作。在C3I等控制軟件開發(fā)過程中,設(shè)備與指控中心是獨(dú)立開發(fā)的,經(jīng)常會(huì)出現(xiàn)接口協(xié)議沖突問題,因此系統(tǒng)在調(diào)試過程中需要進(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è)試過程中由于缺乏測(cè)試平臺(tái),導(dǎo)致功能和性能上的測(cè)試難以實(shí)現(xiàn),形成了諸多矛盾。    

嵌入式軟件在測(cè)試過程中出現(xiàn)的種種矛盾導(dǎo)致軟件測(cè)試工作難以開展。一方面軟件的單元測(cè)試、部件測(cè)試以及配置項(xiàng)測(cè)試需要跟硬件進(jìn)行結(jié)合才能開展調(diào)試工作;另一方面這些部分的測(cè)試由于沒有裝入硬件平臺(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ì)硬件功能依賴性強(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è)試過程中需要考慮的因素較多,難以實(shí)施測(cè)試自動(dòng)化技術(shù)。軟件測(cè)試在工程開發(fā)上,本身投入較大,成本較高。嵌入式軟件測(cè)試系統(tǒng)由于自身的復(fù)雜性和綜合性,相應(yīng)的成本會(huì)持續(xù)擴(kuò)大。    

綜合以上嵌入式軟件系統(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)。通過對(duì)CPU指令、常用芯片、I/O、中斷、時(shí)鐘等模擬器的開發(fā)在開發(fā)主機(jī)平臺(tái)(Host)上完成嵌入式軟件的測(cè)試。這種測(cè)試方式比較簡(jiǎn)單,對(duì)于軟件的功能測(cè)試具有較好的適用性。但全數(shù)字模擬測(cè)試方式本身具備一定的局限性,對(duì)于不同編程語(yǔ)言完成的軟件需要通過不同的仿真程序完成測(cè)試工作。實(shí)時(shí)性、準(zhǔn)確性和通用性都比較差。另外完全搭建測(cè)試環(huán)境花花費(fèi)的成本過高,因此全數(shù)字模擬測(cè)試只能作為嵌入式軟件測(cè)試的輔助手段。    

3.2 交叉測(cè)試(Host/Target測(cè)試)   

由于高級(jí)語(yǔ)言的影響,嵌入式系統(tǒng)的開發(fā)環(huán)境和運(yùn)行環(huán)境存在一定的差異。開發(fā)環(huán)境可以視為主機(jī)平臺(tái)(Host),軟件運(yùn)行環(huán)境視為目標(biāo)平臺(tái)(Target),這種測(cè)試方式又稱為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ā)展,通過對(duì)嵌入式軟件系統(tǒng)測(cè)試特定以及當(dāng)前存在問題的分析,可以通過以下幾種措施提高嵌入式軟件測(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)性越好,代碼的可靠性越高。結(jié)構(gòu)化測(cè)試也是分析代碼質(zhì)量的重要方法。代碼的復(fù)雜性和錯(cuò)誤情況可以通過結(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)格管理,通過維護(hù)與更新,控制測(cè)試成本。

在嵌入式軟件的測(cè)試工作中,首先應(yīng)該遵循預(yù)防為主的理念。并按照軟件開發(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)定性。