• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      嵌入式軟件測(cè)試技術(shù)及工具的研究

      2017-09-28 08:18:03張蕾
      關(guān)鍵詞:測(cè)試工具嵌入式軟件軟件測(cè)試

      張蕾

      摘 要:如今,嵌入式軟件在越來(lái)越多的場(chǎng)合應(yīng)用,嵌入式軟件測(cè)試工作是保證軟件質(zhì)量必不可少的重要一環(huán),也必將會(huì)得到更多的重視。本文介紹了嵌入式軟件的特點(diǎn)和測(cè)試方法,并針對(duì)不同的測(cè)試方法討論了流行的測(cè)試工具。

      關(guān)鍵詞:嵌入式軟件;軟件測(cè)試;測(cè)試方法;測(cè)試工具

      中圖分類號(hào):TP317 文獻(xiàn)標(biāo)識(shí)碼:A

      0.引言

      由于嵌入式軟件設(shè)計(jì)開(kāi)發(fā)的方法、技術(shù)、過(guò)程以及工具都與通用計(jì)算機(jī)軟件不同,所以需要使用更先進(jìn)的測(cè)試方法和工具對(duì)嵌入式系統(tǒng)進(jìn)行測(cè)試。隨著越來(lái)越多的領(lǐng)域使用軟件來(lái)控制各種嵌入式設(shè)備,如何對(duì)嵌入式軟件進(jìn)行測(cè)試和驗(yàn)證,如何保證軟件能夠滿足系統(tǒng)要求,就顯得尤為重要。

      1.嵌入式軟件測(cè)試特點(diǎn)

      嵌入式軟件測(cè)試與通用軟件不同,它是一種特殊的軟件測(cè)試,具備自身的一些特點(diǎn)(特別是對(duì)于沒(méi)有操作系統(tǒng)的嵌入式應(yīng)用軟件而言):

      (1)特定的硬件環(huán)境。

      (2)更加關(guān)注可靠性、實(shí)時(shí)性。

      (3)對(duì)進(jìn)行性能測(cè)試和功能測(cè)試外,還需要對(duì)內(nèi)存進(jìn)行測(cè)試。

      (4)在嵌入式軟件和硬件集成測(cè)試完成之后,并不代表測(cè)試全部完成,需要對(duì)其進(jìn)行產(chǎn)品測(cè)試。

      2.嵌入式軟件測(cè)試方法

      本文重點(diǎn)介紹了針對(duì)嵌入式軟件的幾種測(cè)試方法:靜態(tài)分析、軟件質(zhì)量度量、性能分析、內(nèi)存分析、覆蓋率分析、單元/集成測(cè)試、系統(tǒng)測(cè)試。

      2.1靜態(tài)分析

      靜態(tài)分析是一種利用測(cè)試工具對(duì)代碼進(jìn)行的機(jī)械性和程序化的分析方法。靜態(tài)分析是直接對(duì)源代碼進(jìn)行代碼走讀、靜態(tài)掃描和分析,不需要編譯或運(yùn)行代碼,也不會(huì)受到其他缺陷和其他模塊的影響。

      工具舉例:PolySpace工具是一種嵌入式軟件的靜態(tài)分析工具。它包括PolySpace Bug Finder和PolySpace Code Prover兩個(gè)模塊。PolySpace Bug Finder是靜態(tài)代碼分析軟件,可以發(fā)現(xiàn)C/C++代碼中的各類缺陷,包括運(yùn)行時(shí)錯(cuò)誤,數(shù)據(jù)流問(wèn)題,編程問(wèn)題等各類代碼缺陷。PolySpace Code Prover使用抽象解釋和靜態(tài)分析方法來(lái)證明,識(shí)別和分析運(yùn)行時(shí)錯(cuò)誤,例如溢出,除零和指針的越界。

      2.2軟件質(zhì)量度量

      軟件質(zhì)量度量是衡量軟件是否符合需求、標(biāo)準(zhǔn)的重要體現(xiàn),它的目的在于利用度量來(lái)改進(jìn)軟件過(guò)程。要確保軟件的整體質(zhì)量,就需要在各個(gè)環(huán)節(jié)嚴(yán)格控制。

      工具舉例:很多嵌入式軟件是用C或C++語(yǔ)言編寫(xiě),但編程語(yǔ)言本身并不安全,QAC/QAC++是一種代碼靜態(tài)分析工具,它的靜態(tài)分析能力包括:質(zhì)量度量和軟件結(jié)構(gòu)分析。

      2.3性能分析

      近年來(lái),嵌入式系統(tǒng)被廣泛應(yīng)用于汽車、家電、通信、制造等各個(gè)領(lǐng)域,領(lǐng)域間的競(jìng)爭(zhēng)也激發(fā)了嵌入式技術(shù)的快速發(fā)展,對(duì)軟件性能分析是嵌入式開(kāi)發(fā)過(guò)程中至關(guān)重要的一部分,嵌入軟件的性能分析是嵌入式環(huán)境下重要的測(cè)試方法。

      工具舉例:RapiTime是一種軟件運(yùn)行時(shí)間評(píng)估工具:它能夠進(jìn)行軟件時(shí)間性能的測(cè)量,通過(guò)分析得出最差執(zhí)行時(shí)間數(shù)據(jù),并為代碼優(yōu)化提供指導(dǎo)。它的特點(diǎn)包括檢查不同的函數(shù)對(duì)于最差、最優(yōu)以及平均執(zhí)行時(shí)間的影響;通過(guò)大量調(diào)用來(lái)查看執(zhí)行時(shí)間的變化;對(duì)于函數(shù)自身的上下文、循環(huán)以及數(shù)據(jù)塊進(jìn)行分析等。

      2.4內(nèi)存分析

      嵌入式系統(tǒng)的內(nèi)存是有限的,但對(duì)實(shí)時(shí)性要求又很高。內(nèi)存問(wèn)題主要包括內(nèi)存泄露、內(nèi)存崩潰、內(nèi)存碎片。其中內(nèi)存泄露問(wèn)題尤為嚴(yán)重,它會(huì)導(dǎo)致系統(tǒng)可用內(nèi)存減少,甚至導(dǎo)致系統(tǒng)崩潰。

      現(xiàn)在已經(jīng)有許多工具來(lái)解決內(nèi)存泄露問(wèn)題,如Mtrace、 Memwatch、Purify等。這些工具使用庫(kù)跟蹤、動(dòng)態(tài)檢測(cè)、程序插樁等技術(shù)來(lái)發(fā)現(xiàn)和定位內(nèi)存泄露的問(wèn)題。

      2.5覆蓋率分析

      覆蓋率測(cè)試(也成邏輯測(cè)試)是度量測(cè)試完整性和查找軟件問(wèn)題的必要手段,是測(cè)試有效性的度量。覆蓋率測(cè)試的目的是確保軟件所有的程序至少被執(zhí)行一次,盡可能全的覆蓋軟件程序的各個(gè)語(yǔ)句及其分支結(jié)構(gòu),以便發(fā)現(xiàn)軟件中的錯(cuò)誤和問(wèn)題。

      工具舉例:RapiCover 是一款基于目標(biāo)硬件的嵌入式軟件的測(cè)試覆蓋率分析工具, 針對(duì)所使用的測(cè)試用例給出對(duì)應(yīng)的現(xiàn)場(chǎng)測(cè)試覆蓋率信息,其插樁點(diǎn)的開(kāi)銷極小,并能針對(duì)目標(biāo)板的實(shí)際情況提供靈活的支持方式。它的特點(diǎn)包括:支持C、C++、Ada編程語(yǔ)言;極小的時(shí)間開(kāi)銷;語(yǔ)句覆蓋,變量定義、條件判斷或循環(huán)等。

      2.6單元/集成測(cè)試

      嵌入式軟件的單元測(cè)試大多是在宿主機(jī)環(huán)境下進(jìn)行的,只有少數(shù)情況下需要在目標(biāo)機(jī)環(huán)境下進(jìn)行。單元測(cè)試主要是進(jìn)行白盒測(cè)試,應(yīng)盡可能地測(cè)試每一個(gè)函數(shù),每一個(gè)條件分支、每一個(gè)程序語(yǔ)句,提高代碼的測(cè)試覆蓋率。

      在單元測(cè)試完成后,接下來(lái)需要進(jìn)行集成測(cè)試。集成測(cè)試又稱為組裝測(cè)試,是將各模塊合成一個(gè)組件,并測(cè)試它們間的接口。

      工具舉例:Tessy軟件是一款專門(mén)針對(duì)嵌入式軟件動(dòng)態(tài)測(cè)試的工具。它可以對(duì)C/C++代碼進(jìn)行單元測(cè)試和集成測(cè)試。

      2.7 系統(tǒng)測(cè)試

      嵌入式軟件系統(tǒng)測(cè)試的目的與通用軟件類似,都是通過(guò)與需求做比較來(lái)發(fā)現(xiàn)軟件缺陷。嵌入式軟件的系統(tǒng)測(cè)試應(yīng)綜合運(yùn)行各種測(cè)試用例設(shè)計(jì)方法,并根據(jù)需求規(guī)格說(shuō)明書(shū)來(lái)設(shè)計(jì),在目標(biāo)機(jī)環(huán)境下運(yùn)行。

      系統(tǒng)測(cè)試階段除了功能測(cè)試外,還應(yīng)該包括意外測(cè)試、破壞性測(cè)試、性能測(cè)試等。

      在系統(tǒng)測(cè)試中,隨機(jī)測(cè)試是比較經(jīng)濟(jì)有效的一種測(cè)試方法。將隨機(jī)測(cè)試結(jié)果和操作規(guī)范的要求作比較,還可以得到軟件可靠性的估計(jì)。有效地將隨機(jī)抽樣測(cè)試與其他測(cè)試技術(shù)結(jié)合可以產(chǎn)生更強(qiáng)大和更高效的測(cè)試策略。

      結(jié)語(yǔ)

      本文歸納總結(jié)了嵌入式軟件的測(cè)試方法,并在不同的測(cè)試方法中列舉了當(dāng)前市場(chǎng)上的適用于嵌入式軟件的測(cè)試工具,希望能夠?qū)V大從業(yè)者有所參考。

      參考文獻(xiàn)

      [1]康一梅.嵌入式軟件測(cè)試[M].北京:機(jī)械工業(yè)出版社,2010:39-40.

      [2]MathWorks引入兩款Polyspace代碼驗(yàn)證新產(chǎn)品[J]. Microcontrollers & Embedded Systems,2013:86-87.

      [3]梁倩.一種基于QAC和Klocwork軟件的靜態(tài)測(cè)試方法[J].計(jì)算機(jī)與網(wǎng)絡(luò),2012(10):58-60.

      [4]張鵬.嵌入式軟件內(nèi)存泄露檢測(cè)方法研究[J].計(jì)算機(jī)工程與應(yīng)用, 2013(14):56-59.

      [5]孫韜敏.基于隱馬爾可夫模型的內(nèi)存碎片檢測(cè)機(jī)制[J].計(jì)算機(jī)應(yīng)用,2014(S2):224-226.

      [6]孫隴平.嵌入式軟件覆蓋率測(cè)試的研究與應(yīng)用[J].現(xiàn)代電子技術(shù),2014(18):67-69.endprint

      猜你喜歡
      測(cè)試工具嵌入式軟件軟件測(cè)試
      邊緣智力兒童及其智力測(cè)試工具的研究進(jìn)展
      基于OBE的軟件測(cè)試課程教學(xué)改革探索
      Http并發(fā)連接測(cè)試工具
      EXCEL和VBA實(shí)現(xiàn)軟件測(cè)試記錄管理
      電子制作(2018年16期)2018-09-26 03:27:18
      實(shí)時(shí)嵌入式軟件的測(cè)試技術(shù)
      關(guān)于軟件測(cè)試技術(shù)應(yīng)用與發(fā)展趨勢(shì)研究
      全景相機(jī)遙控器嵌入式軟件V1.0 相關(guān)操作分析
      電子制作(2017年17期)2017-12-18 06:40:56
      軟件測(cè)試工程化模型及應(yīng)用研究
      基于Eclipse的航天嵌入式軟件集成開(kāi)發(fā)環(huán)境設(shè)計(jì)與實(shí)現(xiàn)
      航天嵌入式軟件浮點(diǎn)運(yùn)算誤差分析與控制
      简阳市| 义乌市| 固安县| 新乡市| 元朗区| 赞皇县| 安泽县| 新龙县| 日喀则市| 涞源县| 兴业县| 定南县| 安图县| 临澧县| 邛崃市| 裕民县| 昌平区| 家居| 新津县| 安龙县| 双城市| 弥勒县| 巫溪县| 新巴尔虎右旗| 兴化市| 任丘市| 泸溪县| 理塘县| 涞源县| 乌鲁木齐市| 潼关县| 西贡区| 双柏县| 无棣县| 黄石市| 广宁县| 盐亭县| 沁阳市| 洪泽县| 菏泽市| 山阳县|