• <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-23 10:37 | 作者: 不詳 | 來源: 領測測試網采編 | 查看: 137次 | 進入軟件測試論壇討論

    領測軟件測試網

      多態有幾種不同的形式,如參數多態,包含多態,過載多態。包含多態和過載多態在面向對象語言中通常體現在子類與父類的繼承關系,對這兩種多態的測試參見上述對父類成員函數繼承和過載的論述。包含多態雖然使成員函數的參數可有多種類型,但通常只是增加了測試的繁雜。對具有包含多態的成員函數測試時,只需要在原有的測試分析和基礎上擴大測試用例中輸入數據的類型的考慮。對類為粒度進行面向對象的單元測試,可參考[10]中關于如何從MtSS生成測試用例的說明。

      六、面向對象的集成測試(OO Integrate Test)

      傳統的集成測試,是由底向上通過集成完成的功能模塊進行測試,一般可以在部分程序編譯完成的情況下進行。而對于面向對象程序,相互調用的功能是散布在程序的不同類中,類通過消息相互作用申請和提供服務。類的行為與它的狀態密切相關,狀態不僅僅是體現在類數據成員的值,也許還包括其他類中的狀態信息。由此可見,類相互依賴極其緊密,根本無法在編譯不完全的程序上對類進行測試。所以,面向對象的集成測試通常需要在整個程序編譯完成后進行。此外,面向對象程序具有動態特性,程序的控制流往往無法確定,因此也只能對整個編譯后的程序做基于黑盒子的集成測試。

      面向對象的集成測試能夠檢測出相對獨立的單元測試無法檢測出的那些類相互作用時才會產生的錯誤;趩卧獪y試對成員函數行為正確性的保證,集成測試只關注于系統的結構和內部的相互作用。面向對象的集成測試可以分成兩步進行:先進行靜態測試,再進行動態測試。

      靜態測試主要針對程序的結構進行,檢測程序結構是否符合設計要求,F在流行的一些測試軟件都能提供一種稱為"可逆性工程"的功能,即通過原程序得到類關系圖和函數功能調用關系圖,例如International Software Automation 公司的Panorama-2 for Windows95、Rational公司的Rose C++ Analyzer等,將"可逆性工程"得到的結果與OOD的結果相比較,檢測程序結構和實現上是否有缺陷。換句話說,通過這種方法檢測OOP是否達到了設計要求。

      動態測試設計測試用例時,通常需要上述的功能調用結構圖、類關系圖或者實體關系圖為參考,確定不需要被重復測試的部分,從而優化測試用例,減少測試工作量,使得進行的測試能夠達到一定覆蓋標準。測試所要達到的覆蓋標準可以是:達到類所有的服務要求或服務提供的一定覆蓋率;依據類間傳遞的消息,達到對所有執行線程的一定覆蓋率;達到類的所有狀態的一定覆蓋率等。同時也可以考慮使用現有的一些測試工具來得到程序代碼執行的覆蓋率。

      具體設計測試用例,可參考下列步驟:

    延伸閱讀

    文章來源于領測軟件測試網 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>