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

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

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

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

    Purify在白盒測試中的應用

    發布: 2009-2-20 09:51 | 作者: 不詳 | 來源: 測試時代采編 | 查看: 124次 | 進入軟件測試論壇討論

    領測軟件測試網  Purify是主要針對開發階段的白盒測試,是綜合性檢測運行時錯誤的工具,并可以和其他復合應用程序(包括多線程和多進程程序)一起工作。Purify檢查每一個內存操作,定位錯誤發生的地點并提供盡可能詳細的信息幫助程序員分析錯誤發生的原因。

            它可以發現的主要錯誤有:(摘自purify在線幫助html/getstarted_pplus/2-purify.html)

    ·  Reading or writing beyond the bounds of an array

       數組讀寫越界

    ·  Using uninitialized memory

       使用未初始化的內存

    ·  Reading or writing freed memory

       讀寫未分配的內存

    ·  Reading or writing beyond the stack pointer

       棧指針讀寫越界

    ·  Reading or writing through null pointers

       讀寫空指針

    ·  Leaking memory and file descriptors

       內存和文件描述符泄漏

            Purify還檢查一些其他錯誤,如調用函數參數錯誤等。

            由于purify對內存的分析和記錄是在程序運行完成以后才顯示,如果需要在程序運行時觀測就很不方便,所以Purify也提供外接API函數幫助在運行時顯示內存狀況以調試程序。它提供的接口說明請參見我的另一篇關于Purify的文檔purify的API和提示信息代號。

            Purify的使用及注意事項:

            1.    對于編譯執行程序,如gcc –g testpurify.c –o tpurify命令,如果需要對testpurify使用purify進行調試,那么只要在命令前加入purify即可。如:purify gcc –g testpurify.c –o tpurify。這樣,當運行testpurify程序時,即會自動彈出purify觀察器的界面如圖1(命令行模式下只是列出purify對程序運行的統計信息):

             

                                               圖1

            purify不能用于動態鏈接庫的編譯命令。如下用法是錯誤的:
    purify –shared –fpic libtest.c –o libtest.so

            注意:如果在安裝purify時是指定的purify license server模式進行安裝(在安裝中輸入的是證書服務器的地址,如27000@licenses.com),那么在加入purify命令進行編譯程序時,網絡必須能連接到指定的證書服務器,否則無法使用purify。

            2.    如果程序中調用了共享庫,那么,如果修改了共享庫后,需要使用purify命令對調用了共享庫的程序進行重新編譯,才能體現修改。[Page]

            3.      purify能夠對發現的錯誤直接在源文件中進行定位,如圖2中在main函數旁邊顯示的[hello_world.c:25]:

      

                                     圖2

            可以在purify中直接對定位的錯誤進行修改,點擊圖標或者main下邊的鉛筆符號即可,彈出如圖3的編輯框: 注意:如果錯誤發生的行號沒有在觀察器中顯示,請檢查你在編譯時是否指定了-g參數。
      

                                     圖3

            4.      注意到圖2中有個ABR的字母縮寫,它表示數組讀錯誤。Purify有很多描述錯誤的字母縮寫,請參加文檔<<purify的API和提示信息代號.doc>>。

            5.      現在介紹下purify的工具欄:

       

            (1)(2)按鈕是用于在purify觀察器中導航,將最近有或標志的行高亮顯示。
            按鈕(3)用于將有標志的項展開,按鈕(4)用于將有標志的項收縮。
            按鈕(5)是用于打開編輯器。
            按鈕(6)(7)(8)是使用cleartool工具(沒有安裝)。
            按鈕(9)用于設置哪些錯誤信息不進行展開,以節省視圖,關注更重要的錯誤信息。
            按鈕(10)是調用幫助。
            按鈕(11)是下一個內存泄漏提示標記。
            按鈕(12)是調用PureCovery。
            按鈕(13)是調用ClearQuest工具。   在項目開發測試中適用purify的領域有:

            1.  使用purify提供的API函數,在程序運行的必要環節在觀察器中顯示需要獲得的內存狀況或打印消息。

            2.  對于運行環境要求簡單的程序,如可以在自己虛擬機上運行的單機程序,可以使用purify進行白盒測試,查找內存泄漏等運行時錯誤。
    而對硬件有要求的程序,則不大可能使用purify。比如對嵌入式平臺的程序,我們無法使用purify。

    延伸閱讀

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

    TAG: purify Purify 白盒 應用


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(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>