狀態轉換測試



軟體測試大體上分為白盒測試黑盒測試。在黑盒測試中,軟體生成的結果會根據輸入資料集進行測試。狀態轉換測試是黑盒測試下的一個概念。它是一種測試設計技術,可用於推匯出經過多個狀態的軟體功能的測試用例。

什麼是軟體狀態轉換測試?

進行軟體狀態轉換測試是為了驗證軟體在不同輸入下的狀態變化。如果提供輸入的條件發生變化,那麼軟體的狀態也會相應更新。

軟體狀態轉換測試屬於黑盒測試,用於驗證軟體在特定順序輸入多組輸入條件下的特性。它包括對正向和負向流程的驗證。在需要驗證軟體的各種狀態轉換的情況下,會採用這種型別的測試。

軟體狀態轉換測試的目標

狀態轉換測試的目標如下:

  • 進行狀態轉換測試是為了檢測軟體的多個階段。這些階段與軟體內的特定標準相互關聯。
  • 狀態轉換測試有助於建立狀態轉換圖,該圖描述了軟體的多個階段及其變化。
  • 狀態轉換測試有助於驗證軟體在不同情況下是否會轉移到正確狀態。
  • 狀態轉換測試有助於驗證軟體的起始狀態和結束狀態是否正確。
  • 進行狀態轉換測試是為了檢查軟體對意外情況的反應。

軟體狀態轉換測試的組成部分

軟體狀態轉換測試的組成部分如下:

狀態 - 由圓角矩形表示,描述軟體的條件。每個狀態都表示狀態轉換圖中的一個節點,其中一個節點指向特定的狀態/條件。

轉換 - 由箭頭表示,用於指示當軟體對事件做出反應時,從一個狀態到另一個狀態的變化。

事件 - 在轉換箭頭上方標記。事件是導致軟體狀態發生變化的活動。

動作 - 由訊息框表示。動作是軟體在狀態發生變化時生成的一個特性。

軟體狀態轉換測試的優點

軟體狀態轉換測試的優點如下:

  • 狀態轉換測試有助於建立狀態轉換圖,該圖清晰地描繪了所有軟體狀態,並有助於實現更好的溝通、文件編制和對完整軟體的理解。
  • 狀態轉換測試是一種良好的測試用例設計技術,可以包含正向和負向流程。
  • 透過驗證軟體狀態中的每個轉換,狀態轉換測試有助於在軟體開發生命週期 (SDLC) 的早期階段檢測缺陷。

軟體狀態轉換測試的缺點

軟體狀態轉換測試的缺點如下:

  • 狀態轉換測試可能會遺漏軟體的某些狀態。
  • 狀態轉換測試不包括對所有可能的輸入資料集組合進行測試。
  • 如果在狀態轉換測試中遺漏了任何狀態,則會導致測試覆蓋率不完整。

示例

讓我們以一個銀行應用程式為例,我們將在其中為以下列出的登入模組功能建立狀態轉換圖:

  • 使用者在第一次嘗試時輸入正確的憑據,使用者登入到銀行系統。
  • 使用者在第二次嘗試時輸入正確的憑據,使用者登入到銀行系統。
  • 使用者在第三次嘗試時輸入正確的憑據,使用者登入到銀行系統。
  • 使用者在第四次嘗試時輸入正確的憑據,使用者的憑據被鎖定。
Software State Transition Testing

可以從上述狀態轉換圖中設計的測試用例總數如下:

測試用例 1 - 使用者位於登入頁面,然後在第一次嘗試中輸入正確的憑據,導致成功登入。

測試用例 2 - 使用者位於登入頁面,然後在第二次嘗試中輸入正確的憑據,導致成功登入。

測試用例 3 - 使用者位於登入頁面,然後在第三次嘗試中輸入正確的憑據,導致成功登入。

測試用例 4 - 使用者位於登入頁面,然後在第三次嘗試中輸入不正確的憑據,導致帳戶被鎖定。

結論

本教程對軟體狀態轉換測試進行了全面介紹。我們首先介紹了什麼是軟體狀態轉換測試,軟體狀態轉換測試的目標是什麼,軟體狀態轉換測試的組成部分是什麼,軟體狀態轉換測試的優點是什麼,軟體狀態轉換測試的缺點是什麼,以及狀態轉換測試的示例。這使您能夠深入瞭解軟體狀態轉換測試。明智的做法是不斷練習所學內容,並探索與軟體測試相關的其他內容,以加深理解並拓寬視野。

廣告

© . All rights reserved.