什麼是系統測試?(定義、型別、示例)
在軟體測試中,什麼是系統測試?
系統測試是指測試整個系統。所有模組/元件都連線在一起,以檢視系統是否按計劃執行。系統測試在整合測試之後進行。這對於生成高質量輸出至關重要。
系統測試示例
汽車製造商不會整體制造汽車。汽車的每個元件,例如座椅、方向盤、後視鏡、制動器、電纜、發動機、車身結構和車輪,都是獨立製造的。
製造每個部件後,都會單獨對其進行測試,以檢視其是否按預期執行。這稱為單元測試。
現在,當每個部件與另一個部件整合時,會測試完成的組合,以檢視元件的組裝是否對每個部件的功能產生了任何副作用,以及這兩個部件是否按預期一起執行,這稱為整合測試。
當所有部件都組裝好,汽車似乎已準備就緒時,情況並非如此。
必須根據要求檢查整車的各個方面,例如汽車能否平穩行駛,制動器、齒輪和其他功能是否正常工作,連續行駛 2500 英里後汽車是否沒有疲勞跡象,汽車的顏色是否被廣泛接受和喜愛,以及汽車能否在任何型別的道路上行駛,包括平坦和崎嶇、泥濘和筆直的道路等。所有這些測試工作稱為系統測試,並且
示例按預期執行,客戶對系統測試所需的工作量感到滿意。
系統測試——方法
它在整合測試完成後進行。
它主要是一種黑盒測試。這種測試使用規範文件,從使用者的角度評估系統的功能。它不需要任何內部系統專業知識,例如程式碼設計或結構。
它包括功能性和非功能性應用程式/產品領域。
系統測試的目的是什麼?
完成完整的測試周期至關重要,而 ST 是完成此任務的階段。
系統測試在與生產環境類似的環境中進行,使利益相關者能夠全面瞭解使用者的響應。
它減少了部署後進行的故障排除和支援呼叫的數量。
在 STLC 的這個級別,應用程式架構和業務需求都將得到測試。
系統測試至關重要,在為客戶提供高質量產品方面發揮著關鍵作用。
如何執行系統測試?
它本質上是軟體測試的一個子集,測試計劃應始終為其留出空間。
要測試整個系統,需求和期望必須明確,測試人員還必須瞭解程式在即時中的使用方式。
此外,系統的功能、效能、安全性、可恢復性和可安裝性都受到最常用的第三方工具、作業系統版本、風格和架構的影響。
因此,清晰地瞭解程式將如何使用以及在即時環境中可能遇到的哪些挑戰,可能對測試系統有所幫助。此外,需求文件與理解程式一樣重要。
清晰且最新的需求文件可以避免測試人員產生大量誤解、假設和疑問。
總而言之,清晰簡潔的需求文件(包含最新的修訂版),以及對即時應用程式使用的瞭解,可以幫助提高 ST 的效率。此測試以系統且有組織的方式進行。
系統測試型別
ST 被稱為所有型別測試的超集,因為它涵蓋了所有主要型別的測試。儘管對不同型別測試的重視程度會根據產品、組織流程、時間表和需求而有所不同。
總的來說,可以概括如下:
**功能測試**——確保產品的功能符合既定標準,同時保持在系統的功能範圍內。
**可恢復性測試**——確保系統能夠從各種輸入錯誤和其他故障場景中恢復。
**互操作性測試**——確定系統是否與第三方產品相容。
**效能測試**——驗證系統在不同條件下的效能特徵。
**可擴充套件性測試**——確保系統可以在使用者擴充套件、地域擴充套件和資源擴充套件等方面進行擴充套件。
**可靠性測試**——確保系統可以在更長的時間內執行而不會出現故障。
**迴歸測試**——確保系統在整合各種子系統和執行維護任務時的穩定性。
測試系統使用者指南和其他相關幫助文件,以確保其有效且有用。
進行安全測試以確保系統不允許未經授權訪問資料和資源。
進行可用性測試以確保系統易於使用、理解和執行。
更多系統測試型別
**圖形使用者介面 (GUI) 測試**——GUI 測試用於檢視系統的圖形使用者介面 (GUI) 是否按計劃執行。圖形使用者介面 (GUI) 是使用者使用程式時看到的內容。測試按鈕、圖示、複選框、列表框、文字框、選單、工具欄、對話方塊和其他 GUI 元素。
**相容性測試**——相容性測試確保生成的產品與各種瀏覽器、硬體平臺、作業系統和資料庫相容,如需求規範中所述。
**異常處理**——異常處理測試是為了確保即使產品遇到意外故障,它也會顯示相關的錯誤訊息,並且不會導致程式停止。異常處理方式使得錯誤顯示的同時,產品恢復,並且系統能夠完成錯誤的事務。
**批次測試**——批次測試是一種非功能測試,它使用大量資料進行測試。例如,為了測試系統的效能,會增加資料庫的資料量。
**壓力測試**——壓力測試涉及增加應用程式上的使用者數量(同時),直到程式失敗。這樣做是為了檢視應用程式是否會在任何時候失敗。
**健全性測試**——釋出包含程式碼或功能更改的版本時,或者修復問題時,都會進行健全性測試。它確保所做的修改不會影響程式碼,並且不會因此出現新的問題,並且系統繼續正常執行。如果出現問題,則該版本將不會被批准進行進一步測試。為了節省時間和金錢,不會對版本進行嚴格的測試,這會導致由於發現問題而拒絕該版本。健全性測試針對的是已解決的特定修改或問題,而不是整個系統。
**冒煙測試**——冒煙測試是一種對版本進行的測試,以檢視其是否可以進一步測試。它確保版本已準備好進行測試,並且所有重要功能都能正常執行。冒煙測試對整個系統進行,從頭到尾。
**探索性測試**——顧名思義,探索性測試就是對應用程式進行調查。探索性測試不包括任何指令碼測試。在測試的同時,編寫測試用例。它強調實施而非準備。測試人員可以自由地獨立進行測試,依靠他的直覺、經驗和智慧。與使用結構化方法執行測試的其他方法相比,測試人員可以選擇任何特性先進行測試,即他可以選擇隨機測試特性。
**隨機測試**——隨機測試是未經計劃的測試,在沒有任何文件或準備的情況下進行。測試人員在沒有任何測試用例的情況下測試應用程式。測試人員的目標是破壞應用程式。為了發現應用程式中的主要缺陷,測試人員依靠他的專業知識、猜測和直覺。
**安裝測試**——安裝測試的目的是確保程式正確安裝。程式的安裝是使用者與產品的第一次互動,因此它是測試中最關鍵的階段。所需的安裝測試型別取決於許多因素,包括作業系統、平臺、軟體分發等等。
結論
系統測試非常重要,因為如果做得不好,在現實世界中可能會出現嚴重的問題。
必須確認系統整體的屬性。任何網頁都是一個基本的例子。如果測試不足,使用者可能會發現網站非常遲緩,或者如果大量使用者同時登入,網站可能會崩潰。
在檢查整個網站之前,無法檢查這些功能。