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

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

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

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

    內存泄漏檢查-Rational Test Suite-Purify

    發布: 2007-5-05 18:15 | 作者: c | 來源: 51testing博客 | 查看: 468次 | 進入軟件測試論壇討論

    領測軟件測試網

    javascript:tagshow(event, 'Rational');" href="javascript:;" target=_self>Rational Test Suite-Purify

           MILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">大家在測試過程中最頭痛的是什么問題,我想大概是服務器運行時不知不覺的服務器就出現異常,通過SystemMonitor發現系統的內存隨時間不斷的減少,特別在C++開發下由于沒有像Java');" target="_self">Java,C#有比較好的GC,所有的內存都是開發員進行控制,很容易出現內存泄漏的情況,那么如何高效的發現內存問題,成為高級測試人員與開發人員關注的問題。

           工欲善其事,必先利其器,要快速的在大型的應用中人工的排查內存問題,就有如大海撈針。如何在幾百萬代碼定位問題,人工!顯然是不可能的,那必須要借助工具,現在有許多比較好的內存檢查工具,比如下面給大家介紹的Purify,PurifyIBM公司出的面象C++,VB,Java的內存檢查工具。

    Purify可檢查的常見錯誤類型如下:

    1 堆陣相關錯誤。

    2 堆棧相關錯誤。

    3 垃圾內存收集-Java 代碼中相關的內存管理問題。

    4 COM 相關錯誤。

    5 指針錯誤。

    6 內存使用錯誤。

    7 Windows API 相關錯誤。

    8 句柄錯誤。

    當然可檢查的錯誤類型還有很多,大家可以參考聯機幫助,但我認為常見的錯誤大多數都發生上面提到的一些錯誤。

           下面主要給大家以一個例子來說明Purify的使用:

     

    1

    Purify的使用還是比較簡單的,一般只要把程序寫成.EXE,然后直接運行就行了,當然如果程序比較大時,則需要重新組織一下,分幾個段進行測試,最好的辦法就是用CPPUnit來寫測試框架,直接調用單個的函數進行測試是最好的,我的例子就是用CPPunit來寫的,單獨調用相關的測試函數進行測試,由于這里不是介紹CppUint,所以只是給大家提一下,單元測試可以這樣寫。Purify的啟動還是比較簡單的,就是運行一個.EXE。

           運行完后結果如下圖:

     

     

     

    2

    大家可以看到報以下幾個出錯,有位未初始化內存,數組越界讀寫,內存泄露等幾個大家比較頭痛的問題,以前代碼比較多時是無法查到的,現在有了這個工具,就可以很快的查到問題。

           同時Purify不光可以顯示出錯還可以定位是那段代碼出錯,當然你要有代碼,不過它是把相關的模塊全部顯示出來,你要從里面找出是由你的代碼引起的問題才行,這是一個比較暈的事情,不過多做幾次就行,當然如果程序是你寫的就更好了,就更容易找到問題,對上面的出現問題的點進行展開,跟據一些使用的經驗我一般不會找系統相關的函數,而是先找與自己工程相關的函數,比如下圖中的內存演示 int CMabString::LeakMemory():

    3

    就是工程中的代碼,一般問題都是由自己的代碼引起的,但Purify把所有與此相關的模塊都引入,所以你要過濾出什么是真正問題的所在,同時你們還可以看到如果程序有代碼的話,Purify可以把代碼中的錯誤都標出,從而減小你再去查找代碼的難度,從而快速的定位問題。

    當然,Purify還有許多比較好的特性,比如過濾,錯誤顯示設定等等,通過它你可以更快更好的發現問題。

           Purify是一款非常不錯的內存檢查工作,結合PureCoverage,QuantifyRose Test Suite下的工具,就可以對代碼級進行很好的測試,當然如果再結合測試框架,形成自動化測試則能大幅度的節約測試成本,提高工作效率,當然實施單元測試還是要看整個測試團隊的能力,不能強推J。如果你要了解其它兩個工具,可以看我專欄的其它介紹,謝謝大家。


    查看全部評論(1) 最新評論

    • 刪除 ihwks (2007-4-29 09:22:38, 評 0 分)

      工具哪里下載??老大給個地址啊網上搜索的都沒用

    延伸閱讀

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


    軟件測試技術文章排行榜
    軟件測試技術分類最新內容
    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(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>