端到端測試
可以說最有價值的測試是端到端 (E2E) 測試。E2E 測試模擬整個軟件產品堆棧中的用戶級體驗。E2E 測試計劃通常涵蓋用戶級別的故事,例如:“用戶可以登錄”“用戶可以存款”“用戶可以更改電子郵件設置”。這些測試對于實施非常有價值,因為它們可以保證真實用戶擁有流暢的無錯誤體驗,即使在推送新提交時也是如此。
E2E 測試工具捕獲并重放用戶操作,因此 E2E 測試計劃隨后成為關鍵用戶體驗流程的記錄。如果軟件產品缺乏任何類型的自動化測試覆蓋率,那么通過對最關鍵的業務流實施端到端測試,它將獲得最大的價值。E2E 測試在捕獲和記錄用戶流序列之前可能會很昂貴。如果軟件產品沒有進行快速的每日發布,那么讓人工團隊通過 E2E 測試計劃手動執行會更經濟。
單元測試
顧名思義,單元測試涵蓋單個代碼單元。代碼單元最好在函數定義中度量。單元測試將涵蓋單個功能。單元測試將斷言函數的預期輸入與預期輸出匹配。具有敏感計算的代碼(因為它可能與金融、醫療保健或航空航天有關)最好由單元測試覆蓋。單元測試成本低、實施速度快,并提供高投資回報。
集成測試
很多時候,一個代碼單元會對第三方服務進行外部調用。正在測試的主要代碼庫將無法訪問此 3rd 方實用程序的代碼。集成測試處理模擬這些 3rd 方依賴項并斷言與它們交互的代碼按預期運行。
集成測試在編寫方式和工具方面類似于單元測試。集成測試可以作為 E2E 測試的廉價替代方案,但是,當單元測試和 E2E 的組合已經到位時,投資回報是有爭議的。
性能測試
在軟件開發的上下文中使用時,“性能”用于描述軟件項目反應的速度和響應能力。性能指標的一些示例是:“頁面加載時間”、“首次呈現時間”、“搜索結果響應時間”。軟件性能測試為這些示例案例創建測量和斷言。自動化性能測試將跨這些指標運行測試用例,然后提醒團隊注意任何回歸或速度損失。