軟體測試技術及測試用例設計示例
軟體測試技術有哪些不同型別?
軟體測試技術可以幫助您建立更有效的測試用例。手動測試技術有助於減少需要執行的測試用例數量,同時提高測試覆蓋率,因為窮舉測試是不可能的。它們有助於檢測可能難以檢測到的測試場景。
邊界值分析 (BVA)
邊界值分析是一種在分割槽交點處進行的測試型別。包括最大值、最小值、內部或外部邊界、典型值和錯誤值。
大量的錯誤發生在定義的輸入值的邊界,而不是中心。它也稱為 BVA,它提供了一組將邊界值進行測試的測試場景。
這種黑盒測試方法是對等價劃分的補充。這種軟體測試方法基於這樣的思想:如果系統對這些特定值執行良好,那麼它將對兩個邊界值之間的所有值執行良好。
邊界值分析指南
如果輸入條件限制在值 x 和 y 之間,則測試用例應包括 x 和 y 值以及 x 和 y 以上和以下的值。
如果輸入條件具有大量值,則應建立一個執行最低值和最大值的測試用例。本節還檢查最小值和最大值以上和以下的值。
將第一和第二條建議應用於輸出條件。它產生一個代表預測的最小值和最大值的輸出。它還檢查低於或高於某個閾值的值。
等價類劃分的示例
等價類劃分將一組測試條件劃分為應以相同方式處理的分割槽。這種軟體測試方法將程式的輸入域劃分為資料類,從中應建立測試用例。
這種方法背後的理念是,每個類的代表值的測試用例與同一類的任何其他值的測試相同。它使您能夠區分有效和無效的等價類。
示例
輸入條件在以下範圍內有效:
從 1 到 10 和從 20 到 30
因此,有五種等價型別。
-- 等於 0(無效)
1 到 10(有效)
11 到 19(無效)
20 到 30(有效)
31 到 --(無效)
您從每個類中選擇值,例如,
-2, 3, 15, 25, 45, 45, 45, 45, 45, 45, 45, 45
使用決策表進行測試。
因果圖也稱為決策表。這種軟體測試方法用於響應各種輸入或事件組合的功能。例如,如果使用者已填寫所有必要資訊,則應啟用提交按鈕。
第一步是識別其輸出取決於多個不同輸入的功能。如果輸入可能性集合很大,則將其分解成更小的子集,以便於管理決策表。
為每個函式建立一個表,並列出所有可能的輸入和輸出組合。這有助於檢測測試人員可能錯過的條件。
建立決策表的步驟如下:
在列中列出輸入。
在列中填寫所有規則。
用各種輸入組合填充表。
在最後一行記錄輸出與輸入組合的關係。
例如,聯絡表單上的提交按鈕僅在終端使用者填寫所有必填欄位後才會啟用。
狀態轉換
在狀態轉換方法中,輸入條件的變化會改變被測應用程式 (AUT) 的狀態。測試人員可以使用此方法測試 AUT 的行為。測試人員可以透過依次輸入各種輸入條件來執行此操作。測試團隊使用狀態轉換方法,透過提供正負輸入測試值來評估系統的行為。
狀態轉換指南
當測試團隊正在評估應用程式的一組有限的輸入值時,應使用狀態轉換。
當測試團隊希望測試在被測應用程式中發生的一系列事件時,應使用此方法。
示例
在以下示例中,如果使用者在前三次嘗試中的任何一次都提供了正確的密碼,則使用者將能夠成功登入。如果使用者在第一次或第二次嘗試中輸入了錯誤的密碼,則會要求使用者重新輸入密碼。當用戶第三次錯誤地輸入密碼時,將採取操作,並且帳戶將被阻止。
白盒或基於結構的方法
基於結構或白盒的方法根據軟體的底層結構建立測試用例。此方法徹底檢查已生成的程式碼。深入瞭解軟體程式碼、其內部結構和設計的開發人員有助於建立測試用例。這種方法有五種不同的型別。
語句測試和覆蓋率
此方法包括至少執行一次原始碼的所有可執行語句。根據指定的需要,確定可執行語句的比例。對於檢查測試覆蓋率,這是最不希望有的統計資料。
決策測試覆蓋率
此方法也稱為分支覆蓋率,是一種測試方法,它透過至少執行每個決策點的所有可能分支來確保所有可到達的程式碼都被執行。這有助於使程式碼的所有分支無效。這確保了沒有分支會導致程式以意外的方式執行。
條件評估
在條件測試(也稱為謂詞覆蓋測試)中,每個布林表示式都被預測為 TRUE 或 FALSE。所有測試結果至少測試一次。這種測試方法確保程式碼完全被覆蓋。測試用例的編寫方式使得條件結果易於實現。
多條件測試
多條件測試的目標是測試所有可能的條件組合以實現 100% 的覆蓋率。需要兩個或多個測試指令碼才能確保全面覆蓋,這需要付出更多努力。
所有路徑評估
此方法使用程式的原始碼來發現每個可執行路徑。這有助於識別給定程式碼中的所有缺陷。
基於經驗的技術
為了理解程式的最關鍵方面,這些方法在很大程度上依賴於測試人員的經驗。參與人員的能力、知識和技能決定了這些程式的結果。以下是基於經驗的技術示例
探索性測試
此方法用於在沒有任何正式文件的情況下測試程式。測試允許的最少時間和測試執行的最大時間。探索性測試同時進行測試設計和執行。
錯誤猜測
測試人員使用此方法根據其過去的經驗、資料可用性和產品故障知識來預測故障。測試人員的能力、直覺和經驗都在錯誤猜測中發揮作用。
錯誤猜測是一種軟體測試方法,它涉及預測程式碼中可能發生的錯誤型別。該方法主要側重於經驗,測試分析師根據其以往經驗猜測測試應用程式中出現問題的部分。因此,為了改進錯誤猜測,測試分析師必須具備熟練的技能和豐富的經驗。
使用這種方法,會統計出一系列可能的錯誤或易出錯的場景。然後,測試人員建立測試場景來揭示缺陷。分析師可以利用以往的經驗,根據這種軟體測試方法來建立設計測試用例的條件。
錯誤猜測指南
測試應基於過去對類似應用程式的測試經驗。
瞭解正在測試的系統
瞭解常見的實現錯誤
還記得過去的一些難點嗎?
分析過去的資料和測試結果
結論
軟體測試技術使您能夠建立更有效的例項。通常採用五種方法。
邊界值分析是一種在分割槽交點處進行的測試型別。
等價類劃分將一組測試條件劃分為應以相同方式處理的分割槽。
對於響應輸入或事件組合的函式,使用決策表軟體測試方法。
在狀態轉換方法中,輸入條件的變化會修改被測應用程式(AUT)的狀態。
錯誤猜測是一種軟體測試方法,它涉及預測程式碼中可能發生的錯誤型別。
提高測試用例效率不是一個簡單的概念,它可以透過完善的方法和持續的實踐來實現。
測試團隊不應厭倦參與此類活動的改進,因為這是在質量領域取得更大成功的最有效武器。全球許多測試公司已在關鍵任務專案和複雜應用程式中證明了這一點。
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP