一级丰满老熟女毛片免费观看,色综合久久88中文字幕,国产午夜一区二区,色伊人亚洲一区二区三区

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

2018-07-30 09:54:59

計算機技術(shù)的不斷發(fā)展帶動軟件功能的不斷強大,市場對軟件的需要越來越高。實際上,計算機軟件的發(fā)展與市場需要存在一定的不同步現(xiàn)象,導(dǎo)致用戶使用過程中存在一定的故障,這些故障嚴(yán)重時會造成嚴(yán)重的經(jīng)濟損失。因此改善軟件質(zhì)量是計算機領(lǐng)域的重要工作。嵌入式軟件由于自身的特點,被應(yīng)用到軍用設(shè)備中,因此對其進行研究,并做好相關(guān)的測試工作對于發(fā)展軟件工程具有重要現(xiàn)實意義。    

1 嵌入式軟件特點    

研究嵌入式軟件的特點應(yīng)該從嵌入式系統(tǒng)開始了解,通常在嵌入式系統(tǒng)的開發(fā)過程中,需要進行軟硬件的獨立開發(fā)。硬件部分的開發(fā)會形成裸機平臺,軟件部分則需要進行獨立單元、獨立部分以及配置項的編程工作。在硬件平臺測試通過以后,才能將相應(yīng)的軟件在硬件平臺上進行集成,并開展各種功能和性能的調(diào)試工作。    

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

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

2 軟件測試過程中遇到的問題   

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

(1)嵌入式軟件的開發(fā)過程中,產(chǎn)品的功能和性能通過軟硬件的結(jié)合發(fā)揮作用。在實際測試工作中,需要進行一定的調(diào)整工作,這種調(diào)整實際上是對軟硬件的一種協(xié)調(diào)。但在軟件測試中,通常會采用預(yù)防為主的理念,這就跟嵌入式軟件的測試發(fā)生了沖突,因此在實際進行測試時應(yīng)該做好調(diào)整工作。    

(2)對軟件進行重大修改或者新研發(fā)設(shè)備的測試過程中,由于算法、功能和性能上脫離實際平臺,因此需要進行進一步的驗證工作。在C3I等控制軟件開發(fā)過程中,設(shè)備與指控中心是獨立開發(fā)的,經(jīng)常會出現(xiàn)接口協(xié)議沖突問題,因此系統(tǒng)在調(diào)試過程中需要進行較大改動,這樣對于早期版本進行測試對軟件的實際質(zhì)量作用不大。    

(3)軟件測試中的單元測試、部件測試、配置項測試、系統(tǒng)集成測試等,都會包含功能測試和性能測試工作。但在嵌入式軟件的測試過程中由于缺乏測試平臺,導(dǎo)致功能和性能上的測試難以實現(xiàn),形成了諸多矛盾。    

嵌入式軟件在測試過程中出現(xiàn)的種種矛盾導(dǎo)致軟件測試工作難以開展。一方面軟件的單元測試、部件測試以及配置項測試需要跟硬件進行結(jié)合才能開展調(diào)試工作;另一方面這些部分的測試由于沒有裝入硬件平臺進行實際測試,因此無法確定是否符合相關(guān)的匹配要求,完成最終的測試工作。    

3 嵌入式軟件測試的基本方法    

嵌入式系統(tǒng)以計算機技術(shù)為基礎(chǔ),以應(yīng)用為中心,軟硬件可以進行調(diào)整。嵌入式系統(tǒng)的軟硬件功能聯(lián)系緊密,不能單獨完成測試工作,因此嵌入式軟件測試相比于PC系統(tǒng)軟件測試難度更高。嵌入式軟件系統(tǒng)測試具有以下特點:    

(1)測試軟件功能對硬件功能依賴性強,難以快速定位軟硬件錯誤;    

(2)使用編碼難以完成強壯性測試、可知性測試;    

(3)在交叉測試平臺上的測試用例、測試結(jié)果上載難度較大;    

(4)由于消息系統(tǒng)測試具有一定的復(fù)雜性,因此線程、任務(wù)、子系統(tǒng)之間的交互,并發(fā)、容錯和對時間的要求都較高;    

(5)嵌入式軟件系統(tǒng)的重要特征還體現(xiàn)在性能測試、確定性能瓶頸困難;    

(6)由于測試過程中需要考慮的因素較多,難以實施測試自動化技術(shù)。軟件測試在工程開發(fā)上,本身投入較大,成本較高。嵌入式軟件測試系統(tǒng)由于自身的復(fù)雜性和綜合性,相應(yīng)的成本會持續(xù)擴大。    

綜合以上嵌入式軟件系統(tǒng)測試的特點,常用的測試方式主要有全數(shù)字模擬測試與交叉測試兩種,接下來筆者詳細(xì)分析兩種測試技術(shù)。    

3.1 全數(shù)字模擬測試    

全數(shù)字模擬測試是一種利用數(shù)學(xué)平臺的方式,可以將嵌入式軟件從系統(tǒng)中分離出來。通過對CPU指令、常用芯片、I/O、中斷、時鐘等模擬器的開發(fā)在開發(fā)主機平臺(Host)上完成嵌入式軟件的測試。這種測試方式比較簡單,對于軟件的功能測試具有較好的適用性。但全數(shù)字模擬測試方式本身具備一定的局限性,對于不同編程語言完成的軟件需要通過不同的仿真程序完成測試工作。實時性、準(zhǔn)確性和通用性都比較差。另外完全搭建測試環(huán)境花花費的成本過高,因此全數(shù)字模擬測試只能作為嵌入式軟件測試的輔助手段。    

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

由于高級語言的影響,嵌入式系統(tǒng)的開發(fā)環(huán)境和運行環(huán)境存在一定的差異。開發(fā)環(huán)境可以視為主機平臺(Host),軟件運行環(huán)境視為目標(biāo)平臺(Target),這種測試方式又稱為HostTarget測試(交叉測試)。在進行測試工作時,利用高級語言的可移植性優(yōu)勢,將與目標(biāo)環(huán)境無關(guān)的測試工作移植到PC平臺上完成。在硬件環(huán)境未搭建好之前或者設(shè)備工具缺乏的情況下,可以利用常規(guī)軟件測試的方式完成測試工作。系統(tǒng)中與硬件相關(guān)的測試工作需要在Target上完成,使用測試工具必須保證支持目標(biāo)環(huán)境,最終對目標(biāo)環(huán)境進行確認(rèn),完成整體的測試工作。這種測試方式適用于高級語言,操作簡單測試成本較低。缺點是實時性較差,并且在目標(biāo)環(huán)境的測試中需要占用一定的目標(biāo)資源。   

4 提高嵌入式軟件測試水平的策略    

嵌入式軟件的測試技術(shù)還在不斷發(fā)展,通過對嵌入式軟件系統(tǒng)測試特定以及當(dāng)前存在問題的分析,可以通過以下幾種措施提高嵌入式軟件測試水平,筆者將其歸納總結(jié)如下:    

4.1 先靜后動、從小到大、由黑到白    

(1)軟件測試應(yīng)該先進行靜態(tài)測試,然后進行動態(tài)測試。測試時間越早對于質(zhì)量的控制性越高。另外對于嵌入式軟件系統(tǒng)的測試應(yīng)該做好與硬件的協(xié)調(diào)工作。    

(2)單元測試完成后再進行集成測試,單元測試的效果越好,整體的效率越高。    

(3)先進行簡單的黑盒測試再進行白盒測試,確定軟件的功能,同時對程序的覆蓋率進行驗證。    

4.2 重視質(zhì)量分析工作    

軟件模塊之間的邏輯結(jié)構(gòu)是軟件質(zhì)量的直觀反映。這種結(jié)構(gòu)性越好,代碼的可靠性越高。結(jié)構(gòu)化測試也是分析代碼質(zhì)量的重要方法。代碼的復(fù)雜性和錯誤情況可以通過結(jié)構(gòu)分析得到改善。    

4.3 選擇合理的工具完成測試,并加強管理    

嵌入式軟件系統(tǒng)的測試對工具的要求更高,必要時需要搭建測試所需要的環(huán)境,提高測試成本,為保證測試效果。在測試工作中需要選擇合理的工具完成測試工作,降低工作量。同時還應(yīng)該對工具進行嚴(yán)格管理,通過維護與更新,控制測試成本。

在嵌入式軟件的測試工作中,首先應(yīng)該遵循預(yù)防為主的理念。并按照軟件開發(fā)的相關(guān)順序完成對軟件的測試工作。同時還應(yīng)該對軟件測試的成本、進度、風(fēng)險以及有效性等因素進行綜合考慮。當(dāng)前硬件的集成度不斷提高,軟件的功能越來越強大,因此對于嵌入式軟件的測試應(yīng)該增加科研投入,不斷滿足市場需要,提高軟件的質(zhì)量和穩(wěn)定性。