白盒測試學習個人總結


  如同之前的隨筆內容所說,常見的軟件測試方法中,如果說黑盒測試就像是面對用戶使用所設計出來的測試,那么白盒測試,就像是面對程序員和軟件設計人員所設計出來的測試了。

  盒子,值得就是程序,白盒,就像其名字一樣,程序對測試而言是透明的。在測試過程中,程序的輸入輸出,結構,運行過程,甚至代碼等都是透明的。所以白盒測試又被稱為結構測試或者透明盒測試。如果說黑盒測試是在測試程序的使用功能的話,那么白盒測試就是在檢測程序的運行機理和過程了。

  所以,在對程序進行白盒測試之前,需要先對程序進行抽象化,將其轉化為流程圖,以方便測試。常見的白盒測試方法有靜態分析測試以及語句覆蓋測試等等。

  覆蓋測試: 

 語句覆蓋是一種常見的測試方法,即度量被測代碼中每個可執行語句是否被執行到了。語句覆蓋往往只檢測與劇中的可執行語句部分,所以其代碼覆蓋率較低,而測試過程中所以得可執行語句分支都得考慮到,所以其效率並不高,其優點在於對測試不需要做出太多的設計,執行起來簡單。

  而為了解決語句覆蓋中重復覆蓋的問題,就出現了另一種叫做分支覆蓋的方法。分支覆蓋又稱判定覆蓋,使得程序中每個判斷的取真分支和取假分支至少經歷一次,即判斷的真假均被滿足。 分支覆蓋具有比語句覆蓋更強的測試能力,而且具有和語句覆蓋一樣的簡單性,無需細分每個判定就可以得到測試用例。然爾程序往往大部分的判定語句是由多個邏輯條件組合而成,但是分支分支覆蓋,僅僅判斷其整個最終結果,而忽略每個條件的取值情況,必然會遺漏部分測試路徑。

  對分支覆蓋對應的是條件覆蓋。與分支覆蓋不同的是,條件覆蓋並非以分支的結果划分,而是以分支的條件划分。條件覆蓋使得每個判斷中的每個條件的可能取值至少滿足一次。條件覆蓋要檢查每個符合謂詞的子表達式值為真和假兩種情況,要獨立衡量每個子表達式的結果,以確保每個子表達式的值為真和假兩種情況都被測試到。

 

  白盒測試意義:

  相對於黑盒測試而言,白盒測試往往復雜且效率較低。但是白盒測試依舊十分重要。白盒測試是對軟件的徹底檢查,就仿佛機器大檢修一樣,能夠正常運行的機器未必內部沒有問題,軟件也是一樣。白盒測試強迫程序員與檢測人員去檢測程序中最細枝末節的地方,發現隱藏的邏輯漏洞與bug,對高質量軟件的產生十分有意義。


  

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM