測(cè)試基礎(chǔ)架構(gòu)“庖丁解?!保琖OT茹炳晟告訴你如何不“入坑”
原創(chuàng)【51CTO.com原創(chuàng)稿件】七年一劍,華麗蛻變。自2012年起連續(xù)6年15場(chǎng)峰會(huì),凝聚大量技術(shù)專家,博觀而約取,厚積而薄發(fā)。2018WOT全球軟件與運(yùn)維技術(shù)峰會(huì)揚(yáng)帆起航,圍繞12大核心熱點(diǎn),匯聚海內(nèi)外60位一線專家,打造高端技術(shù)盛宴!
在“DevOps轉(zhuǎn)型之路”分論壇現(xiàn)場(chǎng)中,ebay中國(guó)研發(fā)中心技術(shù)主管茹炳晟將給聽(tīng)眾帶來(lái)一場(chǎng)名為《ebay測(cè)試基礎(chǔ)架構(gòu)的演進(jìn)之路》的主題演講。在會(huì)前,51CTO記者采訪到了他,請(qǐng)他提前“劇透”,精彩演講內(nèi)容就讓我們“先睹為快”吧!
業(yè)務(wù)是高效能測(cè)試基礎(chǔ)架構(gòu)演進(jìn)的***驅(qū)動(dòng)力
ebay中國(guó)研發(fā)中心技術(shù)主管 茹炳晟
茹炳晟認(rèn)為,“知其然知其所以然”是學(xué)習(xí)和深入理解技術(shù)本質(zhì)的核心,面對(duì)大型網(wǎng)站的測(cè)試基礎(chǔ)架構(gòu)的復(fù)雜性以及測(cè)試框架的復(fù)雜性,作為資深的測(cè)試開(kāi)發(fā)工程師很有必要從根本上理解問(wèn)題的本質(zhì)和設(shè)計(jì)的初衷。他告訴記者,他將拋棄傳統(tǒng)的“就技術(shù)談技術(shù)”的方式,而是采用業(yè)務(wù)驅(qū)動(dòng)為切入點(diǎn),以工程實(shí)際問(wèn)題為主線,以提出問(wèn)題到解決問(wèn)題為主干,講解大型電商網(wǎng)站的高效能測(cè)試基礎(chǔ)架構(gòu)是如何在業(yè)務(wù)的驅(qū)動(dòng)下演進(jìn)與發(fā)展的。
記者了解,茹炳晟演講的主要內(nèi)容可以被概括為以下五部分:
一 GUI Automation Test Framework 的前世今生
二 Test Data Platform 的起源與發(fā)展
三 API Automation Test Framework 的演進(jìn)之路
四 Test Execution Environment 的演變
五 Test Report Platform的演變
通過(guò)對(duì)這五部分內(nèi)容的梳理和講解,聽(tīng)眾從中可謂是“受益良多”。在茹炳晟看來(lái),聽(tīng)眾可以從演講中學(xué)會(huì)如何從test framework層面提高GUI自動(dòng)化測(cè)試的投入產(chǎn)出比(ROI)、如何設(shè)計(jì)規(guī)劃GUI測(cè)試腳本的粒度以降低腳本的維護(hù)工作量、如何基于BDD來(lái)設(shè)計(jì)基于業(yè)務(wù)流程的GUI Flow模型、如何應(yīng)對(duì)多瀏覽器的測(cè)試覆蓋率問(wèn)題、如何解決測(cè)試數(shù)據(jù)的一系列難題,比如測(cè)試臟數(shù)據(jù),壓測(cè)數(shù)據(jù)準(zhǔn)備,測(cè)試數(shù)據(jù)多樣性,高效測(cè)試數(shù)據(jù)準(zhǔn)備等……
一番介紹下來(lái),聽(tīng)的記者都有點(diǎn)心向往之了,感興趣的網(wǎng)友們趕緊報(bào)名參會(huì)吧!
“唯快不破”是基本原則
眾所周知,ebay是一家大型電子商務(wù)網(wǎng)站。那么這類企業(yè)的測(cè)試基礎(chǔ)架構(gòu)和其他行業(yè)的測(cè)試基礎(chǔ)架構(gòu)相比,特殊性有哪些呢?
茹炳晟用一句話來(lái)概括:其***的區(qū)別就在于“快”。
一般傳統(tǒng)IT企業(yè)的產(chǎn)品發(fā)布是以“月”為單位的,所以在這種大背景下,測(cè)試執(zhí)行的時(shí)間,測(cè)試用例的維護(hù)工作量以及測(cè)試用例的穩(wěn)定性要求都不會(huì)成為關(guān)鍵問(wèn)題。
但是對(duì)于電子商務(wù)網(wǎng)站,尤其是具有全球業(yè)務(wù)的大型電商網(wǎng)站,產(chǎn)品上線周期都是以“天”甚至是以“小時(shí)”為單位的,這樣就對(duì)全回歸測(cè)試的執(zhí)行時(shí)間,測(cè)試用例的維護(hù)工作量以及測(cè)試用例的穩(wěn)定性有極高的要求。例如全回歸測(cè)試的時(shí)間不能大于100分鐘,API測(cè)試的穩(wěn)定性要在99%,GUI測(cè)試的穩(wěn)定性要在95%,失敗用例的追蹤和修復(fù)的時(shí)間周期小于2小時(shí)等等,這些要求的實(shí)現(xiàn)都會(huì)與測(cè)試基礎(chǔ)架構(gòu)的設(shè)計(jì)有著直接的關(guān)系。
換言之,如果沒(méi)有一套高效能的測(cè)試基礎(chǔ)架構(gòu)和CI/CD系統(tǒng)的支撐,這些目標(biāo)的實(shí)現(xiàn)就會(huì)無(wú)從談起。所以聽(tīng)眾會(huì)發(fā)現(xiàn)整個(gè)測(cè)試基礎(chǔ)架構(gòu)的設(shè)計(jì)原則都會(huì)圍繞“唯快不破”這一基本原則。
這些測(cè)試的“坑”你入過(guò)嗎?
茹炳晟告訴記者,但凡做測(cè)試的同學(xué),不管是自動(dòng)化測(cè)試,性能壓測(cè),還是手工測(cè)試的,都會(huì)遇到大量的測(cè)試數(shù)據(jù)問(wèn)題,主要體現(xiàn)在以下幾點(diǎn):
挑戰(zhàn)1:測(cè)試數(shù)據(jù)準(zhǔn)備跨不同業(yè)務(wù)部門,測(cè)試人員缺乏構(gòu)建多樣化測(cè)試數(shù)據(jù)的能力;
挑戰(zhàn)2:基于Out-of-box的測(cè)試數(shù)據(jù)雖然提高了測(cè)試執(zhí)行效率,但是臟數(shù)據(jù)的問(wèn)題一直缺乏系統(tǒng)性的解決方案;
挑戰(zhàn)3:基于On-the-fly的測(cè)試數(shù)據(jù)雖然為測(cè)試數(shù)據(jù)的多樣性提供了可能,但是test case runtime的數(shù)據(jù)生成效率會(huì)嚴(yán)重拖慢測(cè)試執(zhí)行效率;
挑戰(zhàn)4:對(duì)于全鏈路壓測(cè)和容量規(guī)劃的測(cè)試數(shù)據(jù)準(zhǔn)備,效率問(wèn)題一直是瓶頸;
挑戰(zhàn)5:基于Test Data Utility的方案看似***,但是實(shí)際使用過(guò)程的代碼量以及關(guān)聯(lián)數(shù)據(jù)準(zhǔn)備的難度一直被大家詬病;
挑戰(zhàn)6: 對(duì)于新功能的測(cè)試數(shù)據(jù)準(zhǔn)備缺乏組織內(nèi)部的開(kāi)源機(jī)制,DEV很難貢獻(xiàn)Test Data Utility;
針對(duì)以上這些實(shí)際問(wèn)題,茹炳晟和他的團(tuán)隊(duì)提出了Test Data as a Service的一站式解決方案在公司內(nèi)部全面推廣使用,并且取得了全球各個(gè)研發(fā)中心的一致好評(píng)。(好東西應(yīng)該大家分享,51CTO記者偷偷告訴您——茹炳晟將在會(huì)場(chǎng)分享他設(shè)計(jì)這個(gè)系統(tǒng)的設(shè)計(jì)哲學(xué)以及對(duì)應(yīng)的實(shí)現(xiàn)技術(shù),希望大家都難從中受益。)
一個(gè)優(yōu)秀的測(cè)試基礎(chǔ)架構(gòu)長(zhǎng)什么樣?
既然專注測(cè)試基礎(chǔ)架構(gòu)領(lǐng)域這么久了,那么一個(gè)優(yōu)秀的測(cè)試基礎(chǔ)架構(gòu)應(yīng)該具備哪幾個(gè)特點(diǎn),茹炳晟也有自己的想法。他認(rèn)為有四個(gè)特點(diǎn)應(yīng)該具備:
首先是專一性:優(yōu)秀的測(cè)試基礎(chǔ)架構(gòu)應(yīng)該讓測(cè)試開(kāi)發(fā)者只需要關(guān)心自己的測(cè)試邏輯,而不需要去關(guān)注諸如測(cè)試在那里執(zhí)行,測(cè)試數(shù)據(jù)怎么生成等非業(yè)務(wù)測(cè)試相關(guān)的內(nèi)容。
其次是統(tǒng)一性:優(yōu)秀的測(cè)試基礎(chǔ)架構(gòu)應(yīng)該能很方便地和各種CI/CD集成,理想的情況就是Unified Test Execution as a Service. 只要一個(gè)簡(jiǎn)單的Restful調(diào)用發(fā)起測(cè)試請(qǐng)求,至于后臺(tái)的測(cè)試框架,測(cè)試執(zhí)行環(huán)境,測(cè)試報(bào)告等都對(duì)CI/CD系統(tǒng)透明。
再者是擴(kuò)展性:當(dāng)有新的測(cè)試框架(比如Puppeteer,NightWatch等)需要接入的時(shí)候,基礎(chǔ)架構(gòu)的改動(dòng)越小越好,甚至可以做到無(wú)縫接入。
***是靈活性:測(cè)試基礎(chǔ)架構(gòu)的各個(gè)模塊可以按需加載使用,比如在我們的系統(tǒng)中,基于AI的Defect分類模塊,多語(yǔ)言全球Site測(cè)試比較報(bào)告模塊等都是按項(xiàng)目或者Phase加載的。
采訪的***,茹炳晟透露,其實(shí)目前包括Google,eBay等跨國(guó)互聯(lián)網(wǎng)公司的研發(fā)團(tuán)隊(duì)都在經(jīng)歷“去除專職測(cè)試”的組織架構(gòu)轉(zhuǎn)變,為此Google也暫停了 2017 Google Test Automation Conference并尋求向工程效能的轉(zhuǎn)型。相應(yīng)地,QE團(tuán)隊(duì)也正在逐漸向工程效率團(tuán)隊(duì)轉(zhuǎn)型,而原本的測(cè)試工作,無(wú)論是手動(dòng)測(cè)試還是自動(dòng)化測(cè)試都將由DEV自己完成。他認(rèn)為,這樣的轉(zhuǎn)型都將會(huì)高度依賴于測(cè)試基礎(chǔ)架構(gòu)的成熟度。“將來(lái)的測(cè)試基礎(chǔ)架構(gòu)系統(tǒng)會(huì)走向公司內(nèi)部產(chǎn)品化的發(fā)展道路,產(chǎn)品的需求將來(lái)自于DEV,DEVOPS和CI/CD,同時(shí)會(huì)與PaaS以及云平臺(tái)做深度集成。”
5 月 18 - 19日,北京•粵財(cái)JW萬(wàn)豪酒店,全球最值得關(guān)注的IT技術(shù)盛宴與您不見(jiàn)不散。2018WOT全球軟件與運(yùn)維技術(shù)峰會(huì)一定是您發(fā)現(xiàn)全新思路、挖掘***思想、拓展人脈的重要平臺(tái)。
目前我們的各項(xiàng)票種已全面發(fā)售。需要提醒您的是,購(gòu)票越早,折扣越大!與KOL零距離交流,呈現(xiàn)不一樣的“英雄盛宴”!
點(diǎn)擊官網(wǎng)了解詳情:wot.51cto.com
8折預(yù)售中,搶票從速。
【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文作者和出處為51CTO.com】