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

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

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

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

    軟件測試中單元測試極大地提高C/C++應用質量

    發布: 2009-10-30 15:13 | 作者: 網絡轉載 | 來源: 領測軟件測試網 | 查看: 95次 | 進入軟件測試論壇討論

    領測軟件測試網

    C++Test做什么?

    1. 自動建立測試驅動和樁函數

    C++Test自動建立一個測試驅動程序,其設計目標是極大化類的測試覆蓋性和錯誤檢測。為類建立測試驅動,你只要簡單地打開這個類,然后按Build Test鍵。C++Test將自動建立測試驅動程序。

    另外,如果被測的方法需要調用當時還不存在或無法訪問的函數,C++Test能夠自動生成樁函數;這樣能夠測試與外部資源操作的交互作用和不包含任何隱藏的弱點。C++Test不是實際調用這些函數,而是調用樁函數并返回樁函數提供的值。如果你需要控制使用的返回值,你可以建立一個樁調用表,生命輸入/輸出的關系。

    圖4:建立樁調用表

    你還能加入用戶定義的樁函數。例如,如果你要使用原始的函數,且該函數定義在不同的文件中;或者你想要仿真原始函數的行為,而用一個簡單的函數替代它。

    圖5:鍵入用戶自定義的樁調用

    自動生成C/C++類的測試驅動程序和樁函數的能力是C++Test所獨有的;只有C++Test能夠自動測試C/C++類(一當它能夠編譯時),而不需要用戶的任何干預。使得你能夠盡快地自動檢測代碼錯誤,以最容易、最省錢和最快速的方法找到和修正它們。如果沒有這樣的自動化工具,大量的時間和資源消耗將失去單元測試的潛在好處和現實意義。

    2. 白盒測試

    C++Test提供了一種有效并且高效的方法執行白盒測試。C++Test完全自動執行所有的白盒測試過程,自動生成和執行精心設計的測試用例。自動標記任何運行失敗,并以一種簡單的圖示化結構顯示。然后自動保存這些測試用例,能夠方便地用于以后的回歸測試。

    由于C++Test能夠自動生成樁函數,或允許你加入自己的樁函數,因此它能夠測試引用外部對象的類。換句話說,C++Test能夠運行任何一個或一組類,并自動生成和執行一組測試用例,它們被設計成能夠發現盡可能多的錯誤。

    圖6:執行自動白盒測試

    C++Test允許你定制白盒測試用例的生成,和在什么層次上(項目、文件、類或方法)執行測試。

    3. 黑盒測試

    C++Test通過自動化黑盒測試的大部分操作,減輕了這類測試的負擔。特別是以兩種方法自動化黑盒測試的第一階段--建立測試用例:

    幫助你設置每個測試用例的結果
    你可以簡單地輸入測試用例輸入,然后讓C++Test運行測試用例并自動確定實際的輸出結果。如果結果正確,不需要其它動作。如果結果不正確,你可以輸入預期的輸出結果。這樣比手工輸入每個測試用例的結果更快更容易。

    自動生成測試用例的核心集合
    C++Test自動設計了一組廣譜的白盒測試用例。當使用這些測試用例在黑盒測試時,你只需簡單地觀察實際的輸出結果,然后對任何不正確的結果輸入預期的值。

    當你需要輸入或修改測試用例時,你可以在C++Test自動生成的測試用例框架種簡單地鍵入相應的值。這將顯著地加快建立測試用例的過程。

    圖7:鍵入一個測試用例

    在自動化建立黑盒測試用例的大多數步驟之外,C++Test完全自動化余下的黑盒測試步驟。按一個鍵,你能夠對項目、文件、類或方法運行一個或一組。C++Test然后自動執行所有的測試用例,報告所有的輸入/輸出關系,并標記任何實際輸出與預期不一致或導致程序崩潰的測試用例。

    4. 回歸測試

    C++Test完全自動化與回歸測試有關的所有步驟。C++Test首次測試某個類時,自動保存其測試和測試參數。當需要執行回歸測試時,你可以打開合適的項目和文件,運行所有原來的白盒和黑盒測試用例;C++Test會自動運行完全相同的測試用例和測試參數,并告之發現的任何問題。這意味著你能夠立即知道修改是否引入了任何錯誤。

    5. 測試覆蓋性分析

    為了幫助你測量當前使用的測試用例集合的有效性,并且給你提供達到盡可能高的覆蓋性的信息,C++Test自動監視測試覆蓋性:

    • 行覆蓋
    • 累計行覆蓋
    • 基本塊覆蓋
    • 分支(判斷)覆蓋
    • 條件覆蓋
    • MC/DC覆蓋(DO-178B標準)

    圖8:瀏覽測試結果

    C++Test實時跟蹤測試覆蓋性,然后建立一個綜合測試覆蓋性報告。覆蓋性窗口圖示化地說明了當前正在被執行的代碼行,已執行過的行和每行的執行次數。因此,它不僅指出了一個代碼行是否被測試過,而且說明了被測試的有多徹底。這些信息對于確定那些代碼需要追加測試是非常有幫助的。

    6. 集成的單步調試

    如果你選擇在方法測試時捆綁調試器,C++Test將自動自動激活Microsoft Visual C++調試器,這樣使得你在用C++Test測試任何方法時仍然能夠方便地進行單步調式。

    7. 防止錯誤

    C++Test能夠自動執行兩種類型的變成標準。其內建的特性允許你自動執行動態的變成標準,如“總是對每個類執行單元測試”和“總是單步調試類”等。另外,假如你使用CodeWizard--ParaSoft的自動化可定制編程標準強化工具,C++Test可以自動運行CodeWizard。

    8. 運行時錯誤檢測

    C++Test還能幫助你執行類一級的運行時錯誤自動檢測。如果你安裝了Insure++,C++Test可以自動運行類和方法通過Insure++,它將檢查下列錯誤:

    • 內存引用錯誤/內存未初始化
    • 內存泄漏
    • 內存分配錯誤
    • 變量定義沖突
    • I/O錯誤
    • 指針錯誤
    • 庫調用錯誤
    • 邏輯錯誤
    • 算法錯誤
     這意味著你能夠在類開發的第一時間檢測運行時錯誤,而且無需自己做任何運行數據。C++Test自動生成大量而精心設計的測試用例,能夠幫助你更徹底、更方便和更快速地檢測運行時錯誤。

    結論

    通過執行單元測試,你能夠有效地防止許多錯誤的出現,盡早檢測出已存在的錯誤,并且比其它測試手段和技術更有效。影響C/C++開發人員執行單元測試的主要障礙是需要消耗大量的時間的資源,目前的一些單元測試工具仍然存在著這樣的問題。C++Test的推出克服了這一障礙。C++Test做到了開發人員總是希望卻不敢相信的事情:自動化C/C++單元測試。

    延伸閱讀

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

    22/2<12

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