Facebook如何進行測試
Facebook是美國最火的科技公司之一。2016年Facebook的COO桑德伯格的一段演講內容令人印象深刻:「每個人都已經經歷了一些挫折。你想要一個A,但你只得到了一個B。你申請到Facebook實習,但你只得到去谷歌實習的機會。。。」。這個只能讓Google當「備胎」的公司到底有何神奇之處,本文就Facebook的測試工作進行一些匯總分析。
Facebook的測試文化:
Facebook以沒有專職的測試人員聞名業界(注意並不是沒有測試工作),Facebook有怎樣的企業文化來保證質量?
強調每個人對質量負責,每個開發人員對自己的代碼負責,以提交低質量的代碼為恥。
把測試作為一種文化,並不是開發完成後的一個階段。
最後,還有個有趣的觀點,facebook的測試和QA能夠接受自己的錯誤,畢竟社交媒體的bug不會導致火箭無法發射。(和Facebook的產品特點有關)
Facebook如何進行測試:
Facebook的應用主要架構強烈依賴於php,所以他們的技術棧和阿里的主流技術棧有一定區別,下面簡單的總結一下Facebook如何進行測試。
Code coverage,使覆蓋率數據可見,使用多種工具,phpunit,watir,jest 等。
提交的代碼必須包含和ci相關的自動構建和測試的內容,並且通過測試。
Code review,不同的人交叉review,甚至高管介入進行Code review。
在員工中進行Beta測試,在用戶中進行灰測來保證質量,在不給用戶帶來麻煩的前提下進行微小功能的灰測。
Facebook的dark test
Facebook非常依賴於他的用戶A/B測試,非常著名的例子就是當年人人網和Facebook改版的例子。Facebook通過abtest 壯士斷腕,人人網就比較悲劇了。
下面通過一個Facebook的產品naytev來探究一下Facebook在這一塊的實踐。
naytev如何工作:
使用過程(幾分鐘的配置,就可以達到希望的灰測效果): 配置過程(配置不同版本的文案,圖片):
結果展示(根據各版本的數據,選擇合適的版本發布):
小結:
充分利用灰測階段來保證質量,提升效率
把整個灰測的流程產品化,拓展給更多的人使用(開發者,運營,甚至客戶)。
備註:
本文的內容是根據網路資料整理而來,可能有不準確的部分,歡迎各位大拿指正。
更多測試技術文章,微信掃以下二維碼,歡迎關注
測碼奔跑-讓測試技術奔跑起來
TAG:測碼奔跑 |