標籤:style blog http color 使用 os
知識角:
軟體分為兩部分,一部分是資料,另一部分是程式。資料包括鍵盤輸入,按一下滑鼠,磁碟檔案,列印輸出等;程式是指可執行檔流程,轉換,邏輯和運算。而我們測試最常用的一個方法也是按同樣的方式劃分進行測試。
一、軟體測試的四種方法
軟體測試常用的方法有黑箱測試,白盒測試,靜態測試,動態測試。
先來簡單的瞭解一下它們各自的含義吧:
黑箱測試
又稱功能性測試或行為測試,在完全不考慮程式內部結構和內部特性的情況下,在程式介面進行測試。它只檢查程式功能是否按照需求規格說明書的規定正常使用,程式是否能適當地接收輸入資料而產生正確的輸出資訊。黑箱測試著眼於程式外部結構,不考慮內部邏輯結構,主要針對軟體介面和軟體功能進行測試。
白盒測試
又稱透明盒測試或結構測試或邏輯驅動測試,是按照程式內部的結構測試程式,通過測試來檢測產品內部動作是否按照設計規格說明書的規定正常進行,檢驗程式中的每條通路是否都能按預定要求正確工作,即可以看到盒子裡面。
靜態測試
是指測試不啟動並執行部分,只是檢測和審核。
動態測試
是指通常意義上的測試,使用和運行軟體。
二、交叉後的四種測試
但是黑白盒測試與靜動態測試有時候是有交叉的,為了便於我們清楚明白並且更好的測試,我們將它再次組合細分,分為四種。
靜態黑箱測試
顧名思義,靜態黑箱測試,是指測試軟體不運行時,並且看不到軟體內部結構時的測試。舉例說明,測試產品說明書。不要局限的認為軟體測試只能測試軟體,與軟體聯絡密切的東西也是需要我們軟體測試人員來測試的。比如產品說明書,很重要,它涉及到你的軟體剛投入運行時,客戶的體驗度等問題,不要小瞧產品說明書,把這個測好了,很能說明一個人的能力。
動態黑箱測試
是指測試軟體運行時,但是不知道軟體內部結構時的測試。這裡就涉及到了黑箱測試的很多技巧,比如等價類別的劃分,邊界值的選擇等。
這個時候我們可以從來兩個方面下手測試,資料和程式。資料測試的學問很大,也很細節,在這裡不詳細闡述。然後就是程式的測試,可以根據狀態圖的轉換進行測試。
很多的時候,軟體測試員代表了客戶的利益,所以,測試的時候我們完全可以換位,把自己當成客戶來測試。
靜態白盒測試
是指不執行軟體的條件下有條理的審查軟體設計,體繫結構和代碼,從而找出軟體缺陷的過程,有時也會稱為結構化分析。在開發的初期進行此測試會對整個項目非常的有益。由於此項測試需要大量的準備工作,所以為了我們更加有效測試,現在已經有了很多這樣能夠自動執行大量靜態白盒測試工作的商業軟體,即靜態分析程式。
動態白盒測試
是指利用查看代碼功能和實現方式得到的資訊來確定哪些需要測試,哪些不要測試,如何開展測試。在這裡需要區別動態白盒測試和調試的區別。這兩項從技術表明上看很相似(都包括處理軟體缺陷和查看代碼的過程),但是它們的目標大不相同。動態黑箱測試的目的是尋找軟體缺陷,調試的目標是修複缺陷。
在這裡我們也會涉及到單元測試和整合測試,而且有時候為了測試的更加全面,我們需要執行程式的每個條件,語句,有時候甚至於所有的代碼。這個時候建議大家做好測試案例,然後藉助工具來測試(比如代碼覆蓋分析器)。
小結:
看了這麼多,有些枯燥乏味了,一直都是我在給大家講些基礎性的東西,沒有大家跟我的一起思考,學起來怎麼會有意思?所以在這裡給大家提出一個小小的問題,沒有所謂的標準答案,希望大家各抒己見,我們共同探討!
問題:為什麼說瞭解了軟體的內部的結構會影響我們測試的思路和方法呢?