灰度是測試階段的最後一環,也是線上檢驗產品質量和產品策略不可或缺的一環。測試者需要警惕灰度階段發現的問題,否則會影響到更多的線上用戶,造成用戶的負向體驗及用戶流失。
手機百度灰度測試
一、概述
灰度作爲手機百度項目迭代中的固化環節,通過不斷提升問題發現和定位能力,以及灰度的精細化進程,在手百的線上測試和質量保證方面發揮越來越大的作用。手百灰度在迭代在項目敏捷過程的後期,版本功能就緒後,通過控制用戶流量隨機和有針對性的選擇用戶對待測版本進行驗證,並通過崩潰、用戶反饋等問題進行召回,並進行定位,在這個過程中,灰度版本在真實的用戶和場景下得到驗證,測試覆蓋到達到了機型、系統、網絡、地域多類型的目的。目前手機百度通過灰度測試最系統的收益表現在線上崩潰率的明顯下降。
二、手百灰度流程
手機百度整體流程大致如下:
在項目迭代中,需要明確當前版本所要發佈的重點功能,將其最爲灰度目標用戶的挖掘輸入,整個灰度發佈的模式分爲兩種,一種是隨機發布,即沒有固定的目標用戶組,全流量下發通過控制下發開啓的時間,對用戶量進行控制,版本覆蓋的用戶羣是隨機產生的。另一種是期望能夠更高效的覆蓋目標功能並高效的發現的問題,挖掘出目標功能的活躍用戶,及發現問題和反饋問題頻率較高的用戶,從而針對該部分用戶進行精準的下發。
灰度發佈之後,用戶經過一個階段的升級,開始對新版本進行體驗和試錯,如何將用戶在使用過程發現的問題召回是個需要解決的事情,這個是個不斷擴展的過程,目前框中比較系統召回問題包括兩個方面:用戶崩潰異常,以及用戶反饋問題,建立對應的平臺對問題進行監控和報警,並建立定位能力對召回的問題進行定位。
三、手百灰度結構
整體的灰度的結構包含幾個大的部分和階段,如下圖所示:
以手百某版本爲例,介紹下手百灰度執行方式:
手百該版本的重點功能與錢包支付相關,此爲該項目主要的灰度目標功能
(一)用戶選擇
選擇具備以下三類特徵的用戶羣組
-
錢包相關功能的日活用戶:大數據組輔助挖掘出的錢包日活用戶,三次灰度選取不同用戶羣組,用戶量爲萬級。
-
Ufo(用戶反饋平臺)中錢包相關反饋活躍用戶:這羣組用戶除了具備一定使用錢包的概率,同時也具備了使用過程中發生問題的概率。ufo自動分析平臺提供接口,三次灰度羣體分別通過接口獲取,去重。
-
Ufo反饋高質量用戶:這羣組用戶由ufo自動分析平臺挖掘出在各個功能模塊反饋問題數量較多的用戶,是框核心功能的活躍及問題高發用戶,可對老功能的迴歸形成支持,ufo自動分析平臺提供約60 cuid。爲避免該羣組用戶被天級高頻提示升級,將該羣組用戶用於第一次精準灰度
(二)發佈方法
由於版本客戶端功能較集中,對於功能的發佈繼續沿用客戶端整體功能上線發佈的模式,在用戶羣體的選擇上進行功能覆蓋的分流,即精準cuid灰度,針對本期主打功能—錢包相關功能選擇日活及問題反饋活躍用戶進行灰度下發。本次灰度將以精準灰度爲主,隨機灰度爲輔,較以往灰度模式不同,希望通過精準灰度更高效的發現問題。精準灰度將使用不同的渠道號來與隨機灰度進行區分。
(三)效果度量
精準灰度升級率和升級速度提升,挖掘的升級活躍用戶,升級率效果提升明顯,用戶反饋問題有效率明顯提升,精準灰度的效果在灰度效果驗證有較好的參考意義。
框主線崩潰監控&分發平臺,在灰度過程對於崩潰的發現達到小時級新增崩潰及top崩潰的發現,同時進行功能模塊級的自動診斷,進行自動分發,崩潰問題發現率>91%,從發現到定位到分發解決整體實現自動化,節省人力成本約1人天。對於top嚴重崩潰,如oom、空指針等問題發現率達到100%。
文章轉載:百度質量部