灰度內測是什麼意思?

灰度測試是什麼意思?如果您對互聯網軟件開發行業瞭解不多,您可能對這個詞不太熟悉。事實上,灰度測試是指如果軟件要在不久的將來推出新功能,或者進行重大修改,你必須首先做少量的試驗工作,然後慢慢增加數量,直到這個新功能覆蓋所有系統用戶,即新功能上的黑白之間都有灰色,因此這種方法通常也稱爲灰度測試。

灰度測試又名金絲雀發佈、灰度發佈,一種在黑白之間發佈平滑過渡的方式。可以對其執行A/B測試,也就是說,一些用戶繼續使用產品功能A,並且一些用戶開始使用產品功能B,如果用戶不反對B,則逐漸擴大範圍並遷移所有用戶到B來。灰度測試可以確保整個系統的穩定性,並且可以在初始灰度級找到並調整問題以確保其影響度。

灰度期:灰度發佈開始到結束期間的這一段時間,稱爲灰度期。
 

灰度測試有什麼作用?

灰度測試可以及早獲得用戶的反饋,改進產品功能,提高產品質量,允許用戶參與產品測試,增強與用戶的互動,並減少受產品升級影響的用戶範圍。

灰度測試步驟:

1、定義目標

2、選定的策略:包括用戶規模,發佈頻率,功能覆蓋,回滾策略,運營策略,新舊系統部署策略等。

3、過濾用戶:包括用戶特徵,用戶數,用戶常用功能,用戶範圍等。

4、部署系統:部署新系統,部署用戶行爲分析系統(web analytics),設置流量規則,運營數據分析和微調流量規則

5、發佈總結:用戶行爲分析報告,用戶問卷,社交媒體意見收集和產品功能改進列表

6、產品完善

7、新一輪灰度測試或完整發布

測試方法

灰度測試似乎與互聯網公司的常見A/B測試相似。外國人似乎沒有灰度測試的概念。根據維基百科中A/B測試的定義,A/B測試也稱爲:A/B/N測試,多變量測試,因此實質上灰度測試可視爲A/B測試的特例。只不過爲了術語上不至於等同搞混淆,談談自己理解的兩者的差異。

灰度發佈是對某一產品的發佈逐步擴大使用羣體範圍,也叫灰度放量。A/B測試重點是在幾種方案中選擇最優方案。

灰度測試的要點注意

1、精確的流量分發控制

這是一切的核心。從運行和維護風險控制的角度來看,有必要在一個精確的範圍內控制受影響的流量。在上線前就知道哪部分用戶會有問題,而不是真出問題誰受到影響都不知道。一個常見場景是新版本只允許公司內的員工訪問它,然後推送到一個城市再到一個省。

從產品的角度做A/B測試,需要控制測試樣本,其中用戶是版本A,哪個用戶是版本B,應該在發佈後修復,而不是一會訪問A,一會訪問B。傳統的負載均衡器策略只能實現粗略的比例分配,並且沒有細粒度的流量規則控制。理想的灰度發佈系統應具有非常細粒度的流量規則,例如匹配Android用戶,匹配特定區域中的用戶,甚至組合多個條件以匹配特定人員。

2、監控系統的支撐

準確的流量分配只是第一步,獲得關鍵指標的多個版本更爲重要。對於操作和維護,可能需要查看系統級指示器,例如錯誤率,吞吐量,延遲和CPU內存消耗這些系統層面指標。對於產品,可能是由於pv,uv等業務指標的變化。這些需要能夠收集和顯示數據,以方便後續決策:完全推送還是回滾?使用方案A或B?否則,灰度版本不會帶來更多業務推廣,也不能幫助您更好地瞭解業務狀態和用戶行爲。

3、靈活的發佈系統

從以上描述可以看出,灰度發佈不是短暫的過程並且可能持續很長時間。例如,主要框架或系統更新可能會持續很長時間。有可能整個服務在幾個月內都是新舊並存,甚至可能需要分別進行兩個版本的迭代。從產品的角度來看,它可能更靈活。很可能在線上有五到六個程序來收集數據。每天有了一些新想法都要上一些小版本看效果,每個版本上線後可能都要再各自做優化調整觀察效果。這種情況可能線上就永遠不會有一個統一的版本灰度反而是個常態來應對不斷變化的需求和挑戰。

而發佈系統也需要做相應的調整,不在把每個服務看成一個單一版本的運行體,只在更新的短時間內出現多版本共存,只允許全量推和回滾這種粗粒度策略。相反,多版本共存應被視爲正常狀態,允許迭代每個版本,並且可以在版本之間區分相應的監視日誌信息,從而可以將靈活的發佈系統與靈活的灰度策略相結合。

以上就是關於灰度測試的一些介紹,希望對大家有所幫助!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章