• <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>
            posts - 319, comments - 22, trackbacks - 0, articles - 11
              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            你真正需要的代碼測試覆蓋率是多少?

            本文是從 How much code coverage do you really need? 這篇文章翻譯而來。

            我寫這篇文章的起因是由于看了@unclebobmartin在微博上的一些看起來言之鑿鑿的話語。給那些不認識Uncle Bob的人介紹一下——他是我們軟件產(chǎn)業(yè)里最著名的一個專家,是《 Clean Code(代碼整潔之道)》這本著作的作者,是敏捷宣言(Agile Manifesto)的簽署人之一。在上世紀九十年代,他對文獻最佳面向?qū)ο髮嵺`方法貢獻了很大的力量。所以,當他說話時,我們一定要關(guān)注一下。

            他給我們?nèi)粘5腡DD和單元測試制訂了一個最高綱領(lǐng)。我們可以從他的微博里清楚的看到這點:

            “兩件事。可重復(fù)性和成本。跟自動化測試比起來,手工測試的成本高的可怕。”

            “手工測試不是測試;那是在做實驗。只要有人的因素牽涉其中,那結(jié)果就必然可疑。”

            “你們告訴我的實際意思就是讓我大開方便之門、不去測試某些程序。哼 …”

            “代碼覆蓋率100%并不是成績,那是最低要求。即使只寫了一行代碼,你也要測試它。”

            他接著把軟件測試跟在其它領(lǐng)域里常見的但被認為很關(guān)鍵的活動進行了比較:

            “戰(zhàn)地外科醫(yī)生也許沒有最夠的時間做嚴格的消毒,但這帶來的風險可能是死亡或高昂的治療代價。”

            “會計難道只會把80%的數(shù)據(jù)表做雙份備份嗎?”

            “有多少回你們都看到了那些嚴重的宕機事故都是因為一些愚蠢的程序員以為那些愚蠢的代碼不需要經(jīng)過測試而導(dǎo)致的?“

            他的所有這些觀點都很有價值,但他只向我們展示了問題的一面。現(xiàn)實中并不是所有的應(yīng)用都需要如此謹小慎微的測試。并不是所有的應(yīng)用都跟戰(zhàn)地手術(shù)或巨額資金核算那么重要。(更不要說在很多情況下的為”合理避稅“而做的帳務(wù):))。

            一個更重要的原因是,100%的測試覆蓋率并不能保證bug的不出現(xiàn)。就連Uncle Bob自己也承認:

            ”測試并不能杜絕bug。但測試能保證程序的行為是符合預(yù)期的。“

            這很顯然指的是:同一個程序員在程序里埋下的概念性或邏輯性錯誤,由他自己測是絕對測不出來的。

            最終,所有的問題歸結(jié)于ROI(投資收回率)和實用主義。有些應(yīng)用比其它應(yīng)用需要更多的測試。有些bug需要比其它bug投入更多的精力去修復(fù)。 究竟是否需要在自動化測試是投入更多的時間和財力,或多少覆蓋率是合適的還是過分了,這都需要人的主觀判斷。

            久久精品人人做人人妻人人玩| 久久精品国产黑森林| 久久久久免费视频| 国产成人精品久久免费动漫| 久久久久久国产精品免费无码| 久久国产劲爆AV内射—百度| 日产精品久久久久久久| 久久久久久久97| 99久久99久久| 色综合久久综精品| 久久噜噜久久久精品66| 亚洲va久久久久| 久久亚洲国产精品成人AV秋霞| 久久亚洲精品无码aⅴ大香| 亚洲熟妇无码另类久久久| 久久国产精品一国产精品金尊| 99久久综合狠狠综合久久止| 99久久无码一区人妻| 亚洲精品NV久久久久久久久久 | 国内精品久久久久影院老司| 国内高清久久久久久| 久久精品国产亚洲AV高清热| 国产精品日韩欧美久久综合| 久久久久久久久66精品片| 久久久久女人精品毛片| 久久国产免费| 亚洲精品美女久久777777| 亚洲国产精品久久| 久久强奷乱码老熟女网站| 国产精品久久久久天天影视| 久久久久无码精品| 久久久久无码精品国产| 久久av高潮av无码av喷吹| 午夜精品久久久久久久| 国产亚洲精午夜久久久久久| 性欧美大战久久久久久久久| 久久免费国产精品| 久久亚洲欧美日本精品| 色88久久久久高潮综合影院| 久久人人爽人人爽人人片AV东京热 | 久久精品中文字幕有码|