• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 181  文章 - 15  trackbacks - 0
            <2007年6月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            1234567

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            My Tech blog

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            4.2JUnit框架
            單元測試
            編寫單元測試的目的是為了提高身為一個程序員的生產性能。至于讓質保部門開心,那只是附帶效果而以。單元測試是高度本地化的東西,每個test class只對單一package運作。它能夠測試其他packages的接口,除此之外它將假設其他package一切正常。
            功能測試
            用來保證軟件能夠正常運作。他們只負責向客戶提供質量保證,并不關心程序員的生產力。它們應該由一個喜歡尋找臭蟲的個別團隊來開發。這個團隊應該使用重量級工具和技術來幫助自己開發良好的功能測試。
            一般而言,功能測試盡可能把整個系統當作一個黑箱。面對一個GUI待測系統,它們通過GUI來操作那個系統。而對文件更新程序或數據庫更新程序,功能測試只觀察待定輸入所導致的數據變化。
            一旦功能測試者或最終用戶找到軟件中的一個bug,要除掉它至少需要做兩件事。當然你必須修改代碼,才得以排除錯誤,但你還應該添加一個單元測試,讓它揭發這只臭蟲。
            4.3添加更多的測試
            觀察class該做的所有事情,然后針對任何一項功能的任何一種可能失敗的情況,進行測試。這不同于某些程序員提倡的“測試所有public函數”。記住,測試應該是一種風險驅動行為,測試的目的是希望找出現在或未來可能出現的錯誤。所以我不會去測試那些僅僅讀或寫一個值域的訪問函數,因為它們太簡單了,不大可能出錯。這一點很重要,因為你如果撰寫過多測試,結果往往測試量反而不夠。測試的要訣是:測試你最擔心出錯的部分,這樣你就能從測試工作中得到最大收益。
            考慮可能出錯的邊界條件,把測試火力集中在那兒。
            尋找邊界條件,也包括尋找特殊的、可能導致測試失敗的情況。對于文件相關測試,空文件是個不錯的邊界條件。當事情被大家認為應該會出錯時,別忘了檢查彼時是否有異常如預期般的被拋出。
            不要因為“測試無法捕捉所有臭蟲”,就不撰寫測試代碼,因為測試的確可以捕捉大多數臭蟲。
            對象技術有個微妙處:繼承和多態會讓測試變得比較困難,因為將有許多組合需要測試。如果你有三個彼此合作的abstract class有三個subclass,那么你總共有九個可供選擇的classes,和27種組合。我并不總是試著測試所有可能組合,但我會盡量測試每一個classes,這可以大大減少各種組合所造成的風險。如果這些classes之間彼此有合理的獨立性,我很可能不會嘗試所有組合。是的,我總有可能遺漏些什么,但我覺得“花合理時間抓出大多數臭蟲”要好過“窮盡一生抓出所有臭蟲”。
            測試代碼和產品代碼之間有個區別:你可以放心的拷貝、編輯測試代碼。
            posted on 2007-08-06 21:50 littlegai 閱讀(280) 評論(0)  編輯 收藏 引用 所屬分類: 我的讀書筆記
            中文字幕乱码久久午夜| 一本大道久久a久久精品综合| 久久发布国产伦子伦精品| 99久久精品免费看国产一区二区三区| 99久久99久久精品国产片| 久久中文字幕一区二区| 久久久精品日本一区二区三区| 久久免费香蕉视频| 伊人久久大香线蕉亚洲五月天| 99久久人妻无码精品系列| 久久人人爽人人精品视频| 久久精品欧美日韩精品| 久久天天婷婷五月俺也去| 国产精品99久久久久久www| 日产久久强奸免费的看| 日本一区精品久久久久影院| 国产美女亚洲精品久久久综合| 97超级碰碰碰碰久久久久| 99久久精品国产一区二区| 久久久久九国产精品| 97精品依人久久久大香线蕉97 | 久久精品成人欧美大片| 人妻无码久久精品| 国产精品欧美久久久久无广告| 久久99精品久久久久子伦| 久久久精品久久久久影院| 午夜精品久久久久久影视777| 91精品婷婷国产综合久久| 久久国产色AV免费观看| 国产成人精品久久| 亚洲AV伊人久久青青草原| 91亚洲国产成人久久精品网址| 国产亚洲婷婷香蕉久久精品| 亚洲成色www久久网站夜月| 午夜精品久久久久久影视riav| 久久激情五月丁香伊人| 久久综合九色综合精品| 久久99久久99小草精品免视看| 久久国产成人午夜aⅴ影院| 久久综合精品国产一区二区三区| 热久久国产精品|