• <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
            <2008年11月>
            2627282930311
            2345678
            9101112131415
            16171819202122
            23242526272829
            30123456

            常用鏈接

            留言簿(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 閱讀(292) 評論(0)  編輯 收藏 引用 所屬分類: 我的讀書筆記
            日韩亚洲欧美久久久www综合网 | 中文字幕无码久久精品青草| 99久久精品九九亚洲精品| 狠狠色丁香婷婷综合久久来来去 | 久久青草国产精品一区| 久久久艹| 久久99免费视频| 精品久久久无码人妻中文字幕| 久久国产精品77777| 久久久久亚洲?V成人无码| 精品久久8x国产免费观看| 亚洲国产成人久久一区WWW| 精品一区二区久久| 色88久久久久高潮综合影院| 久久精品国产黑森林| 久久福利青草精品资源站| 亚洲国产欧美国产综合久久| 久久婷婷色综合一区二区| 久久综合狠狠色综合伊人| 777米奇久久最新地址| 国内高清久久久久久| 国产99久久久国产精品小说| 精品久久久久久国产免费了| 亚洲国产成人久久综合碰碰动漫3d | 热久久国产欧美一区二区精品| 国产精品天天影视久久综合网| 亚洲伊人久久精品影院| 久久大香萑太香蕉av| 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区 | 久久精品aⅴ无码中文字字幕不卡| 国产农村妇女毛片精品久久| aaa级精品久久久国产片| 久久精品www人人爽人人| 97久久久精品综合88久久| 国产精品9999久久久久| 97久久超碰国产精品旧版| 97久久综合精品久久久综合| 精品午夜久久福利大片| 久久996热精品xxxx| 久久99久久成人免费播放| 国产精品成人99久久久久 |