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

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

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

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

    嵌入式軟件的覆蓋測試(二)

    發布: 2010-6-18 10:36 | 作者: 不詳 | 來源: 領測測試網采編 | 查看: 53次 | 進入軟件測試論壇討論

    領測軟件測試網

      嵌入式軟件的覆蓋測試(二)   軟件測試

      5 Logiscope在嵌入式操作系統DeltaCORE測試中的應用

      5.1 測試前的準備

      測試前的準備即為支持對DeltaCORE的測試所做的移植工作。

      目前,Logiscope已經為一些成熟的商用嵌入式操作系統提供了支持,比如pSOS。DeltaCORE是我國自主開發的嵌入式強實時操作系統內核,為了利用Logiscope實現對DeltaCORE的應用程序乃至DeltaCORE本身的測試,我們主要解決了第4節中描述的第1個關鍵問題。

      為了支持嵌入式程序的測試,Logiscope提供了運行在目標機方的程序代碼(或稱為目標機端的支持庫),里面包含了:

      *1個用來收集和發送覆蓋信息的主循環線程,該線程即是嵌入式應用中的特殊任務;

      *實現具體數據傳輸的函數,包括對串口或網絡的驅動,它們將被上述線程調用;

      *插裝函數的實現,這些函數被被測代碼調用,向緩沖中放入覆蓋消息塊;

      *對緩沖信息隊列的管理;

      *初始化代碼。

      例如,當被測程序運行進入到一條if(……)語句時,整個過程如圖4所示。

      為了支持對DeltaCORE的測試,將與這些機制相關的代碼進行移植,包括以下幾方面:

      *將收集和發送覆蓋信息的主循環線程作為在目標機端運行的應用程序中的特殊任務;

      *對串口的驅動采用LambdaTOOL BSP(板級支持包)中的串口驅動代替,對網絡的驅動,用DeltaCORE的配套組件DeltaNET中的驅動程序實現;

      *利用DeltaCORE的信箱機制實現消息隊列的創建和管理,插裝代碼向這些信箱發送覆蓋消息塊;

      *在DetaCORE應用程序的根任務中調用Logiscope的初始化函數,達到創建特殊任務信箱的目的。

      開發DeltaCORE應用程序時,我們使用了其配套開發工具LambdaTOOL。由于所使用的工具版本沒有實現目標服務器(target server)的調試方式,因此對物理端口的使用采用的獨占方式,即調試工具不能與其它工具共享同一端口。我們可以用網絡試上載并啟動目標應用程序,而通過串口傳送覆蓋信息。

      5.2 對DeltaCORE的覆蓋測試過程及結果

      對于函數內部,Logiscope支持的覆蓋策略有:

      *指令塊IBs(Instruction Blocks)

      *判斷到判斷的路徑DDPs(Decision-to-Decision Paths)

    延伸閱讀

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

    TAG: 嵌入式 軟件

    21/212>

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