博客 / 詳情

返回

什麼是端到端測試?

大家好,我是陳哥。

不知道大家有沒有聽過端到端測試?

每個軟件都應該進行端到端測試,以確保其按規定運行。這種測試方法建立了對系統的信心,並幫助開發團隊確定軟件是否已準備好進行生產部署。

在本文,我給大家簡單分享一下端到端測試是什麼,為什麼它很重要,以及如何在軟件項目中有效地實現它。

端到端測試

1.先搞懂,什麼是端到端測試?

端到端測試的核心,是從最終用户視角出發,驗證軟件各模塊在真實場景下能夠正常運行,確保整體功能符合用户使用預期。

舉個大家都熟悉的例子,線上訂電影票。你打開小程序/APP搜電影,選影院、選位置,點提交訂單,最後付款拿到預訂憑證。這一套流程走下來,就是一次端到端測試要覆蓋的。

這麼測不僅能看出來訂影票這個功能全不全,還能直觀感受到用户體驗怎麼樣。比如填信息時會不會老跳轉,支付頁面會不會加載半天,後續也有優化的方向。

在實際操作時,大家可以在禪道軟件中先設計測試用例,這些用例就得照着真實用户的操作流程來做。

詳細瞭解禪道的用例場景功能

跑一遍全流程測試,既能精準找到軟件哪裏出了岔子,還能在上線前把那些藏得深的問題揪出來解決掉,避免軟件真推到生產環境了,用户用的時候出麻煩。

一般情況下,端到端測試會在功能測試、系統測試之後,軟件的主要版本發佈前完成。

大家可以按照70/20/10來劃分,也就是70%的單元測試、20%的集成測試和10%的端到端測試。具體的組合可能因每個團隊而異,但通常應保持金字塔的形狀。
測試金字塔

2.端到端測試的不同階段

我把端到端測試拆為三個階段:規劃、測試、收尾,接下來我們會逐一瞭解這些階段。

(1)規劃:把測什麼想明白

規劃沒做好,後面測試很容易“東一榔頭、西一棒槌”,我們要考慮以下3點:

  • 瞭解業務和功能需求

一個網購APP,用户從搜商品到確認收穫的全流程裏,我們不僅要知道哪些步驟是關鍵、哪些環節容易出問題,還要明白優惠券怎麼疊加、退款流程怎麼走等。後續,設計用例才不會偏。

  • 根據需求制定測試計劃

這裏可以寫清楚測試目標、測試節點、所需資源等,有了計劃,大家做事才有方向。

  • 設計貼合用户場景的測試用例

設計用例時,一定要站在用户角度想:“如果我是用户,這一步我會怎麼操作?我關心什麼?”

給大家看一個例子,這就是一個個典型的測試網購APP軟件的全流程:
端到端測試

(2)測試:先準備再執行

測試階段可分兩步走:先決條件和測試執行。

【先決條件】
在此階段,我們要確保:

  • 所有功能開發都應該完成;
  • 應用程序的所有子模塊和組件都應該集成在一起,並作為一個系統正常工作;
  • 應用程序中所有相關子系統的系統測試都已經完成;
  • 設計用於複製生產設置的暫存環境應完全可操作。這種環境使我們能夠模擬現實世界的場景,並有效地再現類似生產的條件。

完成先決條件後,我們可以繼續進行測試執行階段。

【測試執行】
在這個階段,測試團隊應該:

  • 執行測試用例;
  • 測試失敗時報告錯誤;
  • 修復錯誤後重新測試;
  • 重新運行所有端到端測試,以確保所有測試都按預期工作。

端到端測試可以手動執行,也可以在CI/CD中使用自動化執行。比較推薦自動化執行端到端測試,因為這會為測試團隊節省了時間和精力,同時確保在最短的時間內獲得高質量的結果。

(3)收尾:做好總結

測試執行完並不意味着結束,收尾階段也很重要。測試人員在測試完成後,可以在禪道中生成測試報告,包含報告詳情、測試範圍、測試輪次、關聯的用例等。

通過測試報告,項目團隊可以分析測試結果,識別潛在的質量問題和風險,為後續的開發和測試提供依據。


有些團隊覺得:“單元測試和集成測試都做過了,沒必要再做端到端測試了吧。”

這其實是一個誤區。單元測試和集成測試解決的是局部問題,而端到端測試解決的是用户實際使用時的問題。

所以説,端到端測試不是多此一舉,而是一種全面把關的測試方法。

希望我的分享可以幫助到你,也歡迎給我留言與我討論。

*參考文章:Faisal Khatri,What Is End-to-End Testing?

user avatar yzn 頭像 nick_5acb23ea2db68 頭像 riacya12 頭像 jueqiangdeqianbi 頭像
4 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.