1、 DT10介紹異步
DT10是一款自動化的軟件測試及調試工具,無需依賴任何OS 和CPU,支持C/C++、Java、C#多種語言,用於動態測試和調試的工具,可對運行時目標程序進行長時間跟蹤,適用於各個開發階段。函數
DT10是動態測試工具中惟一能實現灰盒測試的工具。不僅軟件內部的測試,連同CPU周邊的傳感器 , 端口等硬件狀態也都會和執行路徑一塊兒被驗證,因此能夠在同一個時間測試軟件和硬件的整個運行過程。測試結果,會自動產生報告。開發者和QA的工做人員都能經過使用該工具提高產品質量,使得工做更爲高效。工具
在DT10 軟件的界面上,能夠輸入運行時間、週期時間、參數、變量的設計值。除了輸入的設計值能夠在同一個頁面(一覽表)作管理以外,還能夠看成設計書被導出。這些設計值,將在測試過程當中被使用,能夠和目標板上實際測量值作對照,如出現與設計值有出入的情況,系統會有警告的訊息彈出,即可經過這樣的警告掌握問題的情況。性能
很是適合對長時間運行的軟件進行跟蹤調試。由於能夠取得並分析︰任務的變化、函數的週期時間、運行時間、覆蓋率、變量值的變化,因此整個調試的效率會大幅提高。就連不容易重現的問題,只要能重現1次,也能夠從跟蹤數據裏來分析緣由。因此經過長時間運行測試及修正是很是高效的方式。測試
主要功能點:ui
<!--[if !supportLists]-->u <!--[endif]-->不依賴操做系統和目標板CPU,支持任何處理器和嵌入式操做系統;操作系統
<!--[if !supportLists]-->u <!--[endif]-->可支持C/C++, Java, C#語言的覆蓋測試、性能測試、Bug定位調試;設計
<!--[if !supportLists]-->u <!--[endif]-->與目標設備鏈接靈活多樣。可支持直接經過網口,串口,GPIO,異步總線,SD卡,CAN總線等鏈接方式,特別是可直接經過網卡和串口直接鏈接目標設備,不用接飛線,大大加強了DT10的易用性和可支持的硬件環境多樣性;調試
<!--[if !supportLists]-->u <!--[endif]-->軟硬件同步測試。DT10提供一個Analog Box的鏈接盒,可監控4路數字信號輸出端口和2路模擬信號端口,可同步檢測變量值,實時查看硬件信號輸出端口和變量變化狀況與軟件執行狀況,從而實施軟硬件同步測試;進程
<!--[if !supportLists]-->u <!--[endif]-->可長時間跟蹤目標設備執行狀況,最長可記錄32天跟蹤數據
<!--[if !supportLists]-->u <!--[endif]-->回放調試功能,提供可視化的函數執行跟蹤報告,便於進行Bug分析,尤爲是難以重現的Bug或者是偶發性程序崩潰錯誤
<!--[if !supportLists]-->u <!--[endif]-->動態覆蓋率測試,提供系統測試覆蓋率分析,支持語句覆蓋率,分支覆蓋率
<!--[if !supportLists]-->u <!--[endif]-->性能測試,檢測函數執行時間,週期時間,統計代碼中任意兩行語句間的執行時間,便於進行性能分析和評估
<!--[if !supportLists]-->u <!--[endif]-->變量跟蹤,跟蹤程序真實執行過程當中,變量值實時變化狀況,並提供可視化圖形報告
<!--[if !supportLists]-->u <!--[endif]-->驗證設計值,迴歸測試。DTPlaner可定義函數執行時間的設計值(指望值),變量的設計值(指望值),目標設備實時執行過程當中,其執行時間或者變量值一旦超過設計值範圍,將給出警告錯誤
<!--[if !supportLists]-->u <!--[endif]-->CPU壓力監測,多個任務的切換監控,各個任務所佔用系統資源統計;
<!--[if !supportLists]-->2、 <!--[endif]-->DT10構成
主要版本:
<!--[if !supportLists]-->1. <!--[endif]-->DT10 Hardware-In-Circuit version (硬件在線測試)
<!--[if !supportLists]-->2. <!--[endif]-->DT10 Software-In-Circuit version (軟件在線測試),
<!--[if !supportLists]-->3. <!--[endif]-->Native version(主機平臺測試
<!--[if !supportLists]-->3、 <!--[endif]-->技術參數:
<!--[if !supportLists]-->l <!--[endif]-->無OS 和CPU 的限制,能夠毫無限制的進行調試
<!--[if !supportLists]-->l <!--[endif]-->可對運行時目標程序進行長時間跟蹤,最長可連續跟蹤32天
<!--[if !supportLists]-->l <!--[endif]-->支持多種語言,包括C/C++/C#/Java代碼
<!--[if !supportLists]-->l <!--[endif]-->可針對函數的入口處/出口處/分支,自動插入測試點,也能夠手動插入代碼到任何位置
<!--[if !supportLists]-->l <!--[endif]-->6種鏈接方式,客戶可自行選擇:異步總線鏈接,SD card I/F 鏈接,GPIO鏈接,Ethernet鏈接,CAN鏈接,UART鏈接。
<!--[if !supportLists]-->l <!--[endif]-->經過函數跟蹤功能,可透視執行路徑。函數內部處理和中斷情況發生時的相關詳細執行路徑,均可以藉此圖像顯示。同時也能夠比對源碼,是一個既便利又具備直觀性操做的功能
<!--[if !supportLists]-->l <!--[endif]-->可取得硬件的狀態(如︰電壓)。能夠把DT10看成示波器來使用,這樣能夠檢測電壓和邏輯。另外,變量值和任務變更也會在同一個頁面顯示,因此能夠經過軟件和硬件的跟蹤結果,來確認軟硬件配合是否有問題。
<!--[if !supportLists]-->l <!--[endif]-->可長時間追蹤變量值的變化。由於插入了用於導出變量值的測試點,因此會隨着時間軸的變化,觀察到變量值產生變化。可將多數的變量圖像合併查看、也能夠在同一個頁面(一覽表)顯示各個變量的最大值和最小值。
<!--[if !supportLists]-->l <!--[endif]-->可方便地掌握「進程佔有率」。任務佔有率能夠經過圖像顯示,能夠一目瞭然地看到任務中哪一個部分負擔較高。由於在那個時間點下,能夠直接定位到實際處理位置,因此可知道究竟是哪一個執行路徑發生問題,即可很方便地瞭解問題情況。
<!--[if !supportLists]-->l <!--[endif]-->可方便得到「運行時間」和「週期時間」。全部函數的運行時間(最大,最小,平均時間等)均可在統計後顯示出來。另外,也能夠獲得任意兩點之間的「處理時間」報告,很是方便地發現跟現有設計值有差別的地方。
<!--[if !supportLists]-->l <!--[endif]-->自動比較實際值和設計值。可預先設置指望的「運行時間」和「變數值」。在目標
<!--[if !supportLists]-->l <!--[endif]-->板上實際執行後,可將「測試值」和「設計值」作比較。不只能夠很方便地發現程序代碼中發生異常的地方。若是後續該項目開發下一個版本時也能夠重複使用這些設計值。這可使軟件開發更有效率。
<!--[if !supportLists]-->l <!--[endif]-->可透視「處理時間的波動」。若是使用「運行時間的長條圖」,則可發現實際的處理
<!--[if !supportLists]-->l <!--[endif]-->時間與設計值是否有差別。另外,也能夠看到目標板上處理時間的變化(波動);由於能知道異常的處理時間,因此可提早發現/修正「與時間相關的潛在問題」。
<!--[if !supportLists]-->l <!--[endif]-->能夠獲取集成/系統測試的覆蓋率。能夠獲得語句覆蓋率和分支覆蓋率。對於集成測試和系統測試,均可以從用戶角度進行常規測試便可獲取覆蓋率數據。
<!--[if !supportLists]-->l <!--[endif]-->支持內存資源很是小的芯片,可在極小的目標環境上獲取覆蓋率,業界測試工具多半沒法沒法在極小資源的目標環境(如單芯片)上進行測試並獲取覆蓋率,DT10徹底能夠作到
<!--[if !supportLists]-->l <!--[endif]-->經過Event測試點,可確認狀態變化和順序變化
<!--[if !supportLists]-->l <!--[endif]-->可測量CPU的負荷狀況,分析CPU的負荷測量數據,而且用圖形化的方式,顯示隨時間軸變化的CPU負荷狀況
<!--[if !supportLists]-->l <!--[endif]-->測試報告自動生成,運行時間和覆蓋率測量的結果,能夠自動生成報告。對開發人員來講,不用花時間在作測試報告上,而能夠更專一於開發。
有效提高新版本的測試效率,能夠將測試點只插入在與前一個版本不一樣之處。若是和覆蓋率測試組合,將有倍增的效果。有版本更新的情況下,可只測試更新的程序代碼,使測試的程序代碼量降到最低,這樣會是最有效率的測試方式。