• <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)  編輯 收藏 引用 所屬分類: 我的讀書筆記
            爱做久久久久久| 久久免费视频6| 久久99精品久久久久久| 国产精品欧美久久久久天天影视| 日本高清无卡码一区二区久久 | 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区| 国产综合免费精品久久久| 亚洲精品乱码久久久久久| 777久久精品一区二区三区无码 | 久久国产精品久久| 色青青草原桃花久久综合| 国产ww久久久久久久久久| 日本欧美久久久久免费播放网| 久久久久久久综合日本| 精品国产一区二区三区久久| 亚洲国产欧洲综合997久久| 激情久久久久久久久久| 久久国产精品国产自线拍免费| 国产精品亚洲综合久久 | 久久久无码人妻精品无码| 欧美久久综合九色综合| 热久久这里只有精品| 久久影院综合精品| 亚洲欧美日韩久久精品第一区| 久久婷婷五月综合成人D啪| 久久精品一区二区三区中文字幕| 久久精品中文无码资源站 | 久久婷婷色香五月综合激情| 久久久精品国产Sm最大网站| 日本一区精品久久久久影院| 久久久久亚洲精品无码蜜桃| 久久这里只有精品18| 久久久久久亚洲精品不卡| 久久久青草久久久青草| 久久99国产精品一区二区| 国产精品久久久久久久| 99久久成人国产精品免费| 精品久久一区二区三区| 狠狠色伊人久久精品综合网| 老司机国内精品久久久久| 久久99精品国产麻豆不卡|