測試體系
按照傳統測試的定義,軟件測試是指在規定的條件下對程序進行操作, 以發現程序錯誤,衡量軟件質量,并對其是否能滿足設計要求進行評估的過程。測試場景大體可以分為功能、易用性、性能、兼容性、自動化、可靠性。
單元測試
單元測試就是為了驗證軟件中最小可測試單元的準確性的測試。區別于集成測試和系統測試。單元測試是前置的,由開發人員主導的最小規模測試。據相關學者統計:
85%的缺陷都在代碼設計階段產生;
發現bug的階段越靠后,耗費成本就越高,呈指數級別的增長。
由此看來,單測代碼的編寫對于交付質量以及人工耗費成本都有極其重要的影響。
對于企業客戶上云,推薦云效-流水線(Flow)。 Flow 為主流語言提供了開箱即用的單元測試能力,可以方便的對代碼進行單元檢測。
模塊接口測試
一般講的接口測試指的是對某個給定接口進行功能測試,輸入不同的參數時,接口返回值是否正確。接口測試可以給企業帶來的價值包括:
接口是服務端對外提供數據服務最常用的信息交換方式,接口大部分內容都是數據,通過數據對比我們可以推測到系統的邏輯,測接口其實也就是測邏輯。
接口測試相對容易實現自動化,也容易實現持續集成,且相對UI自動化也比較穩定,可以減少人工回歸測試人力成本與時間,縮短測試周期,支持后端快速發版需求。
企業在云上研發目的是為了能夠提升整體的效率,節省人力成本。推薦使用自動化測試的方式來做接口測試,可以給企業帶來如下價值:
減輕測試人員工作量,把測試從枯燥的重復勞動的人工測試中解放出來;
協助手工測試完成很難模擬或無法模擬的工作;
提高工作效率,比如測試環境的自動化編譯、打包、部署、持續集成甚至持續交付等。
協助定位問題,比如接口層發現問題了,可以通過添加的traceID定位到日志錯誤或錯誤代碼行,
盡早發現Bug,自動通知測試人員。一旦發現問題,立即通知測試人員,快速高效。
對于企業客戶上云,推薦云效-接口自動化測試(SAT)。 SAT具備低門檻在線圖形化編寫調試,支持豐富的協議,能夠與企業CI/CD無縫集成等。
用戶界面特性測試
廣義上來說,用戶界面(UI)測試包括web UI,移動端UI,以及傳統的桌面應用UI甚至是嵌入式UI的測試。針對不同的UI,所需要的測試手段以及對測試人員的技術要求也是不同的,例如對于傳統的Windows桌面應用的自動化一般就是通過AutoIT模擬桌面鼠標操作完成。
UI測試有很多場景是需要依賴手工測試來完成的,比如檢查頁面的布局(排布是否合理,組件是否重疊等等),組件的樣式(布局、顏色、大小)。而有些邏輯是可以通過自動化測試來提升效率,例如登錄,表單的創建修改刪除,工作流等等。
對于企業客戶上云,推薦云效-WebUI自動化工具(AUI),AUI具備低門檻圖形化錄制0編碼,能夠與企業CI/CD無縫集成等。
產品線上回歸
隨著企業業務系統越來越復雜,人工測試或自動化測試面臨覆蓋缺失的風險。另外老的系統進行修改也很難評估影響面。傳統的自動化測試面臨的挑戰:
腳本開發成本高
準備測試數據繁瑣
腳本運行受環境影響大
這些問題導致測試覆蓋率難以保證,腳本運行效率低。阿里云推薦通過線上引流來做自動化回歸。相比傳統的自動化回歸工具而言不需要編寫測試腳本,不需要準備測試數據。由于是使用線上流量做測試,可以保證用例的豐富性和真實性,更容易發現傳統測試容易遺漏的缺陷,節省人力成本同時,有效避免線上故障。
雙引擎自動回歸平臺(簡稱雙引擎或者doom)是一個將線上真實流量復制并用于自動回歸測試的平臺。 通過創新的自動mock機制不僅支持讀接口的回歸驗證,同時支持寫接口(例如用戶下單接口、付款接口)的回歸驗證。