摘要:并不是每個測試都可以用到生產(chǎn)中,但即使是失敗的測試也能幫助我們理解如何才能更好地改進(jìn)。當(dāng)有回應(yīng)返回后,我們就會更新按鈕。淺綠色的條柱是試驗用戶的數(shù)量,黑綠色的條柱是實際被影響的用戶數(shù)。設(shè)備請求用于試驗的數(shù)據(jù),服務(wù)器記錄它發(fā)出的回應(yīng)。
譯者注:本文來自 Facebook 工程師團隊博客
兩年前,我們重寫了我們移動端(iOS,Android)的應(yīng)用,使用了原生的開發(fā)棧(native development stacks)代替我們以前定制開發(fā)的 Web 棧(custom web-stack)。這給了我們在關(guān)于項目在那里/怎樣下載、緩存、釋放等等方面一個更好的控制。它分別深入地和操作系統(tǒng)整合在一起,提供在底層調(diào)整修改所有系統(tǒng)的一整套工具。
測試是我們開發(fā)的一個重要部分,但在轉(zhuǎn)換到原生的之后,我們沒有了 A/B 測試的能力。并不是每個測試都可以用到生產(chǎn)中,但即使是失敗的測試也能幫助我們理解如何才能更好地改進(jìn)。失去的這部分能力變成了一個我們要應(yīng)對的挑戰(zhàn)。
A/B 測試要把我們的應(yīng)用移植到 iOS 和 Android 上,需要來自不同團隊的人來進(jìn)行協(xié)作,每四周就要產(chǎn)生一個新的修復(fù)一些 bug 和帶有一些新特性的二進(jìn)制軟件包。在我們發(fā)布一些更新之后,對于我們很重要的事情是要去明白:
新特性的使用情況
bug 修復(fù)后的運行情況和穩(wěn)定性
用戶界面改進(jìn)之后用戶是怎么使用這個應(yīng)用及在哪里花的時間多
為了去了解這些事情,我們需要一個移動端進(jìn)行 A/B 測試的基礎(chǔ)組件,這個組件能讓我們的用戶分別使用不同版本的應(yīng)用(版本 A 和版本 B),這些版本在除某些特別需要測試的部分外,其他各層面都是一樣的。所以我們創(chuàng)造了 Airlock,一個可以讓我們比較不同版本應(yīng)用的度量數(shù)據(jù)(metric data)和進(jìn)行各種各樣測試的測試框架,這幫助我們決定采用那個版本或者后續(xù)如何迭代。
從一點一滴中建成我們盡可能從最簡單的試驗開始:使用已有的 Web-Stack A/B 分箱(binning system)系統(tǒng)。我們構(gòu)造了一個測試:把聊天按鈕換成文字"Chat"的試驗。當(dāng)應(yīng)用啟動的的時候,它會發(fā)送一個到我們服務(wù)器上的網(wǎng)絡(luò)請求,詢問這個試驗的參數(shù)。當(dāng)有回應(yīng)返回后,我們就會更新按鈕。一些員工會有按鈕,另一些員工會有文字"Chat"。我們期望這僅僅會影響信息發(fā)送的數(shù)量(看起來不會太多),其他的東西不會受影響。
曝光日志當(dāng)這個版本的應(yīng)用公開發(fā)布了,我們等待數(shù)據(jù)能穩(wěn)定下來,然后發(fā)現(xiàn)看到文字"Chat" 的版本會更熱衷于使用這個應(yīng)用。是不是我們發(fā)現(xiàn)了什么秘密,或者誘惑般的魔法?沮喪地說,并不是。我們遇到了很多 bug,其中一個很大的問題是,某個組件并不能正確地緩沖數(shù)值。由于這是個大的系統(tǒng),基礎(chǔ)設(shè)施(the infrastructure)必須要是 "防彈的",不然收集到的數(shù)據(jù)就沒用了。
從服務(wù)器開始的數(shù)據(jù)管道決定某個人的版本是屬于那種變體的。然后,數(shù)據(jù)就會被打包,接著發(fā)送到設(shè)備上,設(shè)備分析返回的信息然后保存。接著,這個值會被用于重新配置 UI,然后最終在屏幕上顯示。問題是我們在依靠服務(wù)器對我們數(shù)據(jù)分析的分類。一個簡單的 bug 就導(dǎo)致了一大群用戶在使用有別于我們期望的的變種版本。服務(wù)器還在堅持:"我告訴了設(shè)備去顯示字符串!" 但在某處地方這個語句變得有點令人模糊(一個在客戶端存貯邏輯上的 bug)。
一個試驗的部署圖:
上面圖表展示了一個試驗的部署。淺綠色的條柱是試驗用戶的數(shù)量,黑綠色的條柱是實際被影響的用戶數(shù)。我們可以看到,服務(wù)器和設(shè)備的數(shù)據(jù)區(qū)別還是很大的: 在第一天,大多數(shù)用戶收到這個配置,但大多數(shù)用戶沒有留意到我們試驗。當(dāng)問題不僅僅是設(shè)備收到返回的數(shù)據(jù),而需要加上我們的數(shù)據(jù)分析需要知道什么時候收到信息,然后把它正確地顯示在 UI 上時,問題變得更大了。即使信息能正確地到達(dá),在 UI 不正確時也有一個延遲。我們通過
添加雙向握手(wo-way handshake)解決了這個問題。設(shè)備請求用于試驗的數(shù)據(jù),服務(wù)器記錄它發(fā)出的回應(yīng)。因此,即使某用戶沒有看到我們想讓他看到的,我們?nèi)匀豢梢赃M(jìn)行正確性分析(但也必須意識到選擇性偏差(selection bias)的問題,還有分發(fā)時由于某些原因變得不平均)。
在進(jìn)行了幾個月這樣的"課程"之后,我們必須將支持兩個試驗的系統(tǒng)升級支持整個應(yīng)用的系統(tǒng)。這個促使 Airlock 發(fā)生變革的試驗是以前我們原想著進(jìn)化和簡化我們應(yīng)用內(nèi)的導(dǎo)航模塊而開發(fā)的。在經(jīng)歷這幾個月之后,我們把這個應(yīng)用改變了很多,你可以去下載 Facebook for iPhone 來體驗一下,這里面很多是測試的功勞。
隨后,Airlock 被用于支持更多的試驗,其請求的參數(shù),數(shù)據(jù)的記錄、客戶端計算等等都快速地變多。Airlock 充分地被用于測試原生的應(yīng)用,使得我們的應(yīng)用運行得前所未有的輕快,伴隨著測試的自由,再測試,和評估測試結(jié)果,我們期望能建造更好的測試和創(chuàng)造更好的用戶體驗。
原文:Airlock - Facebook"s mobile A/B testing framework
翻譯:Segmentfault
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/8684.html
摘要:這一新程序被稱為,是一個完整的深度學(xué)習(xí)系統(tǒng),它的架構(gòu)已經(jīng)嵌入手機中。因此,移動設(shè)備環(huán)境對機器學(xué)習(xí)系統(tǒng)提出了機遇和挑戰(zhàn)。展望下一步,加上這樣的研究工具鏈,是的機器學(xué)習(xí)產(chǎn)品的核心。 風(fēng)格遷移一直是機器學(xué)習(xí)領(lǐng)域內(nèi)的一項重要任務(wù),很多研究機構(gòu)和研究者都在努力打造速度更快、計算成本更低的風(fēng)格遷移機器學(xué)習(xí)系統(tǒng),比如《怎么讓你的照片帶上藝術(shù)大師風(fēng)格?李飛飛團隊開源快速神經(jīng)網(wǎng)絡(luò)風(fēng)格遷移代碼 》、《谷歌增強型...
摘要:移動測試就是指把這個試驗用來對比優(yōu)化移動應(yīng)用。移動端測試應(yīng)該測試什么對于移動端,幾乎所有都可以并應(yīng)該進(jìn)行測試。對消極和積極影響的權(quán)衡評估會是優(yōu)秀測試平臺的重要組成部分。那么,準(zhǔn)備好開始你的第一個移動端測試了嗎本文作者吆喝科技 做A/B測試的理由很多,F(xiàn)acebook、Google、BAT、滴滴、美團……大公司都在做。但知道它們?yōu)槭裁醋觯吭趺醋觯緼/B測試有哪些方法論來指導(dǎo)最近實踐,讓我...
摘要:前端每周清單半年盤點之與篇前端每周清單專注前端領(lǐng)域內(nèi)容,以對外文資料的搜集為主,幫助開發(fā)者了解一周前端熱點分為新聞熱點開發(fā)教程工程實踐深度閱讀開源項目巔峰人生等欄目。與求同存異近日,宣布將的構(gòu)建工具由遷移到,引發(fā)了很多開發(fā)者的討論。 前端每周清單半年盤點之 React 與 ReactNative 篇 前端每周清單專注前端領(lǐng)域內(nèi)容,以對外文資料的搜集為主,幫助開發(fā)者了解一周前端熱點;分為...
摘要:數(shù)據(jù)管理及性能優(yōu)化統(tǒng)一管理數(shù)據(jù)這一部份算是重頭戲吧。重復(fù)渲染導(dǎo)致卡頓這套的東西在家校群頁面上用得很歡樂,以至于不用怎么寫都沒遇到過什么性能問題。但放到移動端上,我們在列表頁重構(gòu)的時候就馬上遇到卡頓的問題了。列表頁目前的處理辦法是將值換成。 本文來自于騰訊bugly開發(fā)者社區(qū),非經(jīng)作者同意,請勿轉(zhuǎn)載,原文地址:http://dev.qq.com/topic/57908... 最近一個季度...
摘要:通過對比各項目過去個月在上新增數(shù)量,來評估其在年度的受關(guān)注程度,進(jìn)而選出年度領(lǐng)域崛起的明星項目。也許正因為上述最后一點,在中國擁有大量的擁躉。不僅被中國最大的電商平臺阿里巴巴使用,也獲得了與這些公司青睞。 共 4741 字,讀完需 8 分鐘,速讀 2 分鐘。我有幸參與了該項目的部分中文版翻譯、校對工作,感謝 Sacha Grief,Micheal Ramberu 的統(tǒng)計整理,以及 Fr...
閱讀 2654·2021-11-23 09:51
閱讀 3246·2021-11-22 14:44
閱讀 4575·2021-11-22 09:34
閱讀 5102·2021-10-08 10:14
閱讀 2404·2021-09-22 15:47
閱讀 3502·2021-09-22 15:40
閱讀 1510·2019-08-30 15:44
閱讀 1619·2019-08-28 18:23