• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    為何要進行白盒測試[1]

    發布: 2010-6-02 11:34 | 作者: 不詳 | 來源: 領測測試網采編 | 查看: 98次 | 進入軟件測試論壇討論

    領測軟件測試網

      為何要進行白盒測試[1]   軟件測試

      軟件白盒測試是一個與黑盒測試相對的概念,是指測試者針對可見代碼進行的一種測試。白盒測試通常再劃分為單元測試、集成測試兩大類,但依據不同的流程,對白盒測試細分的標準也不盡一致,比如在IBM的IPD流程之下,白盒測試可能劃分為如下幾類:模塊單元測試、模塊集成測試、模塊系統測試、漸增Build集成測試、系統集成測試等。而在XP實踐中,單元測試與集成測試之間的界限并不明顯,統稱為漸增迭代測試。

      一、從一個比喻開始

      為什么要做白盒測試?這個問題比較復雜,我們先從一個比喻開始講起。

      假設有一臺的面包機,從上面倒入面粉與水,開動機器后從下面出來的就是烤好了的面包,這個機器的功能比較單一,接口很清晰,輸入是面粉與水,輸出是面包,F在假定這個面包機多年未用,內部都生銹了,現在要清洗它,類似于我們開發的軟件,軟件有Bug,那得通過測試來清理。

      那如何更快速的清洗這臺面包機呢?有兩種洗法,一是拿水從上往下灌,這是系統測試的方法。另一種是拆開來洗,拆開機 器后,拿抺布沾點清潔劑,把各零件的坑坑槽槽擦洗一遍,然后組裝回來,再用水從上往下沖一遍,拆開來洗是白盒方法,組裝回來用水沖是黑盒方式,相當于白盒 測試之后再追加一次系統測試。

      無疑,上面第二種方法是正確的,我們的前提是:清洗多年未用的面包機,鐵銹夠多,如果洗不干凈,造出的面包都是致癌物質。當然,清洗面包機還只能算簡單勞動,清理軟件中的Bug要復雜得多,一個if語句有兩條分支,一個while循環判斷也是兩條分支,還有break、continue、return等,想想看,一個1萬行規模的軟件能有多少個分支!一個分支就是一條坑坑槽槽,而且軟件Bug還具備動態特性,不是靜止的明擺在哪兒。

      所以,軟件的白盒測試不可或缺,因為遺留Bug的影響很大,就像面包機沒洗凈留鐵銹會致癌,還因為軟件系統遠比面包機復雜,不拆開來怎么能洗干凈!

      二、白盒測試是高效測試

      盡管白盒測試如此重要,為什么還有許多企業不愿做白盒測試,有一個很重要的原因是:認為白盒測試太低效,不值得去做。

      實際上這種觀點有許多誤解成分,首先,決策者評估各階段測試的有效性,僅以發現問題的數量為依據,這好比銹蝕斑斑的面包機,第一次沖水下去,看到大量濁水流出就很有成就感,其實這只是表象,思維方式有不足:把發現問題與解決問題割裂開來了。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: 白盒

    21/212>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>