新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式測試中數據獲取的幾種方式

        嵌入式測試中數據獲取的幾種方式

        作者: 時間:2017-06-06 來源:網絡 收藏
        軟件測試的困難之一就是如何獲取測試產生的數據, 大多數的軟件測試工具在測試軟件的時候都要提供測試腳本,如果進行覆蓋率分析就要對代碼插裝, 測試可執行程序在目標環境下運行時就會有數據產生,這些數據就是產生測試報告的重要輸入條件, 所以要順利實現軟件測試, 首先需要解決的就是如何把測試數據上載會主機。

        經過我們實際摸索發現, 大概我們可以把數據的上載分為3 種方式:

        1. 實際的物理通道

        2. 開發工具IDE的虛擬IO功能

        3 . 讀取內存區數據

        下面我們對這幾種方式做一些簡單的介紹:

        實際的物理通道

        這種方式就是目標機和主機之間具備物理的通信方式, 比如以太網, 串口,并口, USB等, 這幾種方式, 在測試的時候我們可以直接使用這種通信程序, 和主機通信, 實現測試數據上載, 一般情況下,測試工具的庫中IO函數使用fprintf(), 那么在這種方式下,就需要修改測試工具的庫, 假設以太網的發數據的函數是Netsend(), 那么我們需要定制fprintf, 使它調用Netsend(), 這樣就可以實現數據上傳了。 這種方式最方便但是要求系統必須已經具備這種通信方式和通信軟件, 一般適用于系統級的測試。 

        開發工具虛擬IO

        開發軟件一般需要支持交叉開發方式的開發工具, 大多數這種開發工具具備編譯,下載,調試的功能, 測試時也可以借助開發工具來下載測試程序, 需要注意的是, 有些高級的開發工具IDE, 具備虛擬IO功能, 給測試帶來了很大的方便, 比如說: Tornado, TI CCS。
        在Tornado的shell中運行測試程序時, 可以把printf的內容打印到消息窗口中, CCS可以支持fprintf,直接在主機上生成測試數據文件, 用戶在使用這些工具的時候, 就像在主機上測試一樣, 完全可以理由開發工具賦予的模擬IO功能。

        讀取內存數據

        假設目標系統既沒有物理通信方式, 開發工具也沒有虛擬IO功能, 我們還可以采用讀取內存數據的方式, 我們可以開辟一塊足夠大的緩存, 修改測試工具的庫, 把輸出的數據寫入buffer中, 在測試過程中或者測試執行后, 使用開發工具讀取內存的功能把緩存中的數據讀取出來,在主機上保存成文件,這種方式需要系統有足夠的內存資源, 但是適用性很廣,因為幾乎所有的開發調試工具都具備這樣的功能。
        總之嵌入式軟件測試很復雜, 需要根據實際情況采取不同的策略。 本文只是單獨就數據讀取的問題做了一些討論。



        關鍵詞: 嵌入式 數據獲取

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 武夷山市| 如东县| 九龙城区| 乌兰县| 阿拉善左旗| 南华县| 合山市| 油尖旺区| 闻喜县| 镇原县| 贵阳市| 黑龙江省| 甘孜| 定安县| 哈尔滨市| 江城| 宁海县| 游戏| 溧阳市| 中西区| 荥阳市| 贞丰县| 磐安县| 平度市| 昌都县| 阿图什市| 康定县| 浦北县| 阿克苏市| 延边| 大同县| 霍城县| 台南县| 囊谦县| 称多县| 清远市| 安化县| 辽阳市| 镇沅| 凭祥市| 拜泉县|