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