1.功能測試
它是一種軟件測試,用於檢查軟件應用程序的功能是否符合需求。每個函數的測試方法是提供一個值,確定輸出,並將實際輸出與功能測試中的期望值進行比較。功能測試,通常稱為黑盒測試,用於確保應用程序或係統的功能按預期運行。執行該命令是為了確保應用程序能夠正常工作。
因為它關注的是應用程序規範而不是實際代碼,所以功能測試通常被稱為黑盒測試。
功能測試的目標
功能測試的目標是驗證主入口功能(必須是可用的)以及屏幕GUI的流程。在功能測試期間顯示錯誤消息,以便用戶可以快速瀏覽程序。
什麼是功能測試,它是如何工作的?
在功能測試中,測試人員遵循以下流程:
- 在軟件應用程序中,測試人員驗證需求規範。
- 在分析需求之後,需求規格測試人員將設計一個策略。
- 測試人員將在準備測試之後設計測試用例。
- 在設計測試之後,用例測試人員將創建一個可跟蹤矩陣文檔。
- 測試人員將把測試用例設計付諸行動。
- 覆蓋分析,查看應用程序覆蓋的測試區域。
- 缺陷管理負責缺陷的解決。
在功能測試中測試什麼?
功能測試的基本目標是確保軟件係統正常工作。它著重於以下方麵:
- 基本可用性:功能測試包括係統可用性測試。它決定了一個人是否可以在屏幕上自由導航而不遇到麻煩。
- 可訪問性:功能測試檢查功能的可訪問性。
- 主線功能:主要功能是測試主要功能。
- 錯誤條件:功能測試用於確定是否發生了錯誤。它決定是否顯示錯誤消息。
下圖描述了整個功能測試過程:
功能測試的類型
單元測試是一種軟件測試,其中分別檢查軟件的每個單元或組件。單元測試檢查應用程序的幾個方麵,功能測試也是單元測試的結果,因為單元測試保證每個模塊都能正常工作。
單元測試由開發人員完成。單元測試在應用程序的開發過程中進行。
冒煙測試:煙霧測試是功能測試的一種方法。在煙霧測試中,隻測試係統的基本功能。“構建驗證測試”是煙霧測試的術語。煙霧測試的目的是保證最關鍵的功能能夠運作。
健全性測試需要確保整個高級業務場景正常運行。執行完整性測試是為了確保功能和問題已經得到解決。健全測試是煙霧測試的一個升級。
例如,登錄正常;所有按鈕功能正常;點擊按鈕後,頁麵導航是否完成。
回歸測試:這類測試的重點是確保代碼更改不會對係統現有功能產生不利影響。回歸測試可以確定一個錯誤在修複後是否會在係統中再次出現。它關注的是係統的所有元素是否都在運行。
集成測試:在集成測試中,將單個單元合並並作為一組進行評估。該測試的目標是揭示集成組件交互中的任何缺陷。它由開發人員和測試人員共同完成。
白盒測試:透明盒測試、基於代碼的測試、結構測試、綜合測試、玻璃盒測試和透明盒測試都是用來描述白盒測試的術語。它是一種軟件測試方法,在這種方法中,測試人員知道被測試的內部結構、設計和實現。
白盒測試需要檢查組件或係統的內部結構。
黑盒測試:行為測試是它的另一個名字。在測試過程中,測試人員不知道內部結構、設計和實現。功能測試是這種測試形式的名稱。這種類型的測試被稱為黑盒測試,因為測試人員無法看到內部代碼。
例如,一個不熟悉網站底層結構的測試人員可以通過使用web瀏覽器提供輸入並將輸出與期望的結果進行比較來測試網頁。
用戶驗收測試:這是一種由客戶端為了確認係統符合要求而進行的測試。在將程序發布到市場或生產環境之前,測試的最後階段是用戶可接受性測試。UAT是一種黑盒測試,涉及兩個或多個終端用戶。
重新測試:重新測試是一種測試類型,用於確保在最終執行中失敗的測試用例在缺陷被修複後通過。當測試人員在測試產品或組件時發現bug時,通常會分配該bug。一個開發人員被分配去處理這個錯誤,他去修複它。bug修複後,將分配給測試人員進行驗證。
數據庫測試檢查所檢查的數據庫的模式、表、觸發器和其他方麵。數據庫測試可能需要編寫複雜的查詢來加載/壓力測試數據庫,並確保它是響應性的。它驗證了數據的準確性和一致性。
臨時測試是一種非正式的測試,其目標是破壞係統。這是一種沒有計劃的軟件測試類型。測試用例不是根據任何測試設計創建的。在任何時候對應用程序的任何組件進行特別測試;它不提供任何類型的係統測試。
恢複測試:恢複測試的目的是確定應用程序如何成功地從崩潰、硬件故障和其他問題中恢複。恢複測試的目標是確保係統可以從測試失敗中恢複。
靜態測試是一種軟件測試技術,它允許我們在不運行軟件的情況下檢查軟件中的錯誤。靜態測試用於在開發的早期階段避免錯誤,此時更容易發現故障。靜態測試用於檢測動態測試中無法檢測到的錯誤。
2.非功能性測試
非功能測試是一種軟件測試,它關注軟件的非功能方麵,如可靠性、負載測試、性能和可靠性。非功能測試的主要目標是使用非功能標準來評估軟件係統的讀取速度。在進行功能測試之前,從未對其參數進行測試。
在確保客戶滿意度方麵,它和功能測試一樣重要。
舉例來說,可以檢查有多少人可以同時在一個軟件上工作。
為什麼要進行非功能測試
對於新設計的軟件,需要進行功能測試和非功能測試。非功能測試驗證在外部環境中工作的能力,而功能測試驗證內部功能的有效性。
它為程序的安裝、配置和使用鋪平了道路。它用於收集和提供用於內部研究和開發的測量和指標。
它提供了關於產品行為和技術的深入信息。它有助於降低軟件的製造風險和相關費用。
非功能測試下要測試的參數
性能測試
性能測試確定了軟件緩慢和有限性能的來源。軟件的讀取速度應該盡可能快。
必須為性能測試創建結構良好且明確的預期速度規範。否則,測試的結果(成功或失敗)將是模糊的。
負載測試
在負載測試中測試了係統的加載能力。加載能力是指同時在係統上工作的人數。
安全性測試
執行安全測試以識別軟件應用程序的安全問題。測試是通過觀察係統設計以及攻擊者的心態來進行的。找出最有可能發生攻擊的代碼區域是執行測試用例的方法。
可移植性測試
該軟件的可移植性測試用於測試它是否可以在各種操作係統上運行而不產生問題。此測試還檢查當操作係統相同而硬件不同時軟件的功能。
問責製測試
問責製測試的目的是看係統是否正常工作。函數應該產生與它所編寫的函數相同的結果。如果係統給出可預測的o/p,則在測試中通過,否則失敗