測(cè)試右移的實(shí)踐方法

以下文章來源于獨(dú)行高飛 ,作者CrissChan

測(cè)試右移是指相對(duì)于測(cè)試左移而言的,測(cè)試右移是制品發(fā)布到生產(chǎn)環(huán)境之后,進(jìn)行的一些測(cè)試活動(dòng),但是這里的測(cè)試活動(dòng)并不是我們常說的測(cè)試活動(dòng),而是通過一些環(huán)境監(jiān)控、業(yè)務(wù)監(jiān)控、APM等一些手段對(duì)服務(wù)的可用性、穩(wěn)定性等的一些考量,從而實(shí)現(xiàn)一旦發(fā)現(xiàn)生產(chǎn)環(huán)境的問題,盡快將問題暴露給制品團(tuán)隊(duì)進(jìn)行快速修復(fù),給用戶良好的體驗(yàn)。

一、在Ops的交叉

右移,就是移動(dòng)到生產(chǎn)環(huán)境,這也就決定了在該部分的測(cè)試活動(dòng)和我們常說的測(cè)試活動(dòng)就有著很多的區(qū)別。

那么在生產(chǎn)環(huán)節(jié)的測(cè)試活動(dòng)和我們實(shí)際的測(cè)試活動(dòng)就會(huì)有很多區(qū)別了。在傳統(tǒng)的測(cè)試角色分工中,生產(chǎn)環(huán)境的負(fù)責(zé)人是我們的Ops同學(xué),Ops的核心工作理念是“穩(wěn)”

這就和我們測(cè)試中的快速驗(yàn)證,快速修復(fù)的一些方法有些沖突了。既讓有一些差異,又如何右移呢?

測(cè)試的右移不是僅僅說的是去生產(chǎn)環(huán)境進(jìn)行測(cè)試活動(dòng),當(dāng)然也是又一些可以在生產(chǎn)環(huán)境的測(cè)試活動(dòng)的,我們一會(huì)再文中也會(huì)詳細(xì)說明。

測(cè)試右移不是和Ops同學(xué)的沖突,而是利用了Ops的一些技術(shù)平臺(tái)給我們一些判斷的輸入來源,然后再結(jié)合測(cè)試原有的一些技術(shù)沉淀,完成服務(wù)質(zhì)量的保障工作。

利用運(yùn)維技術(shù)平臺(tái):可以充分利用Ops同學(xué)提供的監(jiān)控平臺(tái)、日志平臺(tái)等數(shù)據(jù),監(jiān)控?cái)?shù)據(jù)的live狀態(tài),從而更早的發(fā)現(xiàn)生產(chǎn)環(huán)節(jié)的問題,并將對(duì)應(yīng)問題的一些留痕數(shù)據(jù)(日志信息、監(jiān)控?cái)?shù)據(jù)等)記錄到缺陷系統(tǒng)中,輔助解決對(duì)應(yīng)生產(chǎn)缺陷(如果造成損失也可能是故障)

利用自動(dòng)化測(cè)試:可以利用自動(dòng)化測(cè)試手段為生產(chǎn)環(huán)節(jié)提供業(yè)務(wù)正確性的巡檢功能,這樣可以在Ops保障服務(wù)Live的基礎(chǔ)之上,自動(dòng)化測(cè)試模擬的業(yè)務(wù)邏輯又能保障業(yè)務(wù)的live,這樣也是監(jiān)控分層的一種思緒。

PS:任何的層級(jí)解決方案,都是為了彌補(bǔ)層級(jí)之間的一些間隙而設(shè)計(jì)的。

二、通過生產(chǎn)數(shù)據(jù)反哺測(cè)試左移

用戶使用系統(tǒng)的行為有可能并不是按照這個(gè)我們預(yù)期的方法來進(jìn)行的,因此我們需要在右移的環(huán)節(jié)中,通過一些前端埋點(diǎn)等技術(shù),留痕真實(shí)用戶的使用方法、喜好等從而可以在測(cè)試左移的時(shí)候反哺業(yè)務(wù)需求,這樣就可以將很多右移中獲得的有價(jià)值的內(nèi)容,在左移過程中落地實(shí)現(xiàn),從而最大化保障從業(yè)務(wù)到需求的環(huán)節(jié)。

當(dāng)然如果要實(shí)現(xiàn)反哺測(cè)試右移,必須要實(shí)現(xiàn)真正的敏捷測(cè)試,而不是僅僅是穿著敏捷外衣的偽敏捷實(shí)踐。

三、生產(chǎn)環(huán)境的測(cè)試

雖然生產(chǎn)環(huán)境是以穩(wěn)定為前提的,但是也是有測(cè)試技術(shù)手段可以在穩(wěn)定前提下可以實(shí)施的。

全鏈路測(cè)試:全鏈路測(cè)試是通過流量錄制回放技術(shù),再生產(chǎn)環(huán)境完成的測(cè)試技術(shù)。當(dāng)然要實(shí)施生產(chǎn)環(huán)境的全鏈路測(cè)試并不是測(cè)試工程師的事情,這需要對(duì)SUT做全套的技術(shù)改造,具體可以詳細(xì)學(xué)習(xí)一下全鏈路測(cè)試的文章。

灰度環(huán)境:有了灰度環(huán)境就有了可以在部分環(huán)境先上線,然后進(jìn)行一些測(cè)試活動(dòng)或者實(shí)驗(yàn)活動(dòng)。

AB測(cè)試:AB測(cè)試有可能在用戶增長(zhǎng)領(lǐng)域比測(cè)試用的更多,但它也是一種生產(chǎn)環(huán)節(jié)的測(cè)試驗(yàn)證活動(dòng),因此我們也把他放到這里。

測(cè)試右移的重點(diǎn)落地還是QA,那么這個(gè)QA既是質(zhì)量保障(Quality Assurance),也有質(zhì)量分析(Quality Analysis),更有質(zhì)量倡導(dǎo)(Quality  Advocate)。

作者:CrissChan


歡迎關(guān)注微信公眾號(hào) :Python測(cè)試社區(qū)