嵌入式軟件測(cè)試技術(shù)_第1頁(yè)
嵌入式軟件測(cè)試技術(shù)_第2頁(yè)
嵌入式軟件測(cè)試技術(shù)_第3頁(yè)
嵌入式軟件測(cè)試技術(shù)_第4頁(yè)
嵌入式軟件測(cè)試技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩97頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

嵌入式軟件的實(shí)時(shí)在線測(cè)試哈爾濱工業(yè)大學(xué)深圳研究院北京旋極信息技術(shù)有限公司

深圳旋極歷通科技有限公司肖敦鶴1整理ppt嵌入式軟件測(cè)試的必要性與測(cè)試難度嵌入式系統(tǒng)、嵌入式系統(tǒng)特點(diǎn)、嵌入式軟件特點(diǎn)嵌入式軟件測(cè)試與測(cè)試方法嵌入式軟件在線測(cè)試的方法1:Coverageanalysis

2:Performanceanalysis

3:Logictriggerandtraceanalysis4:Memoryanalysis5:RTOSanalysis嵌入式軟件在線測(cè)試和分析工具1:TRACE32-ICE2:

TRACE32-FIRE

3:TRACE32-ICD議程2整理ppt系統(tǒng)處理能力不可置疑,為什么效率如此低,問(wèn)題在哪里?數(shù)據(jù)采集系統(tǒng)的采樣的數(shù)據(jù)與現(xiàn)場(chǎng)相差甚遠(yuǎn),原因何在?系統(tǒng)運(yùn)行中,隨機(jī)性復(fù)位或宕機(jī),硬件、軟件工程師百思不得其解?系統(tǒng)軟件莫名奇妙跑飛,何處使然?我如何捉住寄生在系統(tǒng)中隱藏BUG?無(wú)計(jì)可施!我咋辦哪?

???問(wèn)題的提出???真實(shí)世界中嵌入式系統(tǒng)常見(jiàn)故障3整理ppt真實(shí)世界中嵌入式軟件故障導(dǎo)致的結(jié)果結(jié)果:金融在線事務(wù)處理系統(tǒng)癱瘓電話交換網(wǎng)絡(luò)癱瘓電話系統(tǒng)崩潰,丟失了五千萬(wàn)次呼叫電腦控制機(jī)場(chǎng)行李運(yùn)送系統(tǒng)出現(xiàn)故障,行李延遲交付或亂成一團(tuán)。更多的電路板,更多的軟件,更加復(fù)雜!4整理ppt軟件質(zhì)量低劣所付出的代價(jià):

如果關(guān)鍵系統(tǒng)出現(xiàn)故障?商務(wù)飛機(jī)墜毀反導(dǎo)彈防衛(wèi)系統(tǒng)無(wú)法工作核反應(yīng)堆發(fā)生核泄露運(yùn)送衛(wèi)星的火箭在空中爆炸導(dǎo)彈追蹤衛(wèi)星報(bào)告了錯(cuò)誤的方位…………

5整理ppt我們?cè)缫颜J(rèn)識(shí)到軟件測(cè)試重要性

但對(duì)于嵌入式軟件測(cè)試新的困難又出現(xiàn)了!軟件的測(cè)試不如硬件板卡測(cè)試普遍測(cè)試工作缺乏可度量的管理手段軟件的功能性測(cè)試不夠完善,需要新的方法的補(bǔ)充。嵌入式系統(tǒng)代碼量日益增多,測(cè)試難度增加系統(tǒng)越復(fù)雜,測(cè)試越復(fù)雜,風(fēng)險(xiǎn)越大…………6整理ppt實(shí)時(shí)嵌入式系統(tǒng)與仿真環(huán)境不同W.WaytGibbsStaffWriter,ScientificAmerican實(shí)時(shí)系統(tǒng)中的錯(cuò)誤通常很難找到原因,因?yàn)椋拖竽愕能嚿系陌l(fā)動(dòng)機(jī)發(fā)出奇怪的聲音一樣它只在某種條件下才會(huì)出現(xiàn)。故障在仿真環(huán)境中無(wú)法再現(xiàn)。結(jié)論:我們迫切需要采用合適的工具,從單元集成、系統(tǒng)、現(xiàn)場(chǎng)等各個(gè)階段,對(duì)嵌入式系統(tǒng)的軟件進(jìn)行實(shí)時(shí)在線測(cè)試和分析,保證系統(tǒng)的性能和可靠性。7整理ppt嵌入式系統(tǒng)、嵌入式系統(tǒng)組成、特點(diǎn)嵌入式系統(tǒng):以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求、有一定時(shí)間約束的實(shí)時(shí)專用計(jì)算機(jī)系統(tǒng)嵌入式系統(tǒng)組成:嵌入式微處理器、外圍硬件設(shè)備、嵌入式操作系統(tǒng)、用戶的應(yīng)用程序等四個(gè)部分組成,用于實(shí)現(xiàn)對(duì)其他設(shè)備的控制、監(jiān)視或管理等功能。實(shí)時(shí)系統(tǒng)可以部分地從及時(shí)完成計(jì)算、處理或判斷的能力來(lái)辨別嵌入式系統(tǒng)特點(diǎn):專用性:嵌入式系統(tǒng)通常是面向特定應(yīng)用或特定用戶的系統(tǒng),不同嵌入式系統(tǒng)的硬件和軟件很難通用。高度集成:能夠把通用CPU中許多由板卡完成的任務(wù)集成在芯片內(nèi)部,從而有利于嵌入式系統(tǒng)設(shè)計(jì)趨于小型化。軟件設(shè)計(jì):嵌入式系統(tǒng)軟件的設(shè)計(jì)與硬件關(guān)系密切。軟件往往受限于硬件,很難象非嵌入式系統(tǒng)那樣自由發(fā)揮。開(kāi)發(fā)的特殊性:嵌入式系統(tǒng)無(wú)自舉開(kāi)發(fā)能力,不能對(duì)其中的程序功能進(jìn)行修改的,必須有一套開(kāi)發(fā)工具和環(huán)境才能進(jìn)行開(kāi)發(fā)8整理ppt嵌入式系統(tǒng)軟件的特征(1)軟件要求固態(tài)化存儲(chǔ):為了提高執(zhí)行速度和系統(tǒng)可靠性,嵌入式系統(tǒng)中的軟件一般都固化在存儲(chǔ)器芯片或單片機(jī)本身中,而不是存貯于磁盤(pán)等載體中。(2)軟件代碼高質(zhì)量、高可靠性:盡管半導(dǎo)體技術(shù)的發(fā)展使處理器速度不斷提高、片上存儲(chǔ)器容量不斷增加,但在大多數(shù)應(yīng)用中,存儲(chǔ)空間仍然是寶貴的,還存在實(shí)時(shí)性的要求。為此要求程序編寫(xiě)和編譯工具的質(zhì)量要高以減少程序二進(jìn)制代碼長(zhǎng)度、提高執(zhí)行速度。(3)系統(tǒng)軟件(OS)的高實(shí)時(shí)性是基本要求:在多任務(wù)嵌入式系統(tǒng)中對(duì)重要性各不相同的任務(wù)進(jìn)行統(tǒng)籌兼顧的合理調(diào)度是保證每個(gè)任務(wù)及時(shí)執(zhí)行的關(guān)鍵,單純通過(guò)提高處理器速度是無(wú)法完成和沒(méi)有效率的,這種任務(wù)調(diào)度只能由優(yōu)化編寫(xiě)的系統(tǒng)軟件來(lái)完成,因此系統(tǒng)軟件的高實(shí)時(shí)性是基本要求。(4)多任務(wù)操作系統(tǒng)是知識(shí)集成的平臺(tái)和走向工業(yè)標(biāo)準(zhǔn)化道路的基礎(chǔ)要求嵌入式系統(tǒng)的應(yīng)用軟件是實(shí)現(xiàn)嵌入式系統(tǒng)功能的關(guān)鍵,對(duì)嵌入式處理器系統(tǒng)軟件和應(yīng)用軟件的要求也和通用計(jì)算機(jī)有所不同9整理ppt

嵌入式軟件測(cè)試自身特點(diǎn)和測(cè)試?yán)щy1:嵌入式系統(tǒng)實(shí)時(shí)性要求測(cè)試工具準(zhǔn)確測(cè)試軟件性能2:內(nèi)存有限要求對(duì)被測(cè)軟件不能附加太多代碼冗余3:軟件與硬件緊密相關(guān)增加測(cè)試難度4:嵌入式軟件載入目標(biāo)機(jī)執(zhí)行需要特定的硬件測(cè)試工具配套5:嵌入式系統(tǒng)代碼量日益增多,測(cè)試難度增加6:嵌入式系統(tǒng)越復(fù)雜,測(cè)試越復(fù)雜,測(cè)試風(fēng)險(xiǎn)越大7:實(shí)驗(yàn)測(cè)試環(huán)境與真實(shí)運(yùn)行環(huán)境存在差異關(guān)系到嵌入式軟件最

終使用8:測(cè)試工具與目標(biāo)機(jī)連接方式影響測(cè)試的可靠性10整理ppt

支持開(kāi)發(fā)的不同階段需要不同的工具SoftwareDevelopmentLifeCycle(t)AppCodePre-HardwareAppCodeAppCodeLANLANEarlyHardware(單元)HardwareProbe主機(jī)開(kāi)發(fā)易于移植費(fèi)用低在目標(biāo)板上開(kāi)發(fā)以太網(wǎng)連接費(fèi)用低在目標(biāo)板上開(kāi)發(fā)和測(cè)試實(shí)時(shí)性能測(cè)試產(chǎn)品質(zhì)量保證FinalHardwareDesktopSoftwareOnlyHost+TargetBasedonPCSWMaintenanceTargetHW-ExternalProbesCantata,Attol,MaccabeCantata,AttolTrace32,CodeTEST11整理ppt嵌入式在線測(cè)試的特點(diǎn):實(shí)時(shí),在線,精確軟件打點(diǎn)方式(主機(jī)+目標(biāo)機(jī))比較便宜可在CACHE打開(kāi)下工作對(duì)目標(biāo)系統(tǒng)影響大(超過(guò)50%)占用目標(biāo)系統(tǒng)資源如CPU時(shí)間內(nèi)存,通訊通道等only覆蓋率分析缺乏很好的性能分析缺乏內(nèi)存分配分析精確度偏低對(duì)目標(biāo)系統(tǒng)影響小(1-15%)不占用目標(biāo)系統(tǒng)資源軟件打點(diǎn)技術(shù)強(qiáng)大的性能分析強(qiáng)大的覆蓋率分析強(qiáng)大的內(nèi)存分配分析有限的Trace功能和TraceBuf價(jià)格較昂貴可在CACHE打開(kāi)方式下工作比較精確不影響目標(biāo)系統(tǒng)(0%)不占用系統(tǒng)資源不用打點(diǎn)強(qiáng)大的性能分析強(qiáng)大覆蓋率分析強(qiáng)大內(nèi)存分配分析強(qiáng)大的RTOS分析強(qiáng)大的觸發(fā)Trace分析軟件測(cè)試、調(diào)試、邏輯分析集成化,方便、靈活精確性隨情況變化通過(guò)仿真存儲(chǔ)器工作性能價(jià)格比高純軟件測(cè)試工具高集成硬件工具軟件測(cè)試+邏輯觸發(fā)+跟蹤分析

硬件輔助軟件測(cè)試工具12整理ppt嵌入式系統(tǒng)測(cè)試和分析三步曲插入標(biāo)記編譯源代碼打點(diǎn)后的源代碼符號(hào)數(shù)據(jù)庫(kù)符號(hào)信息Sun,HP或PC源代碼作標(biāo)記主機(jī)上運(yùn)行的程序目標(biāo)對(duì)象CPU探頭目標(biāo)板可執(zhí)行代碼局域網(wǎng)性能分析覆蓋率分析內(nèi)存分析代碼流跟蹤數(shù)據(jù)文件圖形用戶界面處理子程序數(shù)據(jù)結(jié)構(gòu)通訊端口源代碼amc_ctrl_port=0x74100009準(zhǔn)備源文件13整理ppt嵌入式軟件常規(guī)的編譯流程14整理ppt嵌入式軟件插樁的編譯流程15整理ppt為性能分析做標(biāo)記IntAddMove(uint*touch,uintfrom,uintto,Piecebecomes){unsignedlongamc_entry_dummy=(amc_ctrl_port=(enumamctag_t)1947205646); if((board[to]&(7))==invalid|| (board[to]!=empty&&(((board[to]^board[from])&8)==0))){return(amc_ctrl_port=(enumamctag_t)571473934,0);}if(SzMStk<=MSPtr){。。。。。。。。。。。。else{ touch[to]+=1;}return(amc_ctrl_port=(enumamctag_t)571473934,((board[to]&PieceMask)==empty));}蘭色=性能標(biāo)記16整理ppt標(biāo)記后的代碼范例if(SzMStk<=MSPtr){MStk=(Move(*)[0])amc_realloc(MStk,(SzMStk+100U)*sizeof(move),(enumamctag_t)672399367);ifMStk==0){fatal(揅ouldn抰reallocMStk!?;}SzMStk+=100;}…………if((becomes&8)!=0){amc_ctrl_port=(enumamctag_t)1141932301; touch[to]+=256;}else{amc_ctrl_port=(enumamctag_t)1141932302; touch[to]+=1;}amc_ctrl_port=(enumamctag_t)1141932303;return((board[to]&PieceMask)==empty);}綠色=覆蓋率標(biāo)記紅色=內(nèi)存標(biāo)記標(biāo)記就是對(duì)物理地址的寫(xiě)信號(hào),可以被硬件的被動(dòng)探頭檢測(cè)到。17整理ppt附錄1:源代碼void draw_fork(intn,tL_or_RforkSide){ intoffset=0; if(LEFT==forkSide) offset=-1; else offset=+1; semTake(semScreen,(-1)); position(screen_row[n]-1,screen_col[n]+offset); printf("v"); position(screen_row[n],screen_col[n]+offset); printf("|"); position_flush(13,1); semGive(semScreen);}18整理ppt附錄2:軟件插樁void draw_fork(intn,tL_or_RforkSide){ctTag(1443921938);{ intoffset=0; if(((LEFT==forkSide)?(ctTag(1464893457),1):(ctTag(1464893456),0))) offset=-1; else offset=+1; ………… position_flush(13,1); semGive(semScreen);}ctTag(1444970515);}19整理ppt附錄3:硬件插樁void draw_fork(intn,tL_or_RforkSide){amc_ctrl_port=0x74100009;{ intoffset=0; if(LEFT==forkSide){amc_ctrl_port=0x44308000; offset=-1;} else{amc_ctrl_port=0x44408001; offset=+1;}amc_ctrl_port=0x44208002; semTake(semScreen,(-1)); ………… semGive(semScreen);}amc_ctrl_port=0x22100009;}20整理ppt單元代碼編程/調(diào)試單元級(jí)測(cè)試單元代碼編程/調(diào)試單元級(jí)測(cè)試單元代碼編程/調(diào)試單元級(jí)測(cè)試集成和測(cè)試系統(tǒng)測(cè)試和驗(yàn)證用戶安裝要求分析/設(shè)計(jì)這里發(fā)現(xiàn)性能沒(méi)有滿足要求在這里發(fā)現(xiàn)了單元級(jí)代碼的問(wèn)題軟件故障=多次(4-8)反復(fù)修改技術(shù)支持在這里發(fā)現(xiàn)問(wèn)題進(jìn)度在這里延遲進(jìn)度在這里延遲這里有很多問(wèn)題這里并沒(méi)有作到真正的單元級(jí)測(cè)試系統(tǒng)越復(fù)雜,單元越多功能測(cè)試不能滿足要求什么測(cè)試階段使用在線測(cè)試?低級(jí)測(cè)試測(cè)試在主機(jī)上完成,高級(jí)測(cè)試在目標(biāo)機(jī)實(shí)現(xiàn)21整理ppt用在線測(cè)試在開(kāi)發(fā)和測(cè)試中節(jié)省時(shí)間和金錢(qián)UnitTest單元代碼編程/調(diào)試單元級(jí)測(cè)試單元代碼編程/調(diào)試單元級(jí)測(cè)試單元代碼編程/調(diào)試單元級(jí)測(cè)試單元級(jí)開(kāi)發(fā)/測(cè)試:優(yōu)化性能100%單元覆蓋刪除內(nèi)存錯(cuò)誤集成級(jí)測(cè)試:優(yōu)化性能提高測(cè)試用例的覆蓋刪除內(nèi)存錯(cuò)誤系統(tǒng)測(cè)試:確認(rèn)是否滿足性能需求提高覆蓋的性能縮短整個(gè)測(cè)試時(shí)間集成和測(cè)試系統(tǒng)測(cè)試和驗(yàn)證用戶安裝要求分析/設(shè)計(jì)22整理ppt嵌入式軟件實(shí)時(shí)在線測(cè)試作用...驗(yàn)證測(cè)試結(jié)果,評(píng)估測(cè)試的軟件指導(dǎo)測(cè)試用例的編寫(xiě)...代碼優(yōu)化...查找一個(gè)內(nèi)存分配錯(cuò)誤?????23整理ppt123“返回程序員修改”現(xiàn)場(chǎng)故障診斷調(diào)試階段過(guò)程可視化嵌入式軟件在線測(cè)試的內(nèi)容跟蹤軟件運(yùn)行代碼覆蓋分析及走勢(shì)代碼性能分析代碼內(nèi)存分析遠(yuǎn)程接觸真實(shí)故障現(xiàn)場(chǎng)分析COTSanalysissolutionBuilt-inanalysis在線測(cè)試24整理pptCoverageAnalysisMCDC(條件決策覆蓋)ModifiedConditionDecisionCoverage-MCDCDecisionCoverage-DCCoverage(語(yǔ)句覆蓋)StatementCoverage-SC為何要使用MCDC?不是純軟件模擬;而是終端系統(tǒng)的監(jiān)視不僅可以分析哪些代碼執(zhí)行過(guò),而且可以分析什么條件執(zhí)行和為什么執(zhí)行一些軟件質(zhì)量關(guān)系到人的生命!提供比一般代碼塊覆蓋更詳細(xì)、更明確的監(jiān)視滿足特定行業(yè)機(jī)構(gòu)的需求,如:FAA–航空FDA–醫(yī)療DOD,空間技術(shù),ISO等25整理ppt工業(yè)質(zhì)量要求

根據(jù)應(yīng)用軟件的重要性分為不同的級(jí)別B級(jí)–危險(xiǎn)的影響需要DC測(cè)試差分GPS飛機(jī)之間接近感應(yīng)

C級(jí)–重要的影響需要SC測(cè)試無(wú)線數(shù)據(jù)鏈接D級(jí)–次要性影響需要BBC測(cè)試飛機(jī)內(nèi)環(huán)境控制(空調(diào)溫度等)E級(jí)–沒(méi)有影響函數(shù)進(jìn)入/退出覆蓋率測(cè)試飛機(jī)內(nèi)娛樂(lè)設(shè)施幾個(gè)規(guī)范和要求的例子:航空軟件RTCADO-178B標(biāo)準(zhǔn)EUROCAEED-12B標(biāo)準(zhǔn)對(duì)不同級(jí)別覆蓋率測(cè)試的詳細(xì)的報(bào)告符合不同級(jí)別的條件:A級(jí)–災(zāi)難性的影響需要MC/DC測(cè)試引擎控制飛行計(jì)算導(dǎo)航處理26整理ppt通常的基本塊覆蓋率度量方法基本塊覆蓋-測(cè)量測(cè)試中代碼是否已經(jīng)執(zhí)行突出高亮顯示執(zhí)行過(guò)的代碼在主機(jī)電腦上進(jìn)行源代碼顯示方法使用printf語(yǔ)句使用調(diào)試工具和設(shè)斷點(diǎn)使用硬件工具測(cè)量硬件增強(qiáng)型測(cè)量工具27整理ppt覆蓋率:摘要顯示一個(gè)頁(yè)面就可以顯示整個(gè)程序的覆蓋率摘要信息一眼望去,就可以知道當(dāng)前測(cè)試進(jìn)度。支持把多次測(cè)試的數(shù)據(jù)合并28整理ppt在線測(cè)試覆蓋率:覆蓋率趨勢(shì)知道覆蓋率的增加情況確定何時(shí)達(dá)到覆蓋率的峰值點(diǎn)交互式,可簡(jiǎn)化測(cè)試用例的生成保證測(cè)量效率前提下縮短測(cè)量次數(shù)和時(shí)間29整理ppt覆蓋率

測(cè)試結(jié)果:發(fā)現(xiàn)程序中的死代碼提高測(cè)試覆蓋率有?%沒(méi)有測(cè)量?覆蓋率可視化實(shí)時(shí)動(dòng)態(tài)顯示但是…………一些軟件非常關(guān)鍵基本塊覆蓋并不適用于所有的工業(yè)場(chǎng)合如果只有大約30%的覆蓋率,這樣的測(cè)試還遠(yuǎn)遠(yuǎn)不夠!高亮顯示執(zhí)行過(guò)的代碼重點(diǎn)檢查部分函數(shù),審查未執(zhí)行過(guò)的代碼行的執(zhí)行條件30整理pptDC-決策覆蓋

包含決策覆蓋和語(yǔ)句覆蓋語(yǔ)句覆蓋摘要:程序的每一條語(yǔ)句被執(zhí)行了至少一次 決策覆蓋摘要:程序中的每一個(gè)進(jìn)入,退出點(diǎn)被執(zhí)行了至少一次,程序中的每一個(gè)決策的所有結(jié)果都至少出現(xiàn)過(guò)一次。31整理ppt語(yǔ)句覆蓋/決策覆蓋詳述(1)Coverageline5=>A_FUNCTION_ENTRY:5:unsignedgreatest_common_divisorWasEntered[2]*Coverageline12=>A_SEGMENT:12:if(a_working>b_working)NotExecuted[3]*Coverageline14=>A_SEGEMENT:14:a_working-=b_working;NotExecuted(1)Coverageline5=>A_FUNCTION_ENTRY:5:unsignedgreatest_common_divisorWasEntered[2]*Decisionline10=>A_WHILE:10:while(a_working!=b_working)T:NotExecutedF:WasExecuted[3]*Decisionline12=>AN_IF12:if(a_working>b_working)T:NotExecutedF:NotExecuted語(yǔ)句覆蓋決策覆蓋32整理ppt什么是MCDC覆蓋?如何進(jìn)行?

(MCDC覆蓋不是執(zhí)行了什么代碼,而是在什么條件下

執(zhí)行了代碼,以及為什么執(zhí)行它?)范例:if((cond1)or(cond2))and(cond3) thenABC elseXYZ希望得到的報(bào)告:cond1 cond2 cond3 branchTFFFTFTTFFTF

…………等33整理pptMCDC覆蓋條件決策覆蓋條件決策覆蓋率摘要:每一個(gè)進(jìn)入,退出點(diǎn)被執(zhí)行過(guò)至少一次,每一個(gè)決策都取得過(guò)它所有的可能結(jié)果的值至少一次,每一個(gè)決策中的每一個(gè)條件都曾經(jīng)獨(dú)立的影響決策的結(jié)果至少一次,獨(dú)立影響的含義是指在其他條件不變的情況下改變某一個(gè)條件34整理pptMCDC覆蓋率詳述(1)Coverageline5=>A_FUNCTION_ENTRY:5:unsignedgreatest_common_divisor(unsigneda,unsignedb)WasEntered[2]*Decisionline10=>A_WHILE:10.1:a_working!=b_workingTruthTable:+0:F-f1:T-t IndependeceTests:TrueFalse ----------------*10.1:1:T-t+0:F-f[3]*Decisionline12=>AN_IF:12.1:a_working>b_workingTruthTable:0:F-f1:T-t35整理ppt覆蓋率趨勢(shì)一個(gè)實(shí)際的例子工程測(cè)試花了6個(gè)小時(shí)達(dá)到30%覆蓋率一系列同樣的測(cè)試花費(fèi)了48小時(shí)增加了37%覆蓋率問(wèn)題:你的測(cè)試中是否有一些重復(fù)的測(cè)試?如果沒(méi)有覆蓋率趨勢(shì)顯示,你測(cè)試中會(huì)有多少天還是多少小時(shí)在做無(wú)用功?36整理ppt覆蓋率:優(yōu)點(diǎn)提高測(cè)試效率通過(guò)覆蓋率趨勢(shì),去除不必要的測(cè)試通過(guò)覆蓋率趨勢(shì),減少測(cè)試次數(shù),測(cè)試更有效率實(shí)時(shí)動(dòng)態(tài)顯示覆蓋率,簡(jiǎn)化測(cè)試用例生成過(guò)程在一個(gè)實(shí)時(shí)運(yùn)行的目標(biāo)系統(tǒng)中,確??梢燥@示詳細(xì)的軟件運(yùn)行過(guò)程指出嵌入式系統(tǒng)中沒(méi)有得到足夠測(cè)量的部分-讓你清楚的知道要測(cè)量什么地方提高產(chǎn)品質(zhì)量發(fā)現(xiàn)沒(méi)有測(cè)量過(guò)的部分清楚的描述你的代碼被檢驗(yàn)到了什么程度符合最嚴(yán)格的工業(yè)軟件測(cè)試標(biāo)準(zhǔn):有利于通過(guò)ISO,醫(yī)療器材和航空器材的認(rèn)證。提供的報(bào)告可以直接在對(duì)測(cè)試過(guò)程和測(cè)試條件描述的文檔中使用37整理ppt性能分析特點(diǎn)最優(yōu)化的性能優(yōu)化關(guān)鍵函數(shù)的運(yùn)算法則高效地優(yōu)化調(diào)用接口糾正任務(wù)的優(yōu)先權(quán)可視化即時(shí),監(jiān)控超過(guò)C/C++函數(shù)和任務(wù)統(tǒng)計(jì)分析實(shí)時(shí)測(cè)試多窗口顯示函數(shù)和調(diào)用性能分析顯示:函數(shù)活動(dòng)調(diào)用顯示38整理pptTRACE32/性能任務(wù)性能函數(shù)性能調(diào)用關(guān)系39整理ppt性能分析IdentifyexecutionbottlenecksatTaskandFunctionLevelsMeasurecriticalsoftwaretiming,trueminimumandmaximumexecutiontimesIdentifywhereyourcodeisreallyspendingitsexecutiontime!ObserveyourrealTaskandFunctionNames40整理ppt性能分析和優(yōu)化事例發(fā)現(xiàn)關(guān)鍵任務(wù)執(zhí)行太慢,不滿足要求,速度反常?把兩個(gè)函數(shù)每個(gè)速度提高10%發(fā)現(xiàn)占用時(shí)間多和調(diào)用頻繁的代碼,把它們in-line,性能提高了15%把一個(gè)任務(wù)速度提高8%整個(gè)系統(tǒng)性能提高20%結(jié)果:性能符合要求,擊敗競(jìng)爭(zhēng)對(duì)手得到大的定單,市場(chǎng)分額增加不用進(jìn)行昂貴的硬件升級(jí)和重新設(shè)計(jì)收益估計(jì)?41整理ppttrace32/性能分析FunctionAnalysisMin.andmax.time,Average,TotalTimePassesIncludeandexcludetimeLinkAnalysisCallersMin.andmax.timesCallsFunctionNestingShowsfunctioncallhierarchyTimesuspendinsubroutines

42整理pptTrace32/性能分析FunctionTimechartViewcriticalprogrampathsDocumentationDurationExecutiontimeResponsetimeDistanceTimebetweensamplesDistributionInterfaceanalysisInterruptanalysisSystemstateanalysisStatisticalanalysis43整理ppt

內(nèi)存分析特點(diǎn)提前故障警告動(dòng)態(tài)內(nèi)存分配分析識(shí)別內(nèi)存漏洞查出無(wú)用的內(nèi)存區(qū)域知道真正的內(nèi)存分配情況可視化的內(nèi)存錯(cuò)誤提示當(dāng)出現(xiàn)錯(cuò)誤時(shí)識(shí)別精確的邏輯關(guān)系準(zhǔn)確地識(shí)別每一個(gè)錯(cuò)誤精確定位內(nèi)存錯(cuò)誤信心在程序運(yùn)行失敗之前偵測(cè)問(wèn)題的所在44整理ppt內(nèi)存分析顯示分配的內(nèi)存塊的大小檢測(cè)內(nèi)存泄露檢測(cè)內(nèi)存錯(cuò)誤“嵌入式軟件測(cè)試總是要花太多的時(shí)間,并且沒(méi)有進(jìn)行足夠的測(cè)試,這是由于軟件開(kāi)發(fā)者和測(cè)試者缺乏可以簡(jiǎn)化測(cè)試的工具,或工具很難使用。”

DavidShear-Sr.Analyst,EmbeddedSystemsResearch45整理ppt內(nèi)存分析顯示分配情況內(nèi)存錯(cuò)誤相應(yīng)的源代碼46整理ppt顯示內(nèi)存分配情況47整理ppt顯示內(nèi)存相應(yīng)的源代碼48整理ppt測(cè)試內(nèi)存:優(yōu)點(diǎn)了解程序內(nèi)存分配的真實(shí)情況測(cè)量?jī)?nèi)存使用情況,發(fā)現(xiàn)對(duì)內(nèi)存的不正常使用在系統(tǒng)崩潰前發(fā)現(xiàn)內(nèi)存泄露錯(cuò)誤發(fā)現(xiàn)內(nèi)存分配錯(cuò)誤精確顯示發(fā)生錯(cuò)誤時(shí)的上下文情況指出發(fā)生錯(cuò)誤的原由無(wú)須做痛苦的代碼跟蹤,就可以發(fā)現(xiàn)錯(cuò)誤在問(wèn)題出現(xiàn)前發(fā)現(xiàn)征兆49整理ppt

WhatiscalledTrace

?WhatfunctionisTrace?HowmanycomponentsareincludedinTrace?TracebuffermemoryLogicBreakpointEventBreakpointLogicTrigger(InputandoutputtriggerandExternalTrigger)ContextTrackingSystem(CTS)邏輯觸發(fā)代碼跟綜分析50整理ppttrace32外部觸發(fā)輸入2inputseachwith8channels2triggerqualifiersforeachtriggerlevelandchannelgroupEachchannelgroupcanbeassigned2triggereventsforeachlevel,definableusingbooleanformulae

51整理ppttrace32事件-events

FreeformatdefinitionofexternaltriggereventsFreeFormatDefinitionofDataEventsDataeventscanbespecifiedwithconstants,masks,rangeorbooleanformulae.HexandMnemonicDisplayofTraceData52整理pptTrace32跟縱系統(tǒng)圖形顯示功能RealtimedisplayTrackingtoListWindowsGraphicalDataDisplayShowA/DConversionVisualizeProgramFlowComplexSearchandCompareFunctionsSaveandReloadofTraceDataPCDisplayonReal-TimeEmulation53整理ppttrace32觸發(fā)輸出3freelyprogrammableoutputsCyclesignalRUNsignalBNCconnectorforoscilloscopetrigger54整理ppttrace32觸發(fā)單元Alloutputoperatorsandinputvariablescanbeinputinsymbolicform.Thetargetprogramsymbolscanalsobeused.FreeFormatDefinitionofData,AddressandTriggerEventsTimeandEventMeasurementswithupto3CountersThereare340bitcountersavailableforeventmeasurementoreventtriggering.Allcountersarere-triggerableandcanbeevaluatedasapartofanexpressioninthetriggersequences.Eachcountercanbeprogrammedasatimerfortimingmeasurementsoraneventcounter.55整理ppttrace32

觸發(fā)記數(shù)器3UniversalCounters-40BitEventcount1to1.1E+12Cycles1to1.1E+12Time100nsto1.3daysRetriggerableSelectivereleaseTriggereventwhencounteriszeroDefinitionoftimeandeventwindows

56整理ppttrace32

觸發(fā)監(jiān)控、觸發(fā)標(biāo)志AllCounterscanberead`onthefly’TriggerMonitorAdisplayofthecountvalues,thetriggervalues,thetriggerlevelsandthetriggerflagsisavailableinthetriggermonitorwindow.TriggerFlagsIndependentofthetriggerlevels,thereare3freelyprogrammabletriggerflags.Theseflagscanbereadduringtriggeringandcanbeusedasinputvariablesbythetriggersequencer.

57整理ppttrace32觸發(fā)輸入變量READ,USERDATA,OPFETCHCPUstatusPROGBREAKprogrambreakpointLINEhigh-levellinenumberandSPOTspotpointREADBREAKdatareadbreakpointWRITEBREAKdatawritebreakpointA,B,CaddresspointsTRIGG0,TRIGG1bustriggereventsTRIGGERtriggerevents(3perlevel)NMI,RESETtriggereventsfromtheCPUFULLtracememoryfullREAD,WRITTENreadorwriteflagandMAINmainprocessBREAKbreakeventandTIMEOUTtimeoutsignalSYNCHsynchronoustriggerandASYNCHasychronoustriggerECOUNTuniversalcounterzeroandDLATCHtaskmonitor

58整理ppt

trace32

觸發(fā)輸出功能TRACEtracereleaseTRACEONtracememoryonandTRACEOFFtracememoryoffGOTOchangetriggerlevelFLAGONflagonandFLAGOFFflagoffFLAGTOGGLEflagTOGGLETRIGG0,TRIGG1triggeringviaICEBUSMARKERA...MARKERCmarkersintheTRACEmemoryBREAKtriggeremulatorandSTOPbreakEmulatorSPOTspotpointemulatorEXCEPTIONtriggerexceptiongeneratorRESTARTreloadcounterandENABLEenablecounterreleaseOUT0.....OUT2triggeroutputs(testprobe)DLATCHtaskmonitorandLEVELlevelcontrol59整理pptLogicandEventBreakpointExampleforLogicandEventBreakpointWhenAddress=0xffffORAddress=0xffff0000ANDReadANDTracememoryFullThenBreakIfCounterOverflowXORSYNCHTriggerWhileAddress0x10000WriteThenBREAKtriggeremulatorANDSTOPbreakEmulator

EventAndLogicLevel觸發(fā)器設(shè)計(jì)范例60整理pptTrace32上下文跟綜系統(tǒng)CTS

Inordertofindoutwhichinstructions,dataorsystemstateshadcausedmalfunctioningofthetargetsystemitwasnecessarytospendalotoftimeanalysingthetracelisting.Thecontexttrackingsystem-CTSforshort-nowallowstorecreatethestateofthetargetsystemataselectedpointbasedontheinformationsampledinthetracebuffer.Fromthisstartingpointtheprogramstepspreviouslyrecordedinrealtimeinthetracememorycanbedebuggedagain.TrackingSystem(CTS)usestheinformationfromthetraceanalyzerwiththehelpofaninstructionsetsimulatortogeneratesystemstatesrelatedtothecursorpositioninthetracebuffer.Youcansinglestepaprogrampart,whichwasexecutedbeforeinrealtime.Thesystemshowslocalandglobalvariablesinmemoryorregistersinthesamewindowsliketheregulardebugger.Steppingispossibleinbothdirections.Reconstructingregistervalueswithinstructionsetsimulatorsissupportedforthe68Kfamily,PowerPC,SH2andARM7.TheC167familyusestheinformationprovidedbythebondouttogettheregistervalues.61整理ppt62整理ppt63整理pptLocalorregistervariablesintracewindow64整理ppt

軟件運(yùn)行追蹤可以

驗(yàn)證系統(tǒng)運(yùn)行

高級(jí)方式控制流方式源代碼方式驗(yàn)證系統(tǒng)運(yùn)行或運(yùn)行時(shí)間滿足要求65整理pptRTOS測(cè)試與分析HighlightsStatisticevaluationandgraphicdisplayoftaskruntimesTaskrelatedevaluationoffunctionruntimesStatisticevaluationandgraphicdisplayoftaskstatesManualexecutedsystemcallsTaskstackcoveragePRACTICEfunctionsforOSdataRTOSrelatedpull-downmenuTaskselectivedebugging

66整理ppttrace32RTOS測(cè)試與分析1DisplayofKernelResourcesTasksQueues/SemaphoresMemoryusageMailboxesDisplay'onthefly'67整理pptDetailedResourcesSelectionbynameorIDQueuecontentsMemoryblocksTaskqueuesTaskCPUUsageTimespendinataskNumberofswitchestoataskAveragerunningtimeRatioofCPUtimeusedbytaskMaximumtimeataskisinterruptedbyothertaskstrace32RTOS測(cè)試與分析268整理pptTaskActivityTimechartShowsrunningtasksTrackingtootheranalyzerwindows

FunctionNestingDisplayGraphicalfunctionnestingDisplaytaskswitchesCanbecombinedwithanyotheranalyzerdisplays

trace32RTOS測(cè)試與分析369整理pptDetailedFunctionPerformanceAnalysisTimespendinfunctionMinium/maximumtimeAveragetimeTimespendinsubroutinesTimefunctionwasinterruptedbyanothertaskNumberofcallsRatioofCPUtime

trace32RTOS測(cè)試與分析470整理pptTaskStateAnalysisStates:undefined,ready,running,suspended,waitingTotaltimeofstateMaximumtimeAveragetimeNumberofoccurencesRatioofCPUtimeConfigurabledisplaytrace32RTOS測(cè)試與分析571整理pptTaskStateTimechartStates:undefined,ready,running,waiting,suspendedUncoverspriorisationproblemsTimespendincriticalpathsoftheprogram

SystemCallTraceSystemcallwithparametersOriginatingtaskTimeforsystemcall

trace32RTOS測(cè)試與分析672整理pptVirtualTerminalsCommunicationtoapplicationwithoutstoppingCPUHigh-speedterminalemulationControloftargetresidentdebuggingtoolsManualSystemCallsSendmessagesSeteventflagsSimulatespecialtargetconditions

trace32RTOS測(cè)試與分析773整理pptTaskSelectiveDebuggingAnalyzerandtriggersystemscanbedisabledforeachtaskBreakpointontaskstartContinuesystemoperationwhentasksarestoppedfordebuggingSelectionoftaskwhenmoretasksarestoppedbydebuggerGraphicalDiagramsCPUloadusedCPUloadusedbyonetaskSystemcalls,taskswitchesoreventspersecond

trace32RTOS測(cè)試與分析874整理pptFlexibleTimeChartsShowsanyeventgraphicallyRelationofexternaleventstokernelactivitiesDisplayofresponsetime

trace32RTOS測(cè)試與分析975整理ppt76整理ppt77整理ppt嵌入式在線測(cè)試工具

TRACE32Trace32-ICETrace32-FireTrace32-ICD78整理ppt嵌入式在線測(cè)試工具

TRACE32-ICE79整理pptLAUTERBACH-TRACE32-Fire80整理pptTRACE32——開(kāi)放的體系結(jié)構(gòu)硬件設(shè)計(jì)模快化

Easyadaptationtonewderivatives開(kāi)放的調(diào)試接口

EasyintegrationwithCompilers,RTOS,CASEtools開(kāi)放的主機(jī)接口

EasyportabletootherHostplatforms81整理pptOneSystemFitsAllTRACE32支持300種以上的微處理器TRACE32支持60種以上的,6種編程語(yǔ)言TRACE32支持15種不同的主機(jī)操作系統(tǒng)TRACE32支持的RTOS超過(guò)20種Trace32SoftwareTestingTools

82整理pptTRACE32支持的CPU(品牌)一覽:AMD ARM Dallas HitachiIBM Intel Mitsubishi MotorolaNational NEC Oki PhilipsSGS-Thomson Siemens ToshibaZilog ...Trace32SoftwareTestingTools83整理pptTrace32SoftwareTestingToolsTRACE32支持的主機(jī)(HOSTS)平臺(tái):DEC/OSF1 VMS/AXPULTRIXHP-UXWindsows3.1/95/98/NTSolaris...84整理pptTrace32SoftwareTestingToolsTRACE32支持的嵌入式RTOS:Nucleus、OSE、Rubus、CMX、RTXC、pSOSVxWORKS...85整理pptTrace32SoftwareTestingToolsTRACE32支持的譯器:Alsys ARM Borland BSO/TaskingCAD-UL Diab-SDS Greenhills HitechHiware HP IAR

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論