什麼是負面測試(帶示例的測試用例)?


負面測試

負面測試 是一種 軟體測試,它檢查軟體程式是否存在意外的輸入資料和情況。異常資料或情況可能包括從不正確的資料型別到強大的網路安全漏洞。負面測試的目的是防止軟體應用程式因負面輸入而發生故障,並提高質量和穩定性。

我們只能透過進行 正面測試 來確保我們的技術在正常情況下有效。為了建立無錯誤的系統,我們必須確保我們的系統能夠處理意外情況。

在本教程中,您將學習以下內容:

  • 什麼是負面測試?

  • 負面測試示例

  • 為什麼要進行負面測試?

  • 如何進行負面測試

  • 負面測試的優點

  • 負面測試的缺點

負面測試示例

考慮一下電梯的情況,這是一個眾所周知的負面測試示例。

我們都熟悉電梯的操作。這些將被定義為電梯要求,例如按下樓層號按鈕以允許電梯移動到該特定樓層。

當電梯到達目標樓層時,門開啟,依此類推。

讓我們看看電梯的一些最壞情況可能性。其中一些包括:

負面測試正面測試
如果人數(重量)超過最大允許值會發生什麼?假設只有規定數量的人會使用電梯。
如果有人在電梯內吸菸或引發火災會發生什麼?電梯內部不會有煙霧或火災。
如果機器執行時斷電會發生什麼?電梯執行期間不會斷電。

所有這些情況都將進行負面測試。所有這一切的意義在於,我們不能保證所有這些都不會發生,因此我們必須限制它們。

檢視以下場景:檢查重量情況,如果存在超重情況,電梯執行異常。這可能會影響系統的可靠性,並可能危及人員的生命。這描述了什麼是負面測試以及為什麼它很重要。

軟體中使用了相同的邏輯。我們偏離了負面測試的標準操作程式。讓我們看幾個例子。

例如,一個登錄檔單。

負面測試正面測試
在電子郵件欄位中插入錯誤的電子郵件地址。在電子郵件框中,只會插入真實的電子郵件地址。
在聯絡電話框中,嘗試輸入虛假的電話號碼(字元)。在數字欄位中,只會插入數字。
新增大小超過給定限制的影像。只會上傳大小小於設定限制的照片。
在圖片上傳部分,上傳錯誤的檔案,例如 XML、SQL 等。僅提交有效的圖片格式,例如 jpg、png 等。

如前所述,我們必須確保我們的系統能夠在所有這些不希望出現的場景下都能成功執行。考慮以下場景:有人在數字欄位中輸入字元,系統無法解釋異常輸入,因為它正在預期一個數字,並且系統出現故障。那麼如果有人嘗試 SQL 注入並從資料庫中刪除我們所有資料呢?這種潛在的損害對我們來說是無法承受的。因此,負面測試至關重要。

為什麼要進行負面測試?

由於測試需要時間和資源,因此確定“什麼”、“如何”和“多少”進行檢查至關重要。我們必須做出明智的決定,以確定是否在我們的系統中進行負面測試。因此,讓我們仔細看看為什麼負面測試如此重要。

組織視角

企業的職責是向客戶提供高質量的產品。需要負面測試才能實現這一點。

在發生故障的情況下,負面測試是確認過程的一部分。

我們可能無法構建一個完全無錯誤的技術,但我們必須確保我們已採取一切可能的措施來避免故障,為此,我們必須進行負面測試。

我們必須檢查的一個因素是影響。假設我們已經對電子商務網站進行了正面測試,以確保一切正常。但是,如果我們的系統確實存在缺陷,允許某人執行 SQL 注入並清除我們的所有資訊會怎樣?那將是重大的安全漏洞。負面測試也旨在阻止此類情況的發生。

對於面向公眾的應用程式,主要是網站,我們必須始終牢記我們對應用程式的使用方法沒有太多控制權,因此我們必須進行負面測試,以確保所有此類場景都得到覆蓋和控制。

另一個需要記住的要點是,現在有很多駭客在尋找機會破壞系統。負面測試涵蓋了一種稱為駭客攻擊的關鍵情況。

客戶視角

客戶通常希望獲得零風險的產品,因此需要負面測試。如果產品至關重要,例如電子商務或線上股票,則需要安全性和負面測試。

公司對負面測試的主要關注點是成本。但是,在評估影響後,由客戶決定是否進行負面測試。

如何進行負面測試?

為了進行負面測試,我們必須評估所有可能的情況。也就是說,如果可能,我們必須將其包含在測試用例中,即使這不是使用它的正確方法。例如,當我們看到一個電子郵件框時,請考慮除實際電子郵件格式之外的所有可能條目。同樣,如果我們看到一個圖片上傳框,我們必須使用每個可用的檔案來驗證它。

在構建負面測試用例時,我們必須優先考慮輸入;否則,將會有大量的示例。例如,在一個僅允許“.png”檔案的影像欄位中,我們可以有多種上傳選項,例如“jpeg”、“XML”、“Xls”等。因此,我們必須優先考慮這些選項。例如,XML 和 SQL 可能比 jpeg 和 xls 具有更高的影響力,因此我們應該首先針對 SQL 和 XML 場景。在這種情況下,我們必須在執行之前優先考慮這些例項,以節省測試的時間和成本。

負面測試的優缺點:

負面測試,就像所有其他測試方法一樣,都有優點和缺點,這些優點和缺點主要由“在哪裡”、“何時”和“如何”使用它們來決定。讓我們仔細看看這一點。

負面測試的優點

  • 由於我們都明白,負面測試對於確保產品質量至關重要。為了保證負面測試非常重要,優質產品是零風險產品。

  • 負面測試確保所有可能的情況都得到解決。負面測試用例可能是有意或無意產生的。因此,為了確保所有例項都得到解決,我們必須進行正面和負面測試。

  • 負面測試將在上線前為客戶提供更大的信心。

負面測試的缺點

  • 在某些情況下,軟體工程中的負面測試是浪費金錢和精力的。在許多情況下,不需要進行強烈的負面測試。例如,如果一個應用程式是為單個使用者設計的,我們不必探索 100 個使用者同時使用該系統的後果。因此,在負面測試場景中選擇標準至關重要。在某些情況下,我們不需要對特定系統進行負面測試。

  • 負面測試用例必須由受過教育的專業人員建立。

  • 根據客戶的說法,負面測試是導致不必要的釋出延遲和成本的另一個來源。

  • 有可能一個團隊會將更多工作和注意力投入到負面測試中。測試人員可能會將大量時間和資源投入到負面測試中,從而導致對正面測試的關注減少。

更新於: 2024 年 10 月 30 日

2K+ 次檢視

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.