• <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年8月>
            2930311234
            567891011
            12131415161718
            19202122232425
            2627282930311
            2345678

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            My Tech blog

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            4.2JUnit框架
            單元測(cè)試
            編寫單元測(cè)試的目的是為了提高身為一個(gè)程序員的生產(chǎn)性能。至于讓質(zhì)保部門開心,那只是附帶效果而以。單元測(cè)試是高度本地化的東西,每個(gè)test class只對(duì)單一package運(yùn)作。它能夠測(cè)試其他packages的接口,除此之外它將假設(shè)其他package一切正常。
            功能測(cè)試
            用來保證軟件能夠正常運(yùn)作。他們只負(fù)責(zé)向客戶提供質(zhì)量保證,并不關(guān)心程序員的生產(chǎn)力。它們應(yīng)該由一個(gè)喜歡尋找臭蟲的個(gè)別團(tuán)隊(duì)來開發(fā)。這個(gè)團(tuán)隊(duì)?wèi)?yīng)該使用重量級(jí)工具和技術(shù)來幫助自己開發(fā)良好的功能測(cè)試。
            一般而言,功能測(cè)試盡可能把整個(gè)系統(tǒng)當(dāng)作一個(gè)黑箱。面對(duì)一個(gè)GUI待測(cè)系統(tǒng),它們通過GUI來操作那個(gè)系統(tǒng)。而對(duì)文件更新程序或數(shù)據(jù)庫(kù)更新程序,功能測(cè)試只觀察待定輸入所導(dǎo)致的數(shù)據(jù)變化。
            一旦功能測(cè)試者或最終用戶找到軟件中的一個(gè)bug,要除掉它至少需要做兩件事。當(dāng)然你必須修改代碼,才得以排除錯(cuò)誤,但你還應(yīng)該添加一個(gè)單元測(cè)試,讓它揭發(fā)這只臭蟲。
            4.3添加更多的測(cè)試
            觀察class該做的所有事情,然后針對(duì)任何一項(xiàng)功能的任何一種可能失敗的情況,進(jìn)行測(cè)試。這不同于某些程序員提倡的“測(cè)試所有public函數(shù)”。記住,測(cè)試應(yīng)該是一種風(fēng)險(xiǎn)驅(qū)動(dòng)行為,測(cè)試的目的是希望找出現(xiàn)在或未來可能出現(xiàn)的錯(cuò)誤。所以我不會(huì)去測(cè)試那些僅僅讀或?qū)懸粋€(gè)值域的訪問函數(shù),因?yàn)樗鼈兲?jiǎn)單了,不大可能出錯(cuò)。這一點(diǎn)很重要,因?yàn)槟闳绻珜戇^多測(cè)試,結(jié)果往往測(cè)試量反而不夠。測(cè)試的要訣是:測(cè)試你最擔(dān)心出錯(cuò)的部分,這樣你就能從測(cè)試工作中得到最大收益。
            考慮可能出錯(cuò)的邊界條件,把測(cè)試火力集中在那兒。
            尋找邊界條件,也包括尋找特殊的、可能導(dǎo)致測(cè)試失敗的情況。對(duì)于文件相關(guān)測(cè)試,空文件是個(gè)不錯(cuò)的邊界條件。當(dāng)事情被大家認(rèn)為應(yīng)該會(huì)出錯(cuò)時(shí),別忘了檢查彼時(shí)是否有異常如預(yù)期般的被拋出。
            不要因?yàn)?#8220;測(cè)試無法捕捉所有臭蟲”,就不撰寫測(cè)試代碼,因?yàn)闇y(cè)試的確可以捕捉大多數(shù)臭蟲。
            對(duì)象技術(shù)有個(gè)微妙處:繼承和多態(tài)會(huì)讓測(cè)試變得比較困難,因?yàn)閷⒂性S多組合需要測(cè)試。如果你有三個(gè)彼此合作的abstract class有三個(gè)subclass,那么你總共有九個(gè)可供選擇的classes,和27種組合。我并不總是試著測(cè)試所有可能組合,但我會(huì)盡量測(cè)試每一個(gè)classes,這可以大大減少各種組合所造成的風(fēng)險(xiǎn)。如果這些classes之間彼此有合理的獨(dú)立性,我很可能不會(huì)嘗試所有組合。是的,我總有可能遺漏些什么,但我覺得“花合理時(shí)間抓出大多數(shù)臭蟲”要好過“窮盡一生抓出所有臭蟲”。
            測(cè)試代碼和產(chǎn)品代碼之間有個(gè)區(qū)別:你可以放心的拷貝、編輯測(cè)試代碼。
            posted on 2007-08-06 21:50 littlegai 閱讀(283) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 我的讀書筆記
            日韩欧美亚洲综合久久影院Ds| 91久久精品电影| 亚洲国产成人久久综合一区77 | 人妻中文久久久久| 日本高清无卡码一区二区久久| 国产精品久久久久久久久软件 | AAA级久久久精品无码区| 久久久精品久久久久久 | 香港aa三级久久三级| 国产福利电影一区二区三区,免费久久久久久久精 | 久久棈精品久久久久久噜噜| 亚洲国产精品久久久久婷婷老年 | 色99久久久久高潮综合影院| 婷婷伊人久久大香线蕉AV | 久久久无码精品亚洲日韩京东传媒| 无码日韩人妻精品久久蜜桃| 国内精品伊人久久久久网站| 亚洲熟妇无码另类久久久| 国产香蕉97碰碰久久人人| 国产午夜精品久久久久免费视| 伊人久久大香线蕉精品不卡| 久久精品国产亚洲AV高清热| 久久久久亚洲AV片无码下载蜜桃| 91精品观看91久久久久久| 久久国产精品77777| 成人久久免费网站| 国产69精品久久久久APP下载| 久久综合九色综合久99| 精品少妇人妻av无码久久| 国产成人综合久久精品红| 色综合久久久久综合99| 久久久久亚洲精品男人的天堂| 久久久久久狠狠丁香| 国产精品久久精品| 久久精品毛片免费观看| 国内精品伊人久久久久| 久久国产精品久久久| 久久国产精品久久国产精品| 国产91久久综合| 精品久久久久久无码中文字幕| 一本大道久久a久久精品综合|