軟體測試 - 等價類劃分測試
開發的軟體會經過多個測試階段,以驗證其是否符合規格說明。在黑盒測試中,會驗證軟體針對輸入生成的輸出。等價類劃分是黑盒測試下的一個概念。它是一種將輸入資料範圍劃分為多個類,然後將其轉換為測試類別的技術。
什麼是等價類劃分?
等價類劃分是一種在軟體測試中非常流行的測試設計技術。它使測試人員能夠將輸入資料劃分為多個組。它有助於最大限度地減少測試總數,而不會影響實現良好的測試覆蓋率。它有助於在測試軟體時處理大型測試資料。
如何設定等價類?
如果提供一系列條件作為輸入,則應該有一個有效等價類和兩個無效等價類。如果將特定資料視為輸入,則應該有一個有效等價類和兩個無效等價類。如果從資料範圍中選擇特定輸入,則應該有一個有效等價類和兩個無效等價類。最後,如果選擇布林值作為輸入條件,則應該有一個有效等價類和一個無效等價類。
示例
讓我們以一個電子商務應用程式為例,該應用程式提供以下範圍內的折扣:
Transactions of less than $ 1 are not allowed in the application. For transactions from $1 to $150, a discount of 5 % would be given. For transactions from $151 to $250, a discount of 10 % would be given. For transactions from $251 to $3500, a discount of 25 % would be given. Transactions of more than $ 3500 are not allowed in the application.
等價類劃分 | ||||
---|---|---|---|---|
無效 | 有效 5% | 有效 10% | 有效 25% | 無效 |
>$1 | 1 美元至 150 美元 | 151 美元至 250 美元 | 251 美元至 3500 美元 | < $3500 |
從上面的等價類劃分表中,我們將輸入資料劃分為邏輯上的有效和無效分割槽。此外,我們還可以清楚地瞭解需要測試哪些值才能獲得不同的折扣值。它還有助於確定最佳測試用例數量,以實現最佳測試覆蓋率。
等價類劃分減少了測試隨機值的可能性。我們需要測試無效分割槽較高和較低端的一些值,然後集中測試各個有效分割槽內的一些值。在我們的示例中,對於較低的無效分割槽,我們可以選擇 0.99 美元和 0 美元的值進行測試;對於較高的無效分割槽,我們可以選擇 3506 美元和 4000 美元的值進行測試;對於第一個有效分割槽,我們可以選擇 1 美元和 140 美元的值進行測試;對於第二個有效分割槽,我們可以選擇 152 美元和 250 美元的值進行測試;對於第三個有效分割槽,我們可以選擇 251 美元和 4000 美元的值進行測試。
透過應用等價類劃分,我們可以實現非常好的測試覆蓋率,並且可以驗證電子商務應用程式折扣功能的每個分割槽。因此,我們將不同模組在特定場景中行為相似或邏輯上相等的部分劃分為有效和無效分割槽。然後,在這些分割槽內,無論選擇該範圍內哪些值,輸出都將相同。例如,對於所有交易金額在 1 美元和 150 美元之間的交易,都應該有相同的 5% 折扣。如果將等價類劃分與邊界值分析一起使用,則可以獲得最佳的測試覆蓋率。
為什麼使用等價類劃分?
使用等價類劃分的原因如下:
- 它有助於以設計的最佳測試用例數量實現最佳測試覆蓋率。
- 由於我們只需要建立最佳數量的測試用例,因此可以節省大量時間和精力。
- 它有助於檢測每個等價分割槽的邊界值處的錯誤。
- 它提供重用測試用例的選項。
- 基於等價類劃分的測試用例更容易維護。
等價類劃分的優點
等價類劃分的優點如下:
- 它增強了測試用例的質量和有效性。
- 它有助於提高測試覆蓋率。
- 它節省了大量的測試時間和精力。
- 它可以檢測出軟體中大量的錯誤。
- 它提高了整體軟體質量。
等價劃分法的缺點
等價劃分法的缺點列舉如下:
- 它僅限於輸入資料集及其生成的輸出,而不對軟體的不同元件如何相互互動進行任何驗證。
- 對於複雜和整合場景,很難提出等價劃分。
- 它需要測試人員瞭解軟體才能提出所有等價劃分。
- 雖然等價劃分提供了良好的覆蓋率,但它並不能保證識別軟體中的所有缺陷。
結論
本教程對軟體等價劃分測試進行了全面的講解。我們從描述什麼是等價劃分、如何設定等價劃分、等價劃分的示例、為什麼要使用等價劃分、等價劃分的優點以及等價劃分的缺點開始。這使您能夠深入瞭解軟體等價劃分測試。建議您持續練習所學內容,並探索與軟體測試相關的其他知識,以加深理解並拓寬視野。