什麼是軟體測試中的域測試?
域測試是一種測試過程,其中對軟體進行測試以確保其不接受無效或超出範圍的值。對輸出進行測試以針對最少數量的輸入,以檢視系統是否在所需範圍內接受輸入。白盒測試是域測試的完美示例。
什麼是白盒測試?
在此過程中,測試工程師測試內部結構、編碼和軟體設計,確保其符合輸入-輸出流。它還確定軟體的設計、可用性和整體安全性。由於程式碼對測試人員可見,因此白盒測試也稱為透明盒、透明盒、玻璃盒和基於程式碼的測試。這是因為白盒測試允許測試人員穿透應用程式的外殼並檢視其內部結構。
白盒測試和黑盒測試都屬於軟體測試。區別在於,在黑盒中,軟體是根據其外部和終端使用者視角進行測試的。然而,在白盒中,測試是為了分析產品的內部結構。
域測試策略
一個特定的邊界定義每個域。在測試期間,測試人員分析這些邊界附近的每個點。每個測試過程都從一個問題開始,而域測試的目的是找到這些問題的解決方案。
- 為測試過程選擇哪些域?
- 應該為測試選擇哪些值?
- 如何將值分組到類中?
- 如何獲得結果?
域測試示例
假設大廳裡有一群學生。根據他們的年齡和性別輸入,他們被分配了一系列任務。在這裡,您可以將大廳視為測試,將年齡組視為具有多種可能場景的邊界值。
以下列方式向學生分配任務:
10 歲以下的學生被要求畫畫。
- 10 >= 15 歲的男孩被要求參加比賽
- 10 >= 15 歲的女孩被要求參加體育運動
- 15 歲以上的男孩被要求跳舞
- 15 歲以上的女孩被要求唱歌
- 剩餘 > 15 的學生被要求進行演示
在擁有上述演算法後,測試人員需要將值分組到類中。您可以將學生分類為年齡組,然後設定邊界值,例如最高和最低年齡值。
在域測試中測試哪些域?
您可以測試任何包含輸入和輸出功能的域。首先,您需要輸入輸入值並驗證輸出。
如何將值分組到類中?
為了將值分組到類中,您需要將值劃分為子集。
您可以透過兩種方式劃分值:
等價劃分
在此過程中,您必須將一組測試條件劃分為組或集合,以便系統以等效的方式處理它們。簡而言之,系統應將這些分割槽視為相同。
示例
變數 | 有效類等價類 | 無效類等價類 | 邊界和特殊情況 |
---|---|---|---|
X | 0-20 | 0 | |
20 | |||
<0 | -1 | ||
>20 | 21 |
說明 - 如果某個欄位接受 0-20 之間的範圍,則它不應接受無效條目和超出邊界條目,例如 -1 和 21。
該欄位應僅接受 0、20 和它們之間的任何數字。
邊界測試
邊界測試分析或 BVA 是一種測試分割槽之間邊界的過程。在此過程中,您必須測試分割槽中有效和無效的輸入值。
示例 - 假設您正在透過線上平臺訂購三明治,並且系統要求您輸入您打算訂購的三明治數量。現在,規則是單個客戶最多隻能訂購 10 個三明治。
因此,當您輸入 1 到 10 的值時,它被認為是有效的。將顯示成功訊息。
如果您選擇 11 到 99,則會被視為無效,從而導致錯誤訊息。
在域測試中測試了哪些類的值?
您需要邊界值來測試類的值。
從先前案例派生的示例。
測試條件:
- 三明治欄位中 Number > 10 無效。
- Number > 1 被認為是無效的。
- Number 1 到 10 有效。
- 三位數無效。
如何確定結果?
輸出結果是透過領域知識確定的。
如何制定域測試結構?
預先分析在設定邊界時可能出錯的地方
制定處理每種情況的策略
進行錯誤測試的檢查點
使用一個測試點評估相鄰域
取消不必要的測試點
- 執行測試
- 檢查邊界中的錯誤
驗證每個邊界都無缺陷
領域知識
領域知識是一套技能,表明您對特定領域有深刻的瞭解,並且熟悉該領域的所有已知術語。除了準確性之外,它還有助於透過縮短開發時間來縮短交付週期。
對於域測試,擁有領域知識是否重要?
對於專家進行域測試,擁有至少基本的領域知識非常重要。
領域知識至關重要,因為每個行業或領域都是獨一無二的,並且有其特定的要求。
零售 - 在零售領域,工作流程在不同的層面執行。因此,希望在零售領域執行域測試的測試工程師必須瞭解倉庫管理、店內解決方案等方面的工作原理。
網上銀行 - 線上支援包括多項依賴於網際網路的關鍵活動,例如登入、轉賬、賬單支付等,這與零售完全不同。
醫療保健 - 處理醫療保健領域非常關鍵,因為它對某人的生命構成巨大風險。此外,它還包括許多瑣碎但耗時的任務,例如患者的輸入、健康史、處方、設定和修改時間表、保險等。
如您所見,每個域都有其自身獨特性和挑戰。因此,如果沒有特定領域的領域知識,測試人員就無法進行域測試。