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

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

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

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

    淺談測試驅動開發(TDD)

    發布: 2010-6-17 11:55 | 作者: 不詳 | 來源: 領測測試網采編 | 查看: 154次 | 進入軟件測試論壇討論

    領測軟件測試網

      開發過程中,通常把測試代碼和功能代碼分開存放,這里提供一個簡單的測試框架使用例子,您可以通過它了解測試框架的使用。下面是文件列表。

      project/ 項目主目錄

      project/test 測試項目主目錄

      project/test/testSeq.cpp 測試seq_t 的測試文件,對其他功能文件的測試文件復制后修改即可

      project/test/testSeq.h

      project/test/Makefile 測試項目的 Makefile

      project/test/main.cpp 測試項目的主文件,不需要修改

      project/main.cpp 項目的主文件

      project/seq_t.h 功能代碼,被測試文件

      project/Makefile 項目的 Makefile

      主要流程基本如此,但要讓你的代碼很容易的進行測試,全面又不繁瑣的進行測試,還是有很多測試原則和技術需要考慮。

      4. 原則

      測試隔離。不同代碼的測試應該相互隔離。對一塊代碼的測試只考慮此代碼的測試,不要考慮其實現細節(比如它使用了其他類的邊界條件)。

      一頂帽子。開發人員開發過程中要做不同的工作,比如:編寫測試代碼、開發功能代碼、對代碼重構等。做不同的事,承擔不同的角色。開發人員完成對應的工作時應該保持注意力集中在當前工作上,而不要過多的考慮其他方面的細節,保證頭上只有一頂帽子。避免考慮無關細節過多,無謂地增加復雜度。

      測試列表。需要測試的功能點很多。應該在任何階段想添加功能需求問題時,把相關功能點加到測試列表中,然后繼續手頭工作。然后不斷的完成對應的測試用例、功能代碼、重構。一是避免疏漏,也避免干擾當前進行的工作。

      測試驅動。這個比較核心。完成某個功能,某個類,首先編寫測試代碼,考慮其如何使用、如何測試。然后在對其進行設計、編碼。

      先寫斷言。測試代碼編寫時,應該首先編寫對功能代碼的判斷用的斷言語句,然后編寫相應的輔助語句。

      可測試性。功能代碼設計、開發時應該具有較強的可測試性。其實遵循比較好的設計原則的代碼都具備較好的測試性。比如比較高的內聚性,盡量依賴于接口等。

      及時重構。無論是功能代碼還是測試代碼,對結構不合理,重復的代碼等情況,在測試通過后,及時進行重構。關于重構,我會另撰文詳細分析。

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

    43/4<1234>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系: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>