版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第五章嵌入式應用測試
了解嵌入式應用測試的基本概念,重點是測試的原則、流程和方法相關知識;
了常用嵌入式測試工具,理解測試工具的適用場解景;
掌握主要測試用工具的使用方法;
掌握FPGA軟件的仿真測試技術及常用的測試方法;
重點掌握通過測試工具,依據(jù)測試原則、執(zhí)行測試流程和運用測試方法。
本章要點5.1嵌入式應用測試的基本理論
5.2嵌入式應用測試工具介紹
5.3基于FPGA的嵌入式軟件測試
5.4Vivadosimulation安裝與應用
5.5仿真實驗程序測試案例目
錄5.1嵌入式應用測試的基本理論嵌入式系統(tǒng)安全性的失效可能會導致災難性的后果,即使是非安全性系統(tǒng),由于大批量生產(chǎn)也會導致嚴重的經(jīng)濟損失。這就要求對嵌入式系統(tǒng),包括嵌入式軟件進行嚴格的測試、確認和驗證。隨著越來越多的領域使用軟件和微處理器控制各種嵌入式設備,對日益復雜的嵌入式軟件進行快速有效的測試愈加顯得重要。在嵌入式系統(tǒng)設計中,軟件正越來越多地取代硬件,以降低系統(tǒng)的成本,獲得更大的靈活性,這就需要使用更好的測試方法和工具進行嵌入式和實時軟件的測試。本章通過嵌入式應用的分類、特點、原則、流程、方法、工具和策略等幾個方面,介紹嵌入式應用測試的基礎知識。5.1.1嵌入式應用測試的分類嵌入式測試中,要考慮軟件,還要考慮軟件同硬件平臺和操作系統(tǒng)的集成,同時還有條件苛刻的時間約束和實時要求,以及其他的性能相關的要求。因此,根據(jù)測試環(huán)境不同,嵌入式系統(tǒng)可分為全數(shù)字模擬測試和交叉測試。在測試的實施過程中,根據(jù)是否運行嵌入式系統(tǒng),測試又可分為靜態(tài)測試和動態(tài)測試。1.全數(shù)字模擬測試全數(shù)字模擬測試是指采用數(shù)學平臺的方法,將嵌入式軟件從系統(tǒng)中剝離出來,通過開發(fā)CPU指令、常用芯片、I/O、中斷、時鐘等模擬器在開發(fā)主機平臺(Host)上實現(xiàn)嵌入式軟件的測試。該方法操作簡單,適用于功能測試,是一種可以借鑒的常規(guī)軟件測試方法。5.1.1嵌入式應用測試的分類
2.交叉測試(Host/Target測試)
高級程序設計語言出現(xiàn)后,嵌入式系統(tǒng)的開發(fā)環(huán)境和運行環(huán)境通常是存在差異的,開發(fā)環(huán)境被認為是主機平臺(Host),軟件運行環(huán)境為目標平臺(Target),相應的測試為HostTarget測試(交叉測試)。測試過程中,充分利用高級語言的可移植性,將系統(tǒng)中與目標環(huán)境無關的部分工作轉(zhuǎn)移到PC平臺上完成,在硬件環(huán)境未建好或調(diào)試工具缺乏時就可以開展,這時可以借鑒常規(guī)的軟件測試方法。
系統(tǒng)中與硬件密切相關的部分在Target上完成,用到的測試工具需要支持目標環(huán)境。最后,在目標環(huán)境中進行驗證確認。交叉測試適用于高級語言,操作方便,測試成本較低,但是實時性受調(diào)試環(huán)境的制約,在目標環(huán)境中測試時要占用一定的目標資源。5.1.2嵌入式應用測試的特點
嵌入式系統(tǒng)的軟硬件功能界限模糊,測試比通用計算機系統(tǒng)的軟件測試要困難得多,嵌入式軟件系統(tǒng)測試具有如下特點:測試軟件功能依賴不需編碼的硬件功能,快速定位軟硬件錯誤困難;強壯性測試、可知性測試很難編碼實現(xiàn);交叉測試平臺的測試用例、測試結(jié)果上載困難;基于消息系統(tǒng)測試的復雜性,包括線程、任務、子系統(tǒng)之間的交互,并發(fā)、容錯和對時間的要求;性能測試、確定性能瓶頸困難;實施測試自動化技術困難。5.1.3嵌入式應用測試的原則
入式軟件測試除了要遵循普通軟件測試的原則之外,還需要遵循以下幾個原則:嵌入式軟件測試對軟件在硬件平臺的測試是必不可少的;嵌入式軟件測試需要在特定的環(huán)境下對軟件進行測試;嵌入式軟件需進行必要的可靠性負載測試,比如測試某些嵌入式系統(tǒng)能否連續(xù)1000個小時不斷電工作;除了要對嵌入式軟件系統(tǒng)的功能進行測試之外,還需要對實時性進行測試。在判斷系統(tǒng)是否失效方面,除了看它的輸出結(jié)果是否正確,還應考慮其是否在規(guī)定的時間里輸出了結(jié)果;在對嵌入式軟件進行測試的時候,需要在特定的硬件平臺上進行性能測試、內(nèi)存測試、GUI測試、覆蓋分析測試。5.1.4嵌入式應用測試的流程
根據(jù)嵌入式系統(tǒng)的開發(fā)流程,為了最經(jīng)濟地實現(xiàn)系統(tǒng)的功能,一般采用自頂向下、層層推進的方法對嵌入式系統(tǒng)進行測試。以下圖為基于模塊化設計的嵌入式軟件測試流程。圖6-1嵌入式軟件測試的詳細流程5.1.5嵌入式應用測試的方法
依據(jù)一般原理,軟件測試有7個基本階段,即單元或模塊測試、集成測試、外部功能測試、回歸測試、系統(tǒng)測試、驗收測試、安裝測試。嵌入式測試在4個階段上進行,即模塊測試、集成測試、系統(tǒng)測試、硬件/軟件集成測試。前3個階段適用于任何軟件的測試,硬件/軟件集成測試階段是嵌入式系統(tǒng)所特有的,目的是驗證嵌入式軟件與其所控制的硬件設備能否正確地交互。在4個階段進行測試可以采用白盒測試與黑盒測試、目標環(huán)境測試和宿主環(huán)境測試5.1.6嵌入式應用測試工具
用于輔助嵌入式軟件測試的工具很多,嵌入式應用在內(nèi)存分析、性能分析、GUI測試、覆蓋分析等幾類比較具有代表性的工具有:內(nèi)存分析工具、性能分析工具、GUI測試工具、覆蓋分析工具。5.1.7嵌入式應用測試策略
關于嵌入式軟件測試,首先要簡單介紹一些軟件工程的一些觀點,被普遍接受的軟件的定義是:軟件(software)是計算機系統(tǒng)中與硬件(hardware)相互依存的另一部分,它包括程序(program)、相關數(shù)據(jù)(data)及其說明文檔(document)。
嵌入式軟件測試或叫交叉測試(cross-test),在各個測試階段有著通用的策略:單元測試策略、集成測試策略、系統(tǒng)測試和確認測試策略。5.2嵌入式應用測試工具介紹
符合嵌入式軟件特點的仿真測試平臺及環(huán)境,對嵌入式軟件進行綜合全面的測試,驗證軟件是否滿足設計要求,提高軟件的可靠性和安全性能力,分析軟件執(zhí)行過程,提高代碼效率。本節(jié)介紹主流嵌入式軟件仿真測試平臺和環(huán)境,包括ETest、CodeTEST、Tessy、Cmocka和ModelSim等工具。5.3基于FPGA的嵌入式軟件測試基于FPGA的嵌入式軟件測試技術,以FPGA軟件測試流程入手,通過設計檢查、功能仿真、時序仿真、邏輯等價性驗證、靜態(tài)時序分析,介紹FPGA軟件測試的基本方法;通過功能仿真測試、時序仿真測試、接口測試、性能測試、安全性測試、恢復性測試、強度測試、邊界測試介紹FPGA仿真測試。5.3.1FPGA測試流程及方法
FPGA驗證就是通過仿真、時序分析、上板調(diào)試等手段驗證設計的正確性,在FPGA系統(tǒng)開發(fā)流程中,驗證主要包括功能驗證和時序驗證兩個部分。在FPGA開發(fā)的整個流程中,屬于驗證的有功能仿真和時序驗證兩個步驟。
如何能夠盡早發(fā)現(xiàn)設計中的問題,相應地取決于驗證過程及流程,F(xiàn)PGA測試流程主要包含以下幾個部分:制定測試計劃、編碼規(guī)則檢查、仿真測試、靜態(tài)時序分析、回歸測試。常用的FPGA測試方法有設計檢查、功能仿真、時序仿真、邏輯等價性驗證、靜態(tài)時序分析和板級測試等。5.3.2FPGA仿真測試FPGA仿真測試是指通過仿真工具(如ModelSim、Vivadosimulation等)運行FPGA設計的RTL級代碼或網(wǎng)表文件,動態(tài)模擬FPGA運行環(huán)境中與其交互的其他軟件的行為,將該行為以激勵形式發(fā)送給FPGA軟件,觀察FPGA軟件運行結(jié)果是否與預期一致。在FPGA設計中,仿真一般分為功能仿真(前仿真)和時序仿真(后仿真)。FPGA仿真測試的主要包括功能仿真測試、時序仿真測試、接口測試、性能測試、安全性測試、恢復性測試、強度測試、邊界測試。5.4Vivadosimulation安裝與應用
Vivado設計套件內(nèi)部集成了仿真器VivadoSimulation,能夠在設計流程的不同階段運行設計的功能仿真和時序仿真,結(jié)果可以在VivadoIDE集成的波形查看器中顯示。VivadoSimulation是Vivado平臺的系統(tǒng)自帶仿真軟件,因此該工具可在Vivado安裝后自動獲得。5.4.1Vivadosimulation的基本功能VivadoSimulation是一款硬件描述語言事件驅(qū)動的仿真器,支持功能仿真和時序仿真,支持VHDL、Verilog、SystemVerilog和混合語言仿真。點擊運行仿真后,工具欄中顯示了控制仿真過程的常用功能按鈕如圖所示。5.4.1Vivadosimulation的基本功能VivadoSimulation中將HDL設計中的一個層次劃分稱作一個scope,比如實例化一個設計單元便創(chuàng)建了一個scope;在Scope窗口中可以看到設計結(jié)構(gòu),選中一個scope后,該scope中所有的HDL對象都會顯示在Object窗口中;可以選擇將Object窗口中的對象添加到波形窗口中,這樣便可以觀察到設計中的內(nèi)部信號;5.4.1Vivadosimulation的基本功能對某一scope點擊右鍵,彈出菜單如下:在Objects窗口中,顯示了當前選中的scope所包含的HDL對象,不同類型或端口的對象顯示為不同的圖標,在Settings中可以設置顯示的類型,如圖所示。5.4.1Vivadosimulation的基本功能當運行仿真后,會自動打開一個波形窗口,默認顯示仿真頂層模塊中的HDL對象的波形配置,如圖所示。如果關閉了波形窗口,可以點擊Window->Waveform重新打開。窗口中的HDL對象和分組情況稱作一個波形配置,可以將當前配置保存為wcfg文件,下次運行仿真時就不需要重新添加仿真對象或分組。窗口中還有游標、記號、時間尺等功能幫助設計者測量時間。5.4.2Vivadosimulation的測試過程
工程創(chuàng)建好后,便可運行行為級仿真(behavioralsimulation),在成功地綜合和實現(xiàn)之后,可以運行功能仿真(functionalsimulation)和時序仿真(timingsimulation)。在FlowNavigator中點擊RunSimulation,彈出菜單中選擇需要運行的仿真:
設計者可以創(chuàng)建一個批處理文件,添加到工程中,其中的命令將在仿真開始后運行,常用的流程步驟如下所示:創(chuàng)建一個包含仿真命令的Tcl腳本,如果想仿真運行到5μs,添加“run5us”命令;如果想監(jiān)測設計內(nèi)部信號,將其添加到波形窗口中,添加“add_wave/top/I1/signalName”命令;將腳本文件命名為post.tcl并保存;將post.tcl文件以仿真源文件的形式添加到工程中,會顯示在Sources窗口的Simulation文件夾下;在仿真工具欄中點擊“Relaunch”重新編譯運行仿真,Vivado會自動讀取并執(zhí)行文件中的命令。5.4.2Vivadosimulation的測試過程5.5仿真實驗程序測試案例
針對一個嵌入式系統(tǒng)實例,本節(jié)通過系統(tǒng)設計需求和系統(tǒng)測試兩個部分對系統(tǒng)的設計需求、系統(tǒng)實現(xiàn)、測試用例設計和測試實施內(nèi)容進行敘述。在系統(tǒng)設計實現(xiàn)中,采用硬件描述語言Verilog設計實現(xiàn)一個具有調(diào)時功能的數(shù)字時鐘。在系統(tǒng)測試中,采用等價類劃分法設計測試用例,采用TESTBENCH方法編寫測試輔助程序,并通過Vivadosimulation平臺的Wave窗口給出一個代表性測試用例的顯示結(jié)果。5.5.1系統(tǒng)設計實現(xiàn)1.設計需求
通過FPGA器件,采用Verilog硬件描述語言,設計實現(xiàn)一個能夠?qū)δ暝氯諘r分秒進行顯示和計時的數(shù)字時鐘系統(tǒng),系統(tǒng)通過特定端口對系統(tǒng)進行調(diào)時。
在系統(tǒng)實現(xiàn)后,采用合理的測試技術設計測試用例,以驗證系統(tǒng)的有效性和準確性。2.系統(tǒng)實現(xiàn)
通過FPGA器件,采用Verilog語言,設計實現(xiàn)數(shù)字時鐘系統(tǒng),該設計規(guī)劃一個頂層模塊和六個功能模塊。頂層模塊將各個功能模塊進行連接,功能模塊分別實現(xiàn)年、月、日、時、分和秒等數(shù)值的計數(shù)功能。5.5.2系統(tǒng)測試1.測試用例設計
數(shù)字時鐘系統(tǒng)包括秒、分、時、日、月和年多個變量,如果采用窮盡法設計測試用例,將需要進行無窮多次測試,使測試工作無法完成。因此,針對這一案例應采用等價類方法設計測試用例,該方法可將無窮多種可能性劃分為有限多個,進而通過有限多個測試用例驗證系統(tǒng)功能的正確性。
根據(jù)等價類劃分的一般原則“在輸入條件規(guī)定了取值范圍或值的個數(shù)的情況下,可以確立一個有效等價類和兩個無效等價類”。second(秒)、minute(分)、hour(時)、day(日)、month(月)和year(年)分別可以確立一個有效等價類和兩個無效等價類。如表所示:5.5.2系統(tǒng)測試輸入條件有效等價類無效等價類secondS1{0,…,59}S2{second<0}S3{second>59}minuteMin1{0,…,59}Min2{minute<0}Min3{minute>59}hourH1{0,…,23}H2{hour<0}H3{hour>23}dayD1{1,…,28}D2{29}D3{30}D4{31}D5{day<1}D6{day>31}monthM1{1,3,5,7,8,10,12}M2{2}M3{4,6,9,11}M4{month<1}M5{month>12}yearY1{平年,1920≤year≤2050}Y2{閏年,1920≤year≤2050}Y3{year<1920}Y4{year>2050}5.5.2系統(tǒng)測試根據(jù)等價類劃分結(jié)果,可以進行測試用例的設計。下表測試用例主要用于測試秒、分和時功能。測試用例secondminutehour預期輸出覆蓋的等價類Text1231622:16:24S1,Min1,H1R1Text2592222:23:00S1,Min1,H1R2Text3595945:00:00S1,Min1,H2R3Text4-1192second越界S2,Min1,H1R7Text560232second越界S3,Min1,H1R7Text619-12minute越界S1,Min2,H1R8Text727602minute越界S1,Min3,H1R8Text838331hour越界S1,Min1,H2R9Text9571624hour越界S1,Min1,H3R95.5.2系統(tǒng)測試下表測試用例主要用于測試日、月和年功能。測試用例daymonthyear預期輸出覆蓋的等價類Text1015619991999/6/16D1,M3,Y1R4Text1128219991999/3/1D1,M2,Y1R5Text1228220002000/2/29D1,M2,Y2R4Text1329220002000/3/1D2,M2,Y2R5Text1431320062006/4/1D4,M1,Y1R5Text1530420102010/5/1D3,M3,Y1R5Text16311220112012/1/1D4,M1,Y2R6Text17162001day越界D5,M3,Y1R10Text183262001day越界
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025廣東汕頭市消防救援支隊定向招錄潮南區(qū)政府專職消防員24人備考筆試試題及答案解析
- 2025年云南建投第一建設有限公司社會招聘(1人)參考考試試題及答案解析
- 2026湖北襄陽市老河口市應征備考考試試題及答案解析
- 《分數(shù)連除和乘除混合》數(shù)學課件教案
- 2025廣西南寧市武鳴區(qū)陸斡中心衛(wèi)生院招聘編外工作人員1人考試備考題庫及答案解析
- 2025濟寧市招聘勞務派遣制護理員(2人)參考考試試題及答案解析
- 2025年下半年四川樂山職業(yè)技術學院考核招聘1人模擬筆試試題及答案解析
- 2025年英山縣事業(yè)單位第二批公開考核招聘“三支一扶”服務期滿人員備考筆試題庫及答案解析
- 2026廣東深圳北理莫斯科大學漢語中心招聘備考筆試題庫及答案解析
- 2026江西省江銅宏源銅業(yè)有限公司第二批次社會招聘2人備考筆試試題及答案解析
- 兒童心理健康疾病的治療與康復
- 化驗室數(shù)據(jù)管理制度
- 合同范本之執(zhí)行董事勞動合同2篇
- 水仙花課件教學課件
- 國家開放大學國開電大《統(tǒng)計與數(shù)據(jù)分析基礎》形考任務1-4 參考答案
- DB37T 4706-2024事故車輛損失鑒定評估規(guī)范
- 欠薪承諾協(xié)議書范本
- 防突培訓管理制度
- 浙江省溫州市2024-2025學年高一上學期期末數(shù)學試題B卷【含答案解析】
- 我最喜歡的建筑課件
- 2024版體育賽事贊助對賭協(xié)議合同范本3篇
評論
0/150
提交評論