• 
    

    
    

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

      ?

      嵌入式軟件仿真測試環(huán)境構(gòu)建技術(shù)研究

      2021-07-14 07:58:28張曉娜金朋飛
      中文信息 2021年5期
      關(guān)鍵詞:測試環(huán)境測系統(tǒng)嵌入式軟件

      張 翔 彭 琿 張曉娜 金朋飛

      (復(fù)雜電磁環(huán)境效應(yīng)國家重點(diǎn)實(shí)驗(yàn)室,河南 洛陽 471003)

      引言

      隨著人們對(duì)嵌入式設(shè)備的功能多樣化的要求和行為智能化的期望,嵌入式軟件作為嵌入式設(shè)備的“大腦”,軟件復(fù)雜度將更高,規(guī)模將更大,如何更準(zhǔn)、更快、更高效地對(duì)嵌入式軟件測試,是擺在嵌入式軟件測試行業(yè)的首要問題。為更好地進(jìn)行嵌入式軟件的測試,測試環(huán)境的構(gòu)建是測試工作的重要基礎(chǔ)。

      一、嵌入式軟件仿真測試環(huán)境

      嵌入式軟件的實(shí)時(shí)性、嵌入性和反應(yīng)性特點(diǎn)[1],使得軟件測試面臨更多的困難。因此,根據(jù)不同種類的嵌入式軟件運(yùn)行的需求,構(gòu)建正確有效的測試環(huán)境是保證測試過程順利進(jìn)行,提高測試效率,保證測試質(zhì)量的基礎(chǔ)。實(shí)踐過程中,測試人員需根據(jù)嵌入式軟件的特點(diǎn)搭建相應(yīng)的測試環(huán)境,主要分為:仿真測試環(huán)境、交叉測試環(huán)境和插樁環(huán)境[2]。在嵌入式軟件測試過程中,仿真測試技術(shù)提高了測試效率,縮短了測試周期,加強(qiáng)了嵌入式軟件測試的充分性和全面性。

      二、嵌入式軟件仿真測試環(huán)境構(gòu)建分類及實(shí)現(xiàn)方法

      由于嵌入式設(shè)備種類的多樣性和運(yùn)行環(huán)境的不同,使得嵌入式軟件測試環(huán)境的構(gòu)建必須根據(jù)實(shí)際條件選擇合適的策略方法。目前三種產(chǎn)生方式即真實(shí)、純軟件虛擬、硬件和軟件結(jié)合的半實(shí)物,嵌入式仿真測試環(huán)境包括全實(shí)物仿真測試環(huán)境、半實(shí)物仿真測試環(huán)境和全數(shù)字仿真測試環(huán)境三類[3]。

      1.嵌入式軟件全實(shí)物仿真測試環(huán)境

      全實(shí)物仿真測試環(huán)境直接將嵌入式軟件運(yùn)行所需要的整個(gè)系統(tǒng),包括目標(biāo)硬件平臺(tái)和其交聯(lián)的物理設(shè)備建立真實(shí)的連接,在實(shí)際運(yùn)行條件下對(duì)軟件進(jìn)行測試,測試框架如圖1所示。

      圖1 嵌入式軟件全實(shí)物仿真測試環(huán)境框架

      嵌入式軟件的開發(fā)環(huán)境安裝在宿主機(jī),開發(fā)人員利用開發(fā)工具完成后,通過仿真軟件調(diào)試,而嵌入式軟件最終實(shí)際工作運(yùn)行在目標(biāo)機(jī)上。測試方法通常是外接一些測試輔助設(shè)備,比如:示波器、邏輯分析儀等。示波器是應(yīng)用廣泛的電子測量儀器,通過示波器測量目標(biāo)機(jī)電信號(hào),轉(zhuǎn)化成波形圖像,測試人員分析信號(hào)幅度、周期、頻率和相位等參數(shù),與目標(biāo)機(jī)的期望信號(hào)進(jìn)行分析對(duì)比。邏輯分析儀的主要作用是時(shí)序判定,測試人員需要設(shè)定不同的邏輯條件,實(shí)時(shí)記錄內(nèi)存訪問行為,通常采用統(tǒng)計(jì)采樣的方式進(jìn)行測試。

      全實(shí)物仿真測試側(cè)重于被測系統(tǒng)與其交聯(lián)設(shè)備的接口進(jìn)行測試,是整個(gè)軟件系統(tǒng)和硬件系統(tǒng)總體運(yùn)行情況的全面測試,是適用于系統(tǒng)測試階段采取的測試方法。

      2.嵌入式軟件半實(shí)物仿真測試環(huán)境

      半實(shí)物仿真測試環(huán)境是被測軟件運(yùn)行在真實(shí)目標(biāo)硬件上,而與之連接的交互設(shè)備用仿真模型來替代,利用仿真模型模擬被測軟件的整體運(yùn)行環(huán)境。測試環(huán)境主要模擬在真實(shí)環(huán)境中與被測軟件有數(shù)據(jù)交互的輸入和輸出關(guān)系,并能通過外部仿真模型控制對(duì)被測軟件輸入信號(hào),也可以接收被測軟件的輸出信號(hào)并實(shí)時(shí)分析和記錄。交聯(lián)仿真模型為目標(biāo)硬件提供激勵(lì)信號(hào)輸入,接收并處理目標(biāo)硬件的輸出數(shù)據(jù),進(jìn)行對(duì)被測軟件自動(dòng)、實(shí)時(shí)、非侵入性的閉環(huán)測試。但是并不是所有的交聯(lián)設(shè)備都必須構(gòu)建仿真模型,可以隨著項(xiàng)目的進(jìn)展以及根據(jù)外設(shè)的復(fù)雜性,有選擇性地加入真實(shí)外部設(shè)備[4]。

      嵌入式軟件半實(shí)物仿真測試環(huán)境通常可實(shí)現(xiàn)對(duì)被測系統(tǒng)進(jìn)行接口測試、功能測試和性能測試等。利用搭建好的仿真環(huán)境模擬被測系統(tǒng)在真實(shí)運(yùn)行環(huán)境中的輸入,乃至從邊界條件、極端條件等不同情況下可能出現(xiàn)的輸入,在運(yùn)行過程對(duì)被測系統(tǒng)進(jìn)行全面的測試,從而盡可能在正式交付前發(fā)現(xiàn)嵌入式軟件的缺陷問題,提高嵌入式軟件的可靠性。半實(shí)物仿真測試環(huán)境的形式可能多種多樣,但基本的實(shí)現(xiàn)體系結(jié)構(gòu)由上位機(jī)、下位機(jī)和被測系統(tǒng)構(gòu)成,在一些情況下可能還包含部分與被測硬件交聯(lián)的設(shè)備。

      嵌入式軟件半實(shí)物仿真測試環(huán)境的工作原理和結(jié)構(gòu)如圖2所示,上位機(jī)和下位機(jī)之間通過TCP/IP協(xié)議交互,下位機(jī)通過總線、AD/DA轉(zhuǎn)換接口,串口和USB接口等不同板卡接口與被測系統(tǒng)通信。

      圖2 嵌入式軟件半實(shí)物仿真測試環(huán)境結(jié)構(gòu)圖

      3.嵌入式軟件全數(shù)字仿真測試環(huán)境

      3.1 全數(shù)字仿真測試環(huán)境框架

      全數(shù)字仿真測試環(huán)境是指將被測軟件運(yùn)行的目標(biāo)硬件全部以仿真的方式進(jìn)行替代,還包括有交互關(guān)系的外圍設(shè)備。全數(shù)字仿真環(huán)境在宿主機(jī)上構(gòu)造嵌入式軟件運(yùn)行所硬件環(huán)境,硬件功能全部由仿真模型替代,被測軟件的測試過程全部在計(jì)算機(jī)上完成,無須被測系統(tǒng)硬件參與。

      嵌入式軟件全數(shù)字仿真測試環(huán)境基本框架如圖3所示,被測軟件可以是源代碼也可以是目標(biāo)碼,嵌入式軟件測試的主要對(duì)象是目標(biāo)碼,目標(biāo)碼導(dǎo)入虛擬目標(biāo)機(jī)中運(yùn)行,測試過程由測試控制端管理和控制。測試控制端進(jìn)行外設(shè)建模仿真、測試用例生成,測試腳本載入、測試數(shù)據(jù)采集記錄和測試結(jié)果分析等功能。通常可為測試環(huán)境配置各種模型庫,增強(qiáng)測試用例、外設(shè)仿真模型、嵌入式處理器模型庫的復(fù)用性,減少測試過程重復(fù)性工作,提高軟件測試效率。

      圖3 嵌入式軟件全數(shù)字仿真測試環(huán)境框架圖

      3.2 全數(shù)字仿真測試環(huán)境關(guān)鍵實(shí)現(xiàn)技術(shù)

      3.2.1 嵌入式處理器仿真技術(shù)。利用仿真技術(shù)實(shí)現(xiàn)全數(shù)字嵌入式軟件測試環(huán)境構(gòu)建的一個(gè)核心技術(shù)就是處理器的仿真,嵌入式處理器的仿真實(shí)際上是相應(yīng)嵌入式處理器指令集的仿真,即指令集仿真器,是用軟件模擬一個(gè)處理器上程序執(zhí)行過程的軟件工具,它建立了處理器的仿真模型,通過模擬每條指令在目標(biāo)處理器上的執(zhí)行效果來模擬執(zhí)行被測程序。

      指令集仿真器的實(shí)現(xiàn)方式主要分為解釋型和編譯型兩類。解釋型方式是對(duì)每條目標(biāo)機(jī)機(jī)器指令按照取指、譯碼、本地執(zhí)行的流程進(jìn)行處理和執(zhí)行。編譯型方式是將目標(biāo)處理器的可執(zhí)行二進(jìn)制機(jī)器指令整體直接編譯為本地機(jī)器的二進(jìn)制機(jī)器指令,然后統(tǒng)一執(zhí)行。兩種方式各有優(yōu)缺點(diǎn),解釋型設(shè)計(jì)實(shí)現(xiàn)簡單,可控性好,但執(zhí)行速度較慢。編譯型執(zhí)行速度快,但可控性和可移植性較差。

      3.2.2 外設(shè)仿真及故障定位。被測軟件的目標(biāo)機(jī)硬件通常只是真實(shí)系統(tǒng)中的一部分,外圍設(shè)備環(huán)境為軟件運(yùn)行提供必要的資源。全數(shù)字仿真測試環(huán)境要模擬被測軟件的整個(gè)運(yùn)行系統(tǒng),與目標(biāo)硬件產(chǎn)生數(shù)據(jù)交互連接的外部設(shè)備同樣通過仿真模型的方式實(shí)現(xiàn)。全數(shù)字仿真測試環(huán)境外圍設(shè)備仿真與半實(shí)物交聯(lián)設(shè)備仿真的主要不同點(diǎn)是,半實(shí)物的交聯(lián)設(shè)備仿真模型最終通過硬件接口將信號(hào)傳入真實(shí)的被測硬件系統(tǒng),而全數(shù)字仿真都是以軟件方式實(shí)現(xiàn),即通過建立硬件接口的仿真模型實(shí)現(xiàn)信號(hào)傳輸過程的模擬。由于運(yùn)行在宿主機(jī)平臺(tái),不受目標(biāo)機(jī)硬件資源制約,可以對(duì)不同故障類型下軟件進(jìn)行充分測試,相比硬件更容易實(shí)現(xiàn)故障定位和復(fù)現(xiàn)。

      3.2.3 調(diào)試與測試。調(diào)試通常由測試人員使用調(diào)試工具進(jìn)行,使用調(diào)試器可以對(duì)虛擬目標(biāo)機(jī)和被測軟件的運(yùn)行狀態(tài)進(jìn)行控制和查看。通過調(diào)試器設(shè)置運(yùn)行斷點(diǎn),記錄運(yùn)行中的某一時(shí)刻寄存器中的數(shù)據(jù),記錄函數(shù)執(zhí)行的時(shí)間和覆蓋率等。良好的調(diào)試器可以測試人員提供更加靈活的測試,在運(yùn)行過程中隨時(shí)產(chǎn)生指定故障,隨時(shí)采集指定數(shù)據(jù),查看并修改寄存器的值,隨時(shí)可對(duì)已執(zhí)行代碼進(jìn)行覆蓋率分析等功能,并且在獲取狀態(tài)后不影響被測軟件的繼續(xù)運(yùn)行。普通的調(diào)試器設(shè)置斷點(diǎn)是使用指令替換的方式,在斷點(diǎn)處獲得程序執(zhí)行過程中的內(nèi)部狀態(tài)信息。但如果軟件中存在將指令本身作為數(shù)據(jù)輸入的功能,例如,計(jì)算自身校驗(yàn)和,則計(jì)算校驗(yàn)和的輸入就會(huì)隨著斷點(diǎn)的設(shè)置而發(fā)生改變,從而影響被測軟件的運(yùn)行,這和軟件插樁技術(shù)面臨的問題是相同的。

      全數(shù)字仿真測試環(huán)境有較高的靈活性和可控性,能夠?qū)崿F(xiàn)各種異常數(shù)據(jù)和異常狀態(tài)的輸入,對(duì)測試用例的支持較好,不受目標(biāo)硬件及其外圍設(shè)備的限制。同時(shí)也要認(rèn)識(shí)到全數(shù)字仿真測試環(huán)境無法替代真實(shí)硬件,如果仿真的完整性和準(zhǔn)確性差,則無法反映出真實(shí)系統(tǒng)的實(shí)時(shí)特性,就無法完成與硬件時(shí)序特性聯(lián)系緊密的測試。

      結(jié)語

      本文整理分析了嵌入式軟件仿真測試環(huán)境構(gòu)建的類型和方法,梳理了每種測試環(huán)境框架的適用場景和優(yōu)缺點(diǎn),可為測試人員構(gòu)建仿真測試環(huán)境提供參考和借鑒。測試用例和測試腳本的自動(dòng)生成等技術(shù)促使軟件測試的自動(dòng)化程度不斷增強(qiáng),逐步向智能化測試發(fā)展,并且使通用化進(jìn)一步加強(qiáng)。隨著嵌入式軟件自動(dòng)化測試框架的不斷豐富,嵌入式軟件測試方法技術(shù)會(huì)不斷完善發(fā)展,尤其隨著大數(shù)據(jù)、深度學(xué)習(xí)技術(shù)在測試領(lǐng)域深入應(yīng)用,會(huì)出現(xiàn)越來越多的測試方法和測試工具,提高測試人員的效率和改善測試的效果。

      猜你喜歡
      測試環(huán)境測系統(tǒng)嵌入式軟件
      全數(shù)字仿真測試環(huán)境在航天軟件測試中的應(yīng)用研究
      雷達(dá)航跡處理測試環(huán)境構(gòu)建方法研究
      科技視界(2019年10期)2019-09-02 03:22:27
      網(wǎng)絡(luò)設(shè)備自動(dòng)化測試設(shè)計(jì)與實(shí)現(xiàn)
      實(shí)時(shí)嵌入式軟件的測試技術(shù)
      電子測試(2018年10期)2018-06-26 05:54:08
      全景相機(jī)遙控器嵌入式軟件V1.0 相關(guān)操作分析
      電子制作(2017年17期)2017-12-18 06:40:56
      防洪非工程措施設(shè)計(jì)實(shí)例——嘉興市水文巡測系統(tǒng)項(xiàng)目設(shè)計(jì)
      電快速瞬變脈沖群對(duì)核測系統(tǒng)的影響及對(duì)策
      基于Eclipse的航天嵌入式軟件集成開發(fā)環(huán)境設(shè)計(jì)與實(shí)現(xiàn)
      航天嵌入式軟件浮點(diǎn)運(yùn)算誤差分析與控制
      基于廣域量測系統(tǒng)的電力系統(tǒng)綜合負(fù)荷辨識(shí)模型的研究
      電測與儀表(2015年8期)2015-04-09 11:50:12
      游戏| 英德市| 娱乐| 高平市| 多伦县| 铜山县| 惠安县| 玉树县| 金秀| 神农架林区| 察哈| 金平| 阜南县| 万全县| 多伦县| 丹寨县| 义乌市| 平塘县| 汶川县| 阜平县| 吉木乃县| 礼泉县| 博兴县| 自贡市| 北流市| 济阳县| 呼伦贝尔市| 长垣县| 乌什县| 彭山县| 攀枝花市| 铜陵市| 海晏县| 白沙| 锦屏县| 宜春市| 清水河县| 嘉荫县| 阿拉善左旗| 嘉兴市| 利津县|