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