什麼是測試左移和測試右移
測試左移和測試右移是現在比較熱門的概念,今天我們主要介紹一下測試左右移。我們在討論測試左移和測試右移之前,先將業內最典型的軟體開發過程視覺化出來,要說最典型的開發過程模型要數瀑布模型了,大概如下圖:
在瀑布模型裡,測試人員會在整個開發週期快結束的時候才介入。如果發現 bug 後,又要回過頭開發進行修改,測試再進行測試,整個軟體開發生命週期非常長。測試過程經常成為整個開發週期的瓶頸,隨著越來越多的公司開展敏捷開發模式,測試左移就成了軟體開發過程的關鍵實踐。
左移是向軟體開發週期中的早期移動,測試左移則是將測試向開發階段,甚至是需求階段移動。測試左移的目的其實是想在軟體開發週期中更早的階段開展測試活動,比如說我們想在開發階段就進行測試。測試左移不是等待軟體全部可以整合後才進行測試,而是以更小的單元並且更快的頻率進行測試。
右移是向軟體開發過程的後期移動,比如說在系統部署時和上線後。測試右移就是應用在部署、線上監控的一系列實踐活動。隨著 DevOps 的興趣,測試右移的理念也越來越被很多團隊引入、發展和壯大。在 DevOps 中,研發和運維是緊密的進行配合,研發人員的角色從之前只完成程式的部署伸展到了運維端,要承擔系統線上執行的更多責任。
需要說明的是測試右移絕不僅僅是指研發人員對線上系統的監控,測試右移要進行的活動不但包括研發人員對於線上程式的監控、功能切換、使用線上流量來進行測試等,還包括將持續測試的理念發展到更廣闊的空間中,比如基於前端的埋點、全網範圍內 App 端的監控、灰度測試等。
在這裡舉一些我們實踐中的一些方法:
測試左移
- 靜態程式碼掃描
- 微服務
- 單元測試
- 測試驅動開發
測試右移
- App 監控
- 前端監控
- 程式日誌監控
- http 狀態監控
- 撥測監控
- A/B 測試
- 灰度釋出
測試右移改變了研發團隊如何看待上線後的應用,測試右移會產生一個從線上使用者對系統的真正使用到開發過程的持續反饋迴圈。現在各大網際網路公司中的釋出效率是極快的,可能很多開發人員經歷過從之前的每月或者每週釋出一次到現在的每天、每小時釋出,或者任何時間都會發布,相信你第一次接觸一定會對你產生足夠的衝擊。正是線上使用者和開發人員這種快速、持續反饋的迴圈才能支撐著這一切。
線上上系統進行測試意味著我們要做到對使用者影響到最低,我們要全盤考慮線上使用者對系統的使用情況,以及一些資料安全、使用者隱私相關的因素。現在有些公司會將線上流量複製到線下,使用線上充分的使用者行為對系統進行充分的測試。
透過在使用者和研發人員建立反饋系統,可以收集使用者的反饋,從而我們能夠修復和改進我們的系統使使用者滿意度更高。藉助自動化監控系統,我們可以第一時間獲取系統的執行狀態,我們對於系統的故障恢復能力更有信心。
持續測試就是透過測試左移、測試右移實踐在整個開發週期的每個階段都進行測試。所以,我們說測試左移和測試右移其實就是在透過各種手段在開發過程的各個階段裡進行測試的實踐,每個團隊會有每個團隊不同的方法。
測試左移和測試右移,是一種理念,是一種文化。
相關文章
- 88 郵箱測試左移和測試右移的落地實踐
- 不想左移和右移的測試老了該怎麼辦??
- Parasoft軟體測試實踐:什麼是左移測試?
- 測試人的內卷,從左移右移開始
- 簡單談一下我對持續測試下的測試左移、迭代測試和測試右移的理解吧
- 軟體驗收測試之α測試和β測試分別是什麼?
- 什麼是滲透測試和安全測試,有何區別?
- 什麼是MIPI測試?
- 敏捷測試是什麼?敏捷測試
- 什麼是滲透測試?與安全測試的區別是什麼?
- 什麼是滲透測試?為什麼要做滲透測試?
- 什麼是功能測試?-Alltesting|澤眾雲測試
- 軟體測試中的黑盒測試是什麼?
- 介面測試是什麼?如何做好介面測試?
- 什麼是冒煙測試?
- API 安全中的“左移”測試API
- 軟體測試中的白盒測試是什麼?
- 服務端測試是什麼?怎麼測?服務端
- 介面測試要測試什麼?
- 滲透測試什麼?滲透測試具體操作流程是什麼
- 軟體測評中心▏軟體功能測試和非功能測試分別是什麼?
- 軟體測試入門【1】什麼是軟體測試
- 什麼是自動化測試?
- 什麼是敏捷軟體測試敏捷
- 自動化測試是什麼?
- 效能測試 —— 什麼是全鏈路壓測?
- 軟體測試中的測試計劃和測試用例起到什麼作用?
- 遊戲測試和軟體測試有什麼區別?遊戲
- 軟體測試培訓分享:效能測試的目的是什麼
- 測試夜點心:單元測試測什麼
- Java的左移和右移運算子Java
- 什麼是測試驅動開發
- 介面測試關注點是什麼?
- 軟體測試是幹什麼的
- 什麼是滲透測試?滲透測試分類方式有哪些?
- 什麼是滲透測試?滲透測試分為哪幾類?
- 如何做自動化測試?什麼是自動化測試?
- APP測試和傳統軟體測試有什麼區別APP