亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于VxWorks平臺的嵌入式實時軟件測試方法

        2010-06-05 10:19:42袁陽槐博超陳巨龍
        船電技術(shù) 2010年8期
        關(guān)鍵詞:嵌入式分析系統(tǒng)

        袁陽 槐博超 陳巨龍

        (1. 海軍駐葫蘆島431廠軍事代表室, 葫蘆島 125004;2. 中國船舶重工集團(tuán)公司第712研究所,武漢 430064)

        1 引言

        隨著計算機(jī)技術(shù)應(yīng)用的不斷普及,嵌入式實時軟件在航空、航天、工業(yè)控制、交通、醫(yī)療和軍事安全等諸多領(lǐng)域發(fā)揮著愈來愈重要的作用。

        VxWorks是美國Wind River公司推出的一種高性能、可裁減的嵌入式實時操作系統(tǒng),由于其良好的可靠性和卓越的實時性被廣泛應(yīng)用在通信、軍事、航空、航天等實時性要求極高的領(lǐng)域。Tornado是用于VxWorks嵌入式系統(tǒng)的交叉開發(fā)環(huán)境,運(yùn)行在主機(jī)上,利用 Target Server-Agent模式建立主機(jī)與目標(biāo)機(jī)的交叉開發(fā)環(huán)境[1]。

        2 嵌入式實時軟件測試

        由于嵌入式實時軟件固有的嵌入性和實時性的特點(diǎn),表現(xiàn)為嵌入式實時軟件的開發(fā)環(huán)境(宿主機(jī))和運(yùn)行環(huán)境(目標(biāo)機(jī))的不一致,及嵌入式實時軟件的運(yùn)行環(huán)境的硬件資源比較匱乏[2]。

        目前,對嵌入式系統(tǒng)的質(zhì)量控制多停留在以硬件為主,軟件為輔的階段,問題的關(guān)鍵在于對嵌入系統(tǒng)的軟件的開發(fā)和測試缺乏行之有效的手段和工具[3]。而嵌入式系統(tǒng)往往應(yīng)用在通信、工控、航天、軍事等對產(chǎn)品質(zhì)量要求非常嚴(yán)格的領(lǐng)域,對嵌入式軟件實時性要求高,又常用于一些關(guān)鍵性任務(wù)的控制管理,所以,尋求有效的嵌入式軟件測試方法成為提高嵌入式系統(tǒng)質(zhì)量關(guān)鍵所在。

        2.1 嵌入式實時軟件測試的手段

        根據(jù)測試所處的運(yùn)行環(huán)境的不同,軟件測試的手段可分為兩類:靜態(tài)測試和動態(tài)測試。

        靜態(tài)測試,相當(dāng)于測試人員對代碼進(jìn)行走查的過程,它主要是為軟件的質(zhì)量保證提供依據(jù),以提高軟件的可靠性和易維護(hù)性。靜態(tài)測試無須執(zhí)行被測代碼,而是借助專用工具評審軟件文檔或程序,對代碼的一些靜態(tài)指標(biāo)進(jìn)行分析,借以發(fā)現(xiàn)程序的不足之處,減少錯誤出現(xiàn)的概率。靜態(tài)測試一般由純軟件在主機(jī)上即可完成,不需要下載到目標(biāo)機(jī),不需硬件支持。

        動態(tài)測試,是使被測代碼在真實環(huán)境下有控制地運(yùn)行,對代碼在運(yùn)行情況下能體現(xiàn)的功能、邏輯、行為、結(jié)構(gòu)等多角度觀察程序運(yùn)行時的行為,以發(fā)現(xiàn)其中的錯誤現(xiàn)象。對于嵌入式系統(tǒng),要想保證測試的真實性,就需將被測代碼下載到目標(biāo)機(jī)運(yùn)行,并且測試系統(tǒng)不要影響原有系統(tǒng)的運(yùn)行,就需一定硬件支持。動態(tài)測試根據(jù)測試代碼層次的不同,又可以分為單元測試和系統(tǒng)測試。

        由于軟件靜態(tài)測試只需要在主機(jī)上進(jìn)行,方法簡單,工具較多,本文主要探討嵌入式軟件的動態(tài)測試方法。

        2.2 嵌入式實時軟件測試的結(jié)構(gòu)[4,5]

        由于嵌入式實時軟件的特點(diǎn),嵌入式實時軟件測試必須基于嵌入式實時軟件目標(biāo)機(jī)進(jìn)行測試工作,典型的嵌入式實時軟件測試結(jié)構(gòu)如圖1。

        圖1 嵌入式實時軟件測試結(jié)構(gòu)圖

        該測試結(jié)構(gòu)中,最核心的是目標(biāo)機(jī)測試代理機(jī)制,測試代理服務(wù)器與主機(jī)測試環(huán)境通訊,根據(jù)主機(jī)測試環(huán)境發(fā)送來的測試代碼,監(jiān)視被測試嵌入時軟件的運(yùn)行,并將測試數(shù)據(jù)發(fā)送給主機(jī)測試環(huán)境。由于目標(biāo)機(jī)的資源相對匱乏,測試所得的信息在目標(biāo)機(jī)上不便分析,通過主機(jī)和目標(biāo)機(jī)之間的通信把測試所得信息上傳回主機(jī),再由主機(jī)中的測試結(jié)果分析工具對測試信息進(jìn)行分析。

        2.3 嵌入式實時軟件測試的步驟

        針對圖1所示的嵌入式實時軟件測試結(jié)構(gòu),實時嵌入式軟件測試的一般步驟是:在測試開始前制定測試計劃,在主機(jī)上根據(jù)不同的測試目的選擇相應(yīng)的測試用例,生成測試腳本,通過腳本解釋器實時解釋非實時生成的測試命令,并將測試命令和數(shù)據(jù)通過目標(biāo)機(jī)測試代理發(fā)送至被測試目標(biāo)系統(tǒng);測試代理接收測試命令后運(yùn)行被測試實時嵌入式應(yīng)用軟件,被測試軟件將測試后生成信息發(fā)送到測試代理中的一個專門任務(wù)的消息隊列中,此任務(wù)負(fù)責(zé)在適當(dāng)?shù)臅r候?qū)⑦@些信息發(fā)送到主機(jī)方,再由主機(jī)對測試結(jié)果進(jìn)行分析和處理[6]。

        3 LDRA Testbed嵌入式軟件測試工具

        Testbed是 LDRA公司開發(fā)的專業(yè)性軟件測試工具,不僅適合于主機(jī)平臺軟件測試,同時適合于嵌入式平臺的軟件測試。LDRA Testbed主要用于在軟件編程、軟件測試與軟件維護(hù)階段,以提高軟件產(chǎn)品的質(zhì)量、提高軟件產(chǎn)品開發(fā)效率、縮短開發(fā)周期。

        3.1 Testbed嵌入式軟件測試功能

        LDRA Testbed針對基于Tornado的開發(fā)環(huán)境能夠提供從編碼階段的靜態(tài)分析開始,包括單元測試,系統(tǒng)測試的一整套的測試和質(zhì)量保證手段。

        1) 靜態(tài)分析

        LDRA Testbed的靜態(tài)分析是在對源代碼的語法分析的基礎(chǔ)上進(jìn)行的,因此在編碼的同時就可以使用 LDRA Testbed對代碼進(jìn)行相關(guān)的分析和檢查,具體包括如下內(nèi)容:編碼規(guī)則驗證、復(fù)雜度分析、靜態(tài)數(shù)據(jù)流分析、信息流分析、交叉索引分析、數(shù)據(jù)對象分析等。

        2) 單元測試

        LDRA Testbed在單元測試階段,其單元測試模塊TBrun可以自動對被測軟件進(jìn)行代碼插裝,以獲得被測軟件的動態(tài)執(zhí)行信息,供 Testbed作動態(tài)測試分析。通過目標(biāo)平臺配置工具TBconfig能夠很方便的完成TBrun和Tornado的集成配置。

        3) 系統(tǒng)測試

        LDRA Testbed針對VxWorks和Tornado開發(fā)環(huán)境提供了多種模式來進(jìn)行系統(tǒng)級的測試:

        (1)純軟件模式的系統(tǒng)測試

        VxWorks在真實目標(biāo)機(jī)上運(yùn)行時是可以支持文件系統(tǒng)的,因此可以用最傳統(tǒng)的方式進(jìn)行系統(tǒng)級的測試。即采用與主機(jī)平臺一樣的插裝模版進(jìn)行插裝,然后將插裝后的代碼編譯鏈接在目標(biāo)機(jī)上運(yùn)行,插裝后的程序會將相應(yīng)的測試信息寫到目標(biāo)機(jī)的一個文件里去;在測試完成后或者測試進(jìn)行到一定程度將該數(shù)據(jù)文件傳送到主機(jī)用Testbed進(jìn)行分析,就可以得到相應(yīng)的測試結(jié)果。

        由于這種模式要進(jìn)行文件的讀寫操作,所以對系統(tǒng)的實時性影響較大,因此我們在實際測試時基本不使用該模式。

        (2)增強(qiáng)的軟件模式的系統(tǒng)測試

        基于 Tornado的開發(fā)環(huán)境提供的強(qiáng)大的功能,再結(jié)合LDRA Testbed的BITMAP插裝技術(shù),插裝后的代碼在目標(biāo)機(jī)運(yùn)行的時候?qū)⑾鄳?yīng)的特征值信息放到一個大小固定的數(shù)組中;當(dāng)測試進(jìn)行到一定階段,需要對覆蓋率信息進(jìn)行分析時,通過Tornado的shell將該數(shù)組的內(nèi)容讀取回主機(jī)進(jìn)行分析即可。

        增強(qiáng)的軟件模式的系統(tǒng)測試方法具有對系統(tǒng)實時性影響小,工程實施方便等特點(diǎn),在大量的實際項目的測試中被廣泛使用,并且效果極好。

        (3)軟/硬件結(jié)合模式的系統(tǒng)測試

        對于系統(tǒng)有極端實時性要求,并且關(guān)心系統(tǒng)運(yùn)行性能的情況,就需要采用軟/硬件結(jié)合的模式。該模式需要使用硬件數(shù)據(jù)采集器 RTInsight和目標(biāo)機(jī)的硬件總線進(jìn)行連接,在被測程序中插入的是向端口賦值的語句。

        在這種模式下,對系統(tǒng)的實時性影響和資源占用都是最小的,但是該模式需要進(jìn)行硬件連接,導(dǎo)致其工程實施性不如軟件模式好,但是其功能要多一些。

        3.2 LDRA 單元級軟件測試工具TBrun

        單元級軟件測試已經(jīng)被公認(rèn)為行之有效的軟件測試方法,使用單元級軟件測試可在軟件開發(fā)早期發(fā)現(xiàn)軟件故障或缺陷,從而提高軟件可靠性,減少軟件測試開銷。

        傳統(tǒng)的用于單元級軟件測試采用人工方式編寫測試驅(qū)動與樁模塊,因此具有測試程序可靠性低、開銷大、依賴于測試人員經(jīng)驗等問題,同時由于大多數(shù)測試時間花費(fèi)在編寫測試程序上,因此測試人員積極性不高,給軟件測試效果帶來影響。有鑒于此,LDRA公司成功開發(fā)出單元級測試工具TBrun可自動幫助測試工程師進(jìn)行單元級軟件測試。使用TBrun可自動產(chǎn)生軟件測試驅(qū)動、樁模塊,從而節(jié)省時間,測試人員可將重點(diǎn)放在設(shè)計測試用例上,提高軟件測試效率,同時提高軟件測試人員效率。

        3.3 嵌入式軟件測試工具RTInsight

        RTInsight充分考慮到嵌入式軟件實時性特點(diǎn),結(jié)合使用LDRA公司靜態(tài)分析與代碼自動插裝技術(shù),及 RTInsight硬件可實時地嵌入式系統(tǒng)進(jìn)行代碼覆蓋率分析與性能分析。由于采用代碼插裝可準(zhǔn)確的判斷代碼執(zhí)行情況,同時由于采用RTInsight高速虛擬端口技術(shù)使得代碼插裝量可控制在每個特征點(diǎn)(即函數(shù)入口、出口,程序分支點(diǎn))一到兩條指令或語句(代碼增加量可控制在 10%之內(nèi)),大大減少插裝代碼增加對被測系統(tǒng)的影響。可成功用于實時嵌入式系統(tǒng)集成與系統(tǒng)測試,提供代碼覆蓋率分析、性能分析、變量監(jiān)控、堆棧監(jiān)控及系統(tǒng)跟蹤功能。RTInsight實物圖如圖2所示。

        圖2 RTInsight實時監(jiān)控器

        RTInsight通過通用探頭或?qū)S锰筋^與目標(biāo)系統(tǒng)RAM芯片插座、CPU插座或?qū)S每偩€(如PC104)相連,支持所有8位、16位及32位微處理器與微控制器。支持匯編語言,C/C++語言,ADA語言。

        4 結(jié)束語

        根據(jù)嵌入式系統(tǒng)的特點(diǎn),我們提出了嵌入式實時軟件的測試結(jié)構(gòu),并以LDRA Testbed工具為例介紹了嵌入式實時軟件的測試的內(nèi)容和方法。該工具集已經(jīng)成功應(yīng)用于某型潛艇電力推進(jìn)系統(tǒng)嵌入式實時軟件的測試,取得了很好的測試效果。

        [1]陳智育, 溫彥軍, 陳琪編著. VxWorks程序開發(fā)實踐[M]. 北京:人民郵電出版社,2004.5.

        [2]陳敬原編著. VxWorks軟件開發(fā)項目實例完全解析[M]. 北京:中國電力出版社,2005.10

        [3]康一梅, 張永革. 嵌入式軟件測試[M]. 北京: 機(jī)械工業(yè)出版社, 2008.7

        [4]陳琦, 錢紅兵等. 一種基于仿真器的嵌入式軟件測試方法[J]. 計算機(jī)工程與科學(xué),Vol.28, No.A2, 2006.

        [5]Beque, L.T., Pra, T.D., Cota, E. Testing Requirements for an Embedded Operating System. Test Workshop,2009. LATW '09. 10th Latin American, March 2009.

        [6]Liu Shuping, Pang Ling. The Research of V Model in Testing Embedded Software. Computer Science and Information Technology, 2008.

        猜你喜歡
        嵌入式分析系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機(jī)系統(tǒng)
        隱蔽失效適航要求符合性驗證分析
        ZC系列無人機(jī)遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        電力系統(tǒng)不平衡分析
        電子制作(2018年18期)2018-11-14 01:48:24
        搭建基于Qt的嵌入式開發(fā)平臺
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        電力系統(tǒng)及其自動化發(fā)展趨勢分析
        Altera加入嵌入式視覺聯(lián)盟
        a在线观看免费网站大全| av影院手机在线观看| 激情乱码一区二区三区| 国产饥渴的富婆一凶二区| 国产内射一级一片内射视频| 国产又a又黄又潮娇喘视频| 东京热久久综合久久88| 亚洲青涩在线不卡av| 亚洲精品一区二区高清| 伊人久久大香线蕉av不卡| 久久AV老司机精品网站导航| 亚洲av伊人久久综合性色| 亚洲毛片在线观看免费| 亚洲裸男gv网站| 91老司机精品视频| 国产一区亚洲一区二区| 插插射啊爱视频日a级| 亚洲а∨天堂久久精品2021| 青青国产成人久久91| 免费国产不卡在线观看| 日本爽快片100色毛片| 久久久精品久久日韩一区综合| 久久国产av在线观看| av在线免费观看网站,| 三叶草欧洲码在线| 精品国产一区二区三区AV小说 | 久久综合香蕉国产蜜臀av| 最新亚洲精品国偷自产在线| 亚洲成AV人片无码不卡| 在线播放国产自拍av| 免费看黄a级毛片| 亚洲一区二区三区av链接| 国产自拍三级黄片视频| 无码gogo大胆啪啪艺术| 欧美午夜精品久久久久免费视| 青青草视频原手机在线观看| 国内精品少妇久久精品| 色老板美国在线观看| 中文字幕美人妻亅u乚一596| 国产丝袜高跟美腿一区在线| 日本在线一区二区三区不卡|