1.數據流測試
數據流測試是一種檢查軟件中的數據流的技術。它是關於程序中的變量如何處理數據的收集數據的過程。它的目的是獲取有關該過程每一階段的具體信息。
數據流測試是一套檢查程序控製流的方法,目的是調查與事件序列相關的變量序列。數據流可以通過將注意力集中在為變量分配值的點和使用這些值的點上來檢查。
控製流圖用於數據流測試,以發現可能破壞數據流的不合理項。當值和變量相關聯時,數據流中的異常會被注意到,因為:
- 使用變量時無需初始化。
- 如果已經初始化的變量至少沒有使用一次。
2.控製流測試
控製流測試是一種白盒測試方法。這種技術的目標是使用控製結構來確定程序中語句或指令的執行順序。使用程序的控製結構創建程序的測試用例。測試人員在這個技術中選擇一個龐大程序的特定組件來設置測試路徑。單元測試是最常用的。程序的控製圖表示測試用例。
為了指定所有可能的執行路徑,控製流圖由節點、邊、決策節點和連接節點組成。
控製流圖的符號丟棄
- 節點
- 邊緣
- 決策節點
- 連接節點
節點
通過連接控製流圖中的節點來創建過程路徑。本質上,它表示過程將被執行的順序,這樣測試人員可以建立過程將被執行的順序。
在下例中,第一個節點表示啟動過程,下一個過程是分配n的值。分配完值後,有一個決策節點根據n的值確定過程的下一個節點。如果n的值為18或更大,則運行Eligible過程,否則運行Not Eligible過程。連接節點是下一個節點,停止節點是最後一個節點,它終止過程。
邊緣
控製流圖中節點的方向由邊連接。
在下麵的例子中,所有的箭頭都被用來在正確的方向上連接節點。
節點的決策
控製流圖中的決策節點用於根據值確定過程的下一個節點。
如示例決策節點所示,n的值決定了過程的下一個節點。如果n大於等於18,則執行合格程序;或者,如果n小於18,則執行Not Eligible過程。
連接節點
控製流圖中的結點是指至少有3個結點相交的點。
3.分支覆蓋
為了覆蓋控製流圖的所有分支,使用了分支覆蓋技術。它至少一次涵蓋了每個決策點條件的所有可能的結果(真和假)。分支覆蓋方法是一種白盒測試技術,它確保每個決策點的分支都得到了測試。
然而,雖然分支覆蓋和決策覆蓋相當相似,但兩者之間有顯著的區別。分支測試覆蓋了代碼每個決策點的所有分支,而決策覆蓋覆蓋了代碼每個決策點的所有分支。
換句話說,分支覆蓋由決策點和分支覆蓋邊決定。
它使用一個控製流圖來計算分支的數量,就像決策覆蓋一樣
讓我們通過一個例子來理解它:
- 讀X
- 讀Y
- 如果x + y > 100那麼
- 打印“大”
- ENDIF
- 如果X + Y<100 THEN
- 打印“小”
- ENDIF
4.測試語句覆蓋
最常見的軟件測試類型之一是語句覆蓋率。它經過了白盒測試。
使用語句覆蓋技術創建白盒測試場景。該方法需要至少運行一次所有源代碼語句。它用於根據源代碼中的語句總數確定源代碼中執行的語句總數。
在基於代碼結構的白盒測試過程中,語句覆蓋生成測試用例的場景。
白盒測試的重點是內部源代碼的工作以及代碼的流程圖或流程圖。
通常,內部源代碼中有各種各樣的元素,如操作符、方法、數組、循環、控製語句、異常處理程序等等。一些代碼語句會被執行,而另一些則不依賴於提供給應用程序的輸入。語句覆蓋技術的目的是覆蓋所有可能執行的代碼語句和路徑行。
5.測試決定覆蓋
白盒測試使用決策覆蓋技術來提供布爾值決策覆蓋。此方法顯示布爾表達式的真和假結果。當do while、if和case(控製流語句)等語句有可能產生兩個或兩個以上的結果時,它被稱為決策點,因為隻有兩種可能的結果:真或假。
使用控製流圖或圖表,決策覆蓋覆蓋代碼中每個布爾條件的所有可能結果。
在大多數情況下,一個決策點有兩個決策值:一個為真,另一個為假,這就是為什麼可能的總數通常為兩個。將執行結果的數量除以結果的總數,再乘以100,就得到決策覆蓋率的百分比。
用這種方法很難達到100%的覆蓋率,因為表達式有時很棘手。因此,有各種各樣的方法來報告決策覆蓋率。所有這些策略都與決策覆蓋非常相似,因為它們涵蓋了最基本的組合。這些策略的好處是它們提高了控製流的敏感性。