WOT講師錢承君:大數(shù)據(jù)帶給百度測試團(tuán)隊的發(fā)展新探索
2016-02-20 19:33:42 來源: 孫淑娟 51CTO.com 評論:0 點(diǎn)擊:
大數(shù)據(jù)時代已經(jīng)來臨,百度的測試團(tuán)隊在這個時代遇到了很多挑戰(zhàn)和難題,他們是如何解決并進(jìn)行發(fā)展新探索的呢?目前測試團(tuán)隊的構(gòu)成情況是怎樣的,對于新入行者又有哪些指導(dǎo)建議?帶著這些問題,51CTO記者采訪了百度測試經(jīng)理錢承君老師,他將為大家深入解析這些問題。
錢承君,具有多年互聯(lián)網(wǎng)研發(fā)、測試、管理經(jīng)驗(yàn),在基礎(chǔ)架構(gòu)與大數(shù)據(jù)方向有著豐富的實(shí)戰(zhàn)經(jīng)驗(yàn)。曾任職大眾點(diǎn)評研發(fā),參與了點(diǎn)評團(tuán)隊最初始的設(shè)計。目前負(fù)責(zé)百度大數(shù)據(jù)測試部門的技術(shù)管理工作,下屬團(tuán)隊規(guī)模百人左右。
大數(shù)據(jù)給百度測試團(tuán)隊帶來哪些挑戰(zhàn)
大數(shù)據(jù)相關(guān)的測試其實(shí)已超出傳統(tǒng)的測試范疇,按IEEE對軟件測試的定義,軟件測試是驗(yàn)證(verify)軟件系統(tǒng)吻合需求定義(requirement and specification)的行為過程,更多地偏向傳統(tǒng)的工程類軟件項(xiàng)目。常用手段是構(gòu)建系統(tǒng)的輸入與預(yù)期的輸出,來確保系統(tǒng)符合預(yù)期。
但是,從大數(shù)據(jù)的角度來看,整個測試?yán)砟詈蜏y試方法已經(jīng)出現(xiàn)非常大的變革。我們拿百度搜索來舉例。首先,測試輸入無法窮舉,可以輸入的內(nèi)容千變?nèi)f化,按傳統(tǒng)測試的方法論,覆蓋工程實(shí)現(xiàn)的邏輯分支遠(yuǎn)無法確保結(jié)果的質(zhì)量。其次,輸出內(nèi)容怎樣算是正確的,沒有一個定論,奇差的結(jié)果,完全不相干的結(jié)果, 用戶能直接說這個返回不行,但可能就有一個更好更貼近搜索的結(jié)果沒有被返回啊!這個系統(tǒng)的輸出,一直在“理想中的好”和“極致的差”之間游移,傳統(tǒng)的測試方法論未必能給出解答。這就是一類典型的“non-test-oracle”問題,這類問題非常常見,例如電商的結(jié)果推薦。對于大數(shù)據(jù)類的場景,除了做好傳統(tǒng)的、工程上的、代碼準(zhǔn)確性的驗(yàn)證,還需要對產(chǎn)品本身的質(zhì)量進(jìn)行“驗(yàn)收(validation)”,這些是我們要探索的內(nèi)容。
測試團(tuán)隊工作中遇到的最大難題
從工程實(shí)現(xiàn)的角度,相對于一個小型網(wǎng)站或手機(jī)應(yīng)用,做大數(shù)據(jù)或者底層的基礎(chǔ)架構(gòu)是更困難的。百度涉及的數(shù)據(jù)規(guī)模超出了一般開源系統(tǒng)能承載的范疇,例如需要跨機(jī)房,需要混用計算密集與存儲密集型設(shè)備。當(dāng)自行改動一些復(fù)雜的基礎(chǔ)架構(gòu),例如改造Hadoop,或索性自研發(fā)大型分布式文件系統(tǒng)等,由于技術(shù)的復(fù)雜度,對質(zhì)量保障的要求是非常高的。
從數(shù)據(jù)的測試方法論的角度,針對算法、針對大數(shù)據(jù)挖掘的結(jié)果,判斷這些產(chǎn)出是否吻合用戶需求,以及幫助業(yè)務(wù)持續(xù)提升數(shù)據(jù)質(zhì)量,是一個持續(xù)探索的話題。百度搜索每一段時間都要更新策略與搜索內(nèi)容,或許某一次發(fā)布對用戶的搜索體驗(yàn)有了壞的影響,質(zhì)量團(tuán)隊需要評估、預(yù)判、防衛(wèi)這些問題的發(fā)生,也需要在發(fā)生問題的第一時間捕獲、定位、止損。這是一項(xiàng)很困難的工作。
從團(tuán)隊建設(shè)的角度,由于當(dāng)前整個行業(yè)的低技術(shù)含量工作更多,較難培養(yǎng)和吸引更多優(yōu)秀的人才加入我們,來從事這些復(fù)雜的工作。團(tuán)隊對人員的要求在持續(xù)上升,但從業(yè)人員的素質(zhì)沒有及時跟上,對于團(tuán)隊的組建會非常困難。
測試組織的具體架構(gòu)介紹
這里介紹幾種常見的測試組織結(jié)構(gòu)。從匯報關(guān)系角度看,常見的測試團(tuán)隊有兩類,一類是測試團(tuán)隊隸屬產(chǎn)品線與特定業(yè)務(wù),屬于業(yè)務(wù)的一部分;一類是整個企業(yè)共享質(zhì)量團(tuán)隊,屬于企業(yè)的基礎(chǔ)技術(shù)服務(wù)。在百度,測試團(tuán)隊的組織架構(gòu)屬于后者,是一個近兩千人的大部門,直接匯報給技術(shù)高管,下屬子團(tuán)隊與業(yè)務(wù)一一對應(yīng),但沒有匯報關(guān)系。值得一提的是,也有各種知名的例外,例如谷歌模式中,測試資源是流動的,測試人員具備某種專業(yè)能力,可以是某種工具的使用,可以是提升可測性的經(jīng)驗(yàn)。這些流動的資源進(jìn)駐到產(chǎn)品線,把相應(yīng)能力帶給產(chǎn)品線,離開后相應(yīng)的能力會在產(chǎn)品線留存。
測試團(tuán)隊內(nèi)部,曾經(jīng)比較流行的是細(xì)分工,在一些傳統(tǒng)的大型企業(yè)還有留存,有專門管流程實(shí)施的,有專門做工具平臺的,有專門負(fù)責(zé)發(fā)布的,有專門負(fù)責(zé)管理外包的,有專職做測試設(shè)計與測試執(zhí)行的。每個人所做的工作是整個研發(fā)閉環(huán)中的一個小部分。這種模式在快速變化的互聯(lián)網(wǎng)團(tuán)隊中不能很好適應(yīng),逐漸演化成百度目前的做法,百度的測試工程師更偏全棧和綜合,每個人既需要懂業(yè)務(wù),也需要能從代碼中定位問題,還需要能開發(fā)工具。這種做法對工程師能力要求很高, 對個人發(fā)展很有好處,但是對公司來而言,是需要付出額外的培養(yǎng)成本的。到目前為止,百度仍堅持高技術(shù)標(biāo)準(zhǔn),是一家秉持技術(shù)信仰的公司。
百度目前的測試團(tuán)隊,鼓勵測試人員做一些橫向的流動,期望人員有更全面的視野,曾經(jīng)也有不少測試人員在經(jīng)驗(yàn)豐富后轉(zhuǎn)崗產(chǎn)品經(jīng)理或者研發(fā),因?yàn)榕囵B(yǎng)的路徑比較好的補(bǔ)足了各種短板,是很受歡迎的復(fù)合型人才。
百度測試團(tuán)隊人員構(gòu)成
百度各個測試團(tuán)隊情況不同,我所在團(tuán)隊由于需要涉及基礎(chǔ)架構(gòu)與大數(shù)據(jù),比較特殊,行業(yè)中沒有太多對口的人力資源。團(tuán)隊成員主要包含幾類來源:第一類是工作時間不太長還有持續(xù)培養(yǎng)潛力的社會招聘,比如我們招到過來自一線公司從事分布系統(tǒng)開發(fā)的工程師。第二類是高級別的架構(gòu)師,匹配的人才非常少。第三類也是最大的團(tuán)隊人員構(gòu)成,吸引優(yōu)秀畢業(yè)生,并給更大的空間,持續(xù)培養(yǎng)。有些學(xué)校的實(shí)驗(yàn)室有非常對口的背景,比如從事大數(shù)據(jù)方向 data quality 研究的,比如做分布式系統(tǒng)中調(diào)度算法的,比如一些有機(jī)器學(xué)習(xí)與挖掘背景的。團(tuán)隊主要構(gòu)成是一線院校的碩士研究生。我們的團(tuán)隊一直在持續(xù)尋找優(yōu)秀人才的加盟。
研發(fā)、測試和運(yùn)維三塊工作是一個密不可分的整體
從研發(fā)到測試到運(yùn)維,很難去切割那塊是誰的工作,很多已經(jīng)走向融合。現(xiàn)在很流行說的詞是全棧工程師,一個人從開發(fā)做到測試做到運(yùn)維。通常情況下,測試團(tuán)隊在這些場景與運(yùn)維會比較密切地合作:
1.項(xiàng)目發(fā)布后的風(fēng)險與預(yù)案,一般由開發(fā)、測試、運(yùn)維多方聯(lián)合演練。很多系統(tǒng)未自動恢復(fù)的容錯場景是需要人工介入的,這時候需要測試人員評估這些風(fēng)險和模擬場景,并促成預(yù)演。這樣的演練可以在線上,在預(yù)上線環(huán)節(jié),也可能是在線下環(huán)境。
2.很流行的一個概念叫“test after release”。現(xiàn)在越來越多的場景過于復(fù)雜或資源消耗過多,尤其是談到大數(shù)據(jù),動輒幾千臺機(jī)器,線上環(huán)境很難保證與生產(chǎn)環(huán)境的一致性。所以主張在上線 之后,在運(yùn)維監(jiān)管和看護(hù)下,對線上注入一些異常,注入一些抖動,加一加壓,來查看系統(tǒng)在極端環(huán)境下的表現(xiàn),這是運(yùn)維跟測試比較好的結(jié)合點(diǎn)。
給年輕入行者的成長建議
真正好的工程師不論先進(jìn)入哪一個行業(yè),或者進(jìn)入哪一個角色,從事測試、研發(fā)還是運(yùn)維,你真正關(guān)注的應(yīng)該是這個角色之外的東西,注重培養(yǎng)和修煉在某一個領(lǐng)域上的強(qiáng)積累,這個積累是別人很難通過看幾篇文章,做一個小APP那么容易獲得的,這里的重點(diǎn)是需要找到能夠持續(xù)積累的領(lǐng)域。我們看到很多年輕人隨著行業(yè)浮躁,不愿意深耕和積累,頻繁跳槽來獲取現(xiàn)金回報的增長。其實(shí)最終一個人才的價值在于稀缺性與不可替代性,需要找到這樣的一個能持續(xù)積累的領(lǐng)域,在深入之后別人很難在數(shù)年時間內(nèi)超過你,這才是專業(yè)人員的修煉正途。
預(yù)期在11月深圳WOT峰會上分享哪些內(nèi)容
在51CTO WOT 2015峰會上,錢老師會介紹三方面內(nèi)容。首先是大數(shù)據(jù)帶給測試的挑戰(zhàn)以及我們目前探索到的一些應(yīng)對方案。其次是大數(shù)據(jù)能力對質(zhì)量保障乃至研發(fā)的過程帶來哪些新的可能性。最后,相信也是更多人感興趣的部分,會聊聊百度大數(shù)據(jù)在做什么,未來的走向如何。敬請期待!
相關(guān)熱詞搜索:大數(shù)據(jù) 測試團(tuán)隊 運(yùn)維 百度
上一篇:詳解互聯(lián)網(wǎng)運(yùn)維需要把握的四力模型
下一篇:自動化持續(xù)部署的三種反模式及解決方案(1)

頻道總排行
- Cisco NetFlow v9為何無人問津?
- 技術(shù)專題:智能化運(yùn)維
- 開源代碼管理:如何安全地使用開源庫?
- Facebook架構(gòu)解讀
- IT運(yùn)維分析與海量日志搜索需要注意什么(1)
- 金山運(yùn)維肖力:如何將業(yè)務(wù)遷移到虛擬化環(huán)境并穩(wěn)定運(yùn)行(1)
- Apache Ignite(四):基于Ignite的分布式ID生成器
- CrazyEye,一款國人開源的堡壘機(jī)軟件(1)
- SDN時代的網(wǎng)絡(luò)管理系統(tǒng)會走向何方
- WOT2016吳兆松:Zabbix監(jiān)控自動化的未來如何發(fā)展
頻道本月排行
- 8你消費(fèi)我買單——"漏洞"天使OneRASP...
- 7有了Jenkins,為什么還需要一個獨(dú)立...
- 6IT運(yùn)維分析與海量日志搜索需要注意什么(1)
- 5新浪微博王傳鵬:微博推薦架構(gòu)的演進(jìn)(1)
- 4史上最大機(jī)器學(xué)習(xí)數(shù)據(jù)集,雅虎對外開...
- 4雅虎開源可以提升流操作速度的DataSketches
- 4大眾點(diǎn)評高可用性系統(tǒng)運(yùn)維經(jīng)驗(yàn)分享
- 4云運(yùn)維如何選擇部署適合自身的IDC和...
- 4開源還是商用?十大云運(yùn)維監(jiān)控工具測...
- 4論開發(fā)與運(yùn)維沖突的根源、表現(xiàn)形式及...