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

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

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

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

    使用VisualStudio2005TeamSystem進行單元測試[13]

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

    領測軟件測試網

      使用VisualStudio2005TeamSystem進行單元測試[13]   軟件測試

      從本質上看,這些自動化單元測試非常低級。它們旨在測試下至構造函數、方法調用的對象,甚至是對象上的屬性。

      關于“公共對私有”的主題在單元測試派系中引發了許多爭論。許多人認為單元測試只應該測試對象的公共接口。其他人認為應該測試每個調用 — 包括內部私有方法。VSTS 支持兩個單元測試級別。VSTS 通過使用私有訪問器或包裝類支持私有測試,后者提供基于“私有”方法和屬性生成單元測試的功能。

      為什么生成代碼?

      閱讀上面的列表后,您可能會想起前面項目的單個對象,并思考:“如果我用“這些”對象進行該操作,就需要編寫大量代碼!”請考慮開發人員仍編寫“單元測試”代碼的事實 — 只在不同的窗體(例如,前面提到的 WinForms 示例)上進行。此外,具有可自行記錄、可重用的實現示例帶來的好處遠大于生成更多代碼所帶來的麻煩。最后,在單元測試中設計更多的環節已證明可以減少質量保證環節中的故障。

      正如前面所提到的,代碼生成是“軟件創建軟件”的過程;诳芍貜偷倪^程創建代碼是理想的。例如,一些使用代碼生成的較好示例包括:腳本數據、創建表示實體及其在儲存庫(數據庫 CRUD)中存在的對象,或者創建適用于數據維護的 UI 控件。使用代碼生成的好處包括:

      "

      節省時間 — 為什么花幾小時/天/周創建一些在幾秒/分鐘內就可以創建的內容?

      "

      強制標準/約定— 對于強制您的標準和命名約定而言,沒有什么比消除開發中的人員因素并依賴基于“您的”規則的可重復過程更好的了。

      "

      測試私有方法的功能 — 正如本文前面提到的,Unit Testing Framework 提供使用“私有訪問器”類測試私有方法的功能。該代碼生成引擎創建與這些訪問器類相關的所有“基礎代碼”。

      "

      獲取現有組件的信息 — 搜索另一個開發人員的組件嗎?基于這些組件生成代碼可能提供關于該實現以及該對象接口的簡明示例。此外,進行設計并在編碼之前“清除”其對象的公共接口(例如,通過使用 VS 2005 類設計器)的開發人員將極大地受益于代碼生成引擎。

      正如您所預期的,自動化單元測試屬于“優秀代碼生成候選者”。在現有組件中指出一些內容并針對這些自動單元測試生成初始代碼難道不是很理想嗎?而且不只是保留單元測試框架,還會圍繞對象的公共接口生成實現示例嗎?將來的 Visual Studio 2005 Team System 用戶將擁有該功能以及更多功能!

    延伸閱讀

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

    TAG: 單元


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