自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一個(gè)優(yōu)秀的測(cè)試基礎(chǔ)架構(gòu)是如何煉成的?eBay茹炳晟暢談測(cè)試演進(jìn)史

原創(chuàng)
網(wǎng)絡(luò)
在“DevOps轉(zhuǎn)型之路”分會(huì)場(chǎng),eBay中國(guó)研發(fā)中心測(cè)試基礎(chǔ)架構(gòu)技術(shù)主管茹炳晟帶來(lái)了《測(cè)試基礎(chǔ)架構(gòu)的演進(jìn)之路》的主題演講,分享了大型電商網(wǎng)站的測(cè)試基礎(chǔ)架構(gòu)設(shè)計(jì)經(jīng)驗(yàn)與心得。會(huì)后,51CTO記者根據(jù)茹炳晟在WOT2018全球軟件與運(yùn)維技術(shù)峰會(huì)的演講內(nèi)容進(jìn)行了整理。

【51CTO.com原創(chuàng)稿件】2018年5月18-19日,由51CTO主辦的全球軟件與運(yùn)維技術(shù)峰會(huì)在北京召開(kāi)。此次峰會(huì)圍繞人工智能、大數(shù)據(jù)、物聯(lián)網(wǎng)、區(qū)塊鏈等12大核心熱點(diǎn),匯聚海內(nèi)外60位一線專(zhuān)家,是一場(chǎng)高端的技術(shù)盛宴,也是***IT技術(shù)人才學(xué)習(xí)和人脈拓展不容錯(cuò)過(guò)的平臺(tái)。

  在“DevOps轉(zhuǎn)型之路”分會(huì)場(chǎng),eBay中國(guó)研發(fā)中心測(cè)試基礎(chǔ)架構(gòu)技術(shù)主管茹炳晟帶來(lái)了《測(cè)試基礎(chǔ)架構(gòu)的演進(jìn)之路》的主題演講,分享了大型電商網(wǎng)站的測(cè)試基礎(chǔ)架構(gòu)設(shè)計(jì)經(jīng)驗(yàn)與心得。會(huì)后,51CTO記者根據(jù)茹炳晟在WOT2018全球軟件與運(yùn)維技術(shù)峰會(huì)的演講內(nèi)容進(jìn)行了整理。

[[232477]]

  GUI 自動(dòng)化測(cè)試框架的演變

  茹炳晟介紹到,eBay是一家大型電商平臺(tái),其中測(cè)試基礎(chǔ)架構(gòu)與DevOps的關(guān)系非常大,跟CI/CD(持續(xù)集成持續(xù)發(fā)布)高度集成。在CI/CD的流程中,對(duì)測(cè)試的調(diào)用都是通過(guò)統(tǒng)一的測(cè)試執(zhí)行服務(wù),通過(guò)這個(gè)統(tǒng)一的測(cè)試執(zhí)行服務(wù)來(lái)發(fā)起所有的測(cè)試執(zhí)行,包括API測(cè)試,GUI測(cè)試和性能測(cè)試。CI/CD整個(gè)流程過(guò)程當(dāng)中,發(fā)起者并不需要知道測(cè)試運(yùn)行在哪里,測(cè)試執(zhí)行環(huán)境在哪里,測(cè)試是怎么設(shè)計(jì)的,他只負(fù)責(zé)發(fā)起一個(gè)測(cè)試,同步或者異步得到一個(gè)結(jié)果,然后決定這個(gè)流水線是不是可以往下走。這些行為都是基于測(cè)試基礎(chǔ)架構(gòu)來(lái)進(jìn)行構(gòu)建的。

  GUI(圖形用戶(hù)界面)自動(dòng)化測(cè)試是最早的自動(dòng)化測(cè)試之一,屬于比較重量級(jí)的測(cè)試,投入產(chǎn)出比一直不高,所以對(duì)于大型電商網(wǎng)站通常用于上線前的輕量級(jí)Smoke測(cè)試以確保所以核心功能的正確性。同時(shí)GUI(圖形用戶(hù)界面)自動(dòng)化測(cè)試也是經(jīng)歷了一個(gè)傳奇式的變化,從一個(gè)非常簡(jiǎn)單的架構(gòu),一直演進(jìn)到大型電子商務(wù)能夠適應(yīng)全球化站點(diǎn),同一套測(cè)試腳本能夠運(yùn)行在全球化不同國(guó)家的站點(diǎn)上。

  在最原始的測(cè)試框圖上,有業(yè)務(wù)的需求會(huì)轉(zhuǎn)換成功能需求,功能需求轉(zhuǎn)換成測(cè)試需求,測(cè)試需求會(huì)有測(cè)試用例,測(cè)試用例會(huì)在本地測(cè)試執(zhí)行環(huán)境運(yùn)行。測(cè)試團(tuán)隊(duì)會(huì)在本地機(jī)器上面打開(kāi)這個(gè)網(wǎng)站進(jìn)行測(cè)試,那么問(wèn)題來(lái)了,一旦需要進(jìn)行全回歸測(cè)試,原始方法效率肯定很差,必須借助自動(dòng)化測(cè)試功能,錄制回放就是最初的自動(dòng)化。UFT這種工具可以在錄制完之后反復(fù)回放腳本。但是缺點(diǎn)是一旦界面有任何變化的,腳本需要從最初開(kāi)始修改,這顯然讓人無(wú)法接受。

  模塊化因此應(yīng)運(yùn)而生,它可以將一些基于操作級(jí)別可重復(fù)的腳本單獨(dú)抽象出來(lái),并且把它參數(shù)化。但茹炳晟表示,在實(shí)際操作中,哪些是可重復(fù)的腳本,腳本的力度如何控制,其實(shí)比較難處理。因?yàn)槊總€(gè)人理解都不一樣,對(duì)于可重用腳本的定義,在每個(gè)團(tuán)隊(duì)之間會(huì)有很大的差異。

  經(jīng)過(guò)進(jìn)一步的發(fā)展,茹炳晟和他的團(tuán)隊(duì)把可重復(fù)的腳本進(jìn)一步演變成對(duì)于Page Object(頁(yè)面對(duì)象模型)的抽象,自動(dòng)化腳本就變成了page的分裝,上面有基于page元素上的操作。后來(lái),他們?cè)趐age的基礎(chǔ)上,又做了一層Business Flow(業(yè)務(wù)流程)的抽象,測(cè)試人員可以直接看到業(yè)務(wù)驅(qū)動(dòng)的測(cè)試腳本,從case維護(hù)的易操作性及可讀性來(lái)看,又上了一個(gè)檔次。

  再到后來(lái),茹炳晟和他的團(tuán)隊(duì)開(kāi)始嘗試使用Out-of-box Test Data / Golden Data Set測(cè)試數(shù)據(jù),逐漸開(kāi)始基于Unified Flow Framework實(shí)現(xiàn)Flow Branch控制。茹炳晟解釋道,像全球都擁有站點(diǎn)的大型電商網(wǎng)站,每一個(gè)國(guó)家對(duì)網(wǎng)站的功能都會(huì)有輕微的差異,這就要求技術(shù)團(tuán)隊(duì)必須在同一個(gè)業(yè)務(wù)流程里能夠?qū)崿F(xiàn)不同的功能點(diǎn)。過(guò)去是5個(gè)國(guó)家寫(xiě)5個(gè)各自獨(dú)立的腳本,而現(xiàn)在只需要1個(gè)腳本就可以供不同國(guó)家站點(diǎn)進(jìn)行差異化測(cè)試,對(duì)工程師的工作效能提升而言是非常有幫助的。

  后來(lái),他們又基于Page Encapsulation Code Generator提高Page Object的效率。當(dāng)一個(gè)新的page或者一個(gè)page有改動(dòng)的時(shí)候,他們可以通過(guò)一個(gè)很小的程序,就可以把這個(gè)page上面所有的元素動(dòng)態(tài)捕捉下來(lái),以后需要用的時(shí)候,只要是這個(gè)page上面的元素就可以調(diào)用了,整個(gè)page的生成都是自動(dòng)完成,不需要人工去做。

  到了這個(gè)階段,測(cè)試能力已經(jīng)非常強(qiáng),但是eBay的測(cè)試團(tuán)隊(duì)仍然沒(méi)有滿(mǎn)足,他們引入Test Data Service,提供統(tǒng)一的測(cè)試數(shù)據(jù)準(zhǔn)備服務(wù)。他們提供了一個(gè)完整統(tǒng)一的接口,可以幫助測(cè)試人員降低所有測(cè)試數(shù)據(jù)的復(fù)雜性,讓測(cè)試工作變得更加高效。

  測(cè)試數(shù)據(jù)之疼+應(yīng)對(duì)策略的平臺(tái)化演變

  茹炳晟將測(cè)試數(shù)據(jù)的痛點(diǎn)歸納成五個(gè)部分。

  ***個(gè)痛點(diǎn)是On-the-fly數(shù)據(jù)的時(shí)間消耗準(zhǔn)備。On-the-fly是什么概念呢?測(cè)試人員在測(cè)試用例開(kāi)始實(shí)施之前,會(huì)在測(cè)試的腳本里動(dòng)態(tài)生成數(shù)據(jù),但如果是非常復(fù)雜的數(shù)據(jù)會(huì)十分消耗時(shí)間。

  第二個(gè)痛點(diǎn)是Out-of-box測(cè)試數(shù)據(jù)的臟數(shù)據(jù),在擁有大量測(cè)試用例的場(chǎng)景,可能存在數(shù)據(jù)相互干擾的問(wèn)題,會(huì)讓大量的測(cè)試用例由于臟數(shù)據(jù)而測(cè)試不通過(guò)。

  第三個(gè)痛點(diǎn)是測(cè)試數(shù)據(jù)本身組合的復(fù)雜性,電子商務(wù)網(wǎng)站需要綁定不同的支付方式、快遞方式,不同國(guó)家有不同法務(wù)要求,各種參數(shù)的組合非常多,給測(cè)試數(shù)據(jù)帶來(lái)很大的困擾。

  第四個(gè)痛點(diǎn)是測(cè)試數(shù)據(jù)準(zhǔn)備的環(huán)境依賴(lài)性,例如做某個(gè)功能的測(cè)試,需要準(zhǔn)備特定的數(shù)據(jù),但是因?yàn)槲⒎?wù),這個(gè)數(shù)據(jù)是由另外一個(gè)服務(wù)器提供,但各種問(wèn)題可能導(dǎo)致數(shù)據(jù)準(zhǔn)備不出來(lái),結(jié)果功能測(cè)試就無(wú)法完成。

  第五個(gè)痛點(diǎn)是性能測(cè)試數(shù)據(jù)準(zhǔn)備的時(shí)間消耗。在這方面eBay有非常好的實(shí)踐,通過(guò)Test Data Service,他們將成功率提高了很高的量級(jí),并且把測(cè)試數(shù)據(jù)的問(wèn)題從原來(lái)的30%降到5%以下。

eBay茹炳晟,WOT

  API自動(dòng)化測(cè)試框架的演變

  茹炳晟介紹到,大型電商網(wǎng)站通常有上萬(wàn)個(gè)API,由于快速迭代并上線發(fā)布,留給測(cè)試的時(shí)間非常少,只能通過(guò)一個(gè)很大的集群環(huán)境去并行運(yùn)行這些API測(cè)試,他們會(huì)引入一個(gè)并發(fā)的訪問(wèn)控制器,對(duì)這些集群、上萬(wàn)個(gè)API進(jìn)行控制。

  經(jīng)過(guò)五六個(gè)不同階段的發(fā)展,對(duì)于API測(cè)試,目前eBay已經(jīng)完全遷到微服務(wù)上實(shí)現(xiàn)。目前公司service數(shù)量大概有百余個(gè),如果按原來(lái)API的思路,case數(shù)量會(huì)超過(guò)10萬(wàn),即使用集群也跑不完。所以他們改變策略,引入了一個(gè)基于消費(fèi)者契約的驗(yàn)證模式。例如當(dāng)A端的B來(lái)調(diào)用某個(gè)腳本,測(cè)試系統(tǒng)只需要知道是誰(shuí)來(lái)調(diào)用,如何調(diào)用,然后把涉及到的API調(diào)用測(cè)試一遍就可以了。下一次只會(huì)測(cè)試之前調(diào)用過(guò)的腳本,就能保證整個(gè)模塊的質(zhì)量。

  對(duì)于測(cè)試執(zhí)行環(huán)境的搭建,茹炳晟以GUI測(cè)試為例,例如某個(gè)測(cè)試人員要求這個(gè)GUI測(cè)試是運(yùn)行在某個(gè)操作系統(tǒng)中的某個(gè)瀏覽器上的某一個(gè)版本上。那么他們會(huì)先到Selenium Grid集群里發(fā)送請(qǐng)求,詢(xún)問(wèn)集群下面有沒(méi)有安裝著這個(gè)操作系統(tǒng)的這個(gè)瀏覽器版本的節(jié)點(diǎn)?如果有,測(cè)試系統(tǒng)會(huì)直接發(fā)給他,如果沒(méi)有,測(cè)試系統(tǒng)會(huì)動(dòng)態(tài)地創(chuàng)建一個(gè)。

  以上內(nèi)容是51CTO記者根據(jù)eBay中國(guó)研發(fā)中心測(cè)試基礎(chǔ)架構(gòu)技術(shù)主管茹炳晟在WOT2018全球軟件與運(yùn)維技術(shù)峰會(huì)的采訪內(nèi)容整理,更多關(guān)于WOT的內(nèi)容請(qǐng)關(guān)注51cto.com。

【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文作者和出處為51CTO.com】

責(zé)任編輯:周雪 來(lái)源: 51CTO
相關(guān)推薦

2018-03-14 17:28:51

WOT測(cè)試基礎(chǔ)架構(gòu)茹炳晟

2021-06-08 07:32:01

框架Mock測(cè)試

2012-07-16 11:27:08

項(xiàng)目開(kāi)發(fā)

2012-07-16 09:41:59

項(xiàng)目

2012-08-29 09:58:34

JavaScriptJavaScript模

2010-09-09 21:34:06

2016-06-29 10:29:35

2016WOT企業(yè)安全

2014-02-26 10:14:51

OpenStack測(cè)試系統(tǒng)

2010-02-06 15:14:36

ibmdw架構(gòu)師

2016-01-06 14:43:21

2023-12-30 08:27:13

2017-01-11 09:22:03

大數(shù)據(jù)應(yīng)用資源

2016-11-28 15:17:52

大數(shù)據(jù)應(yīng)用大數(shù)據(jù)

2024-11-14 08:08:14

2014-11-26 09:15:20

2010-06-08 15:45:58

PHP

2013-07-01 11:01:22

API設(shè)計(jì)API

2022-03-24 14:58:02

Java散列表編程語(yǔ)言

2020-09-16 11:20:03

流計(jì)算基準(zhǔn)測(cè)試

2021-05-31 09:48:24

網(wǎng)絡(luò)釣魚(yú)滲透測(cè)試網(wǎng)絡(luò)安全
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)