• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    CODETEST在線測試與分析工具在嵌入式系統開發中的應用[2]

    發布: 2010-4-19 11:00 | 作者: 不詳 | 來源: 領測測試網采編 | 查看: 50次 | 進入軟件測試論壇討論

    領測軟件測試網

      CODETEST在線測試與分析工具在嵌入式系統開發中的應用[2]   軟件測試

      當對程序做覆蓋率分析時,因為硬件工具是從系統總線捕獲數據的,如當CACHE打開我們會采用指令預取技術,從外存中讀一段代碼到一級CACHE 中,這時邏輯分析儀在總線上監視到這些代碼被讀取的信號,就會報告這些代碼已經被執行了,但實際上被送到CACHE中的代碼可能根本沒有被命中。為了避免這種誤差必須把CACHE關閉掉,而CACHE關掉就不是系統真實的運行環境了,有時甚至會由于CACHE關閉而導致系統無法正常運行。

      而仿真器通常采用內存標記技術,它所關心的也是處理器從外存的代碼段讀取數據的情況。所以也無法在CACHE打開的方式下工作。而它的性能分析也是以仿真器的時間系統以抽樣的方式進行的,也無法時實對系統進行真實的分析。所以我們所得出的結果也是不精確的。

      純硬件工具根本不能對內存分配進行分析和檢查的能力。

      CodeTEST對軟件分析測試功能的實現原理

      AMC公司吸取了純軟件測試工具和純硬件測試工具的優點,并對它們進行改善和提升后推出了CodeTEST。

      由上圖我們可以看出,程序員編寫的源代碼首先會通過CodeTEST的編譯驅動器調用原編譯器對進行預編譯,然后CodeTEST的插樁器(源代碼分析程序)對預編譯好的源代碼進行自動的插樁,即在需要插樁的關鍵位置寫入一條賦值語句(如:amc_ctrt=0x74100009),并把插入的標記送入一個數據庫文件中生成一個符號數據庫暫存起來,以備為以后分析時調用。然后,CodeTEST的編譯驅動器又會調用原編譯器對插樁后的代碼進行編譯生成可執行目標代碼送到目標板上運行。當程序在目標系統運行到插樁點的位置時,目標板的控制總線和地址總線上會出現相應的控制信號和地址信號。當 CodeTEST的輔助硬件(信號捕獲探頭)從控制總線和地址總線上監視到符合以上條件的信號時,CodeTEST會主動地從數據總線上把數據捕獲回來送到CodeTEST的內存中暫存并對這些數據進行預處理,然后將預處理后的數據通過局域網送到工作平臺上。通過與前面生成的符號數據庫中的數據進行比較,我們就此得知當前程序的運行狀態,借此完成對嵌入式軟件的性能分析,高級覆蓋率分析,內存分析和大容量的代碼跟蹤。

      由此可知,CodeTEST是一個硬件輔助軟件的測試與分析工具,它一方面吸取軟件打點技術,并對這種技術進行了改善,純軟件工具插入的是一個函數,而CodeTEST插入的是一條賦值語句,它在匯編級也是一條語句,所以它執行的時間非常短,同時避免了被其它的中斷所中斷,所以它對目標系統的影響非常小(1%-15%)。另一方面, CodeTEST從純硬件的測試工具那里吸取了從總線捕獲數據的技術并且對它進行了改善,CodeTEST不再是采樣的方式,它是通過監視系統總線,當程序運行到插入的特殊的點的時候才會主動的到數據總線上把數據捕獲回來,借此,在同樣的處理能力下,CodeTEST可以做到精確的數據觀察。

      CodeTEST強大的測試分析功能。

      由于CodeTEST對軟件打點技術和從總線捕獲數據進行了改善和提升,正是這種原理上的優勢,所以CodeTEST具有強大的性能分析、內存分析、高級覆蓋率分析和代碼跟蹤功能。

      1.強大的性能分析:CodeTEST能同時對128000個函數和1000個任務進行性能分析,可以精確的得出每個函數或任務執行的最大時間、最小時間和平均時間,精確度達到50ns;能夠精確的顯示各函數或任務之間的調用情況,幫助你發現系統瓶頸、優化系統和提升你的系統性能。

      2. 強大的覆蓋率分析。 CodeTEST可以在系統真實的環境下,可以從單元級、集成級、系統級以及產品終端現場階段進行嵌入式軟件的分析與測試。幫助測試工程師掌握當前的測試覆蓋率數據,指導測試用例的編寫。

      3. 強大的內存分析。CodeTEST可以動態追蹤內存分配,報告內存出錯和相應的原始數據。他不僅可以在程序運行時報告為每條語句分配多少字節的內存,而且他可以鑒別20多種內存分配的錯誤。例如:CodeTEST可以捕捉“釋放空指針(freeing a null pointer)”一樣常見的程序錯誤,報告發生錯誤的函數和代碼行幫,助你盡早發現動態內純泄漏,而無需到系統崩潰時。

      4. 強大的代碼跟蹤分析。CodeTEST提供400K的追蹤緩沖空間,能追蹤150萬行的源代碼。我們可以設置觸發器來追蹤自己感興趣的事件,可以顯示運行過程中程序運行的實際情況,幫助你查找程序的BUG所在。

      結束語

      隨著后PC時代的到來,嵌入式應用將會迅速增長,應用的復雜性也急劇增加,傳統的軟件分析和測試手段已不能滿足嵌入式軟件分析測試的基本要求,與此相比,AMC公司以其公司的幾項專利技術,為我們提供的針對嵌入式軟件分析測試的解決方案,為廣大的嵌入式系統開發者提供了新的技術手段,使我們可以以全新的視角審視我們原有的開發過程,發現一切可以變的如此快捷、簡單。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: CodeTest codetest CodeTEST CODETEST 工具 嵌入式 系統 應用


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>