精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

阿里研究員:測試穩定性三板斧,我怎么用?

開發 開發工具
如何治理測試穩定性問題?很多人會說:環境、流程管控、監控、工具化、加機器、專人負責、等等。

如何治理測試穩定性問題?很多人會說:環境、流程管控、監控、工具化、加機器、專人負責、等等。這些都是對的。不過這些都是解決方案層面的,而不是方法論和理論體系層面的。今天,阿里研究員鄭子穎來說說測試穩定性的三板斧。據說,阿里同學們都非常認同這三板斧,看完文章感覺很多做的事情有了理論基礎。

1. 測試穩定性問題

理想情況下,我們希望每一個失敗的測試用例[1]都是由真正的缺陷引起的。實際情況中,用例失敗的原因大多是一些其他的原因:

  • 某個服務的版本部署的不對
  • 測試執行機的硬盤滿了,因為上次運行時寫的log沒清掉
  • 數據庫里有臟數據
  • 測試用例寫得有問題
  • 測試運行時有人手工執行了一次定時任務,把流水撈走了
  • 消息串了
  • ...

每次排查都是一堆這種問題,時間久了,開發和測試同學也就疲了。有些同學對失敗的用例草草看一眼,就說這是一個“環境問題”,不再排查下去了。如此一來,很多真正的缺陷就被漏過了。

2. 測試穩定性三板斧

如何治理測試穩定性問題?很多人會說:環境、流程管控、監控、工具化、加機器、專人負責、等等。這些都是對的。不過這些都是解決方案層面的,而不是方法論和理論體系層面的。

在方法論和理論體系層面,我們對安全生產有三板斧:可灰度、可監控、可回滾。類似的,對于測試穩定性,我也有三板斧:

  • 高頻(Frequency)
  • 隔離(Isolation)
  • 用完即拋(Disposable)

三板斧之一:高頻

"If it hurts, do it more often"是我說的最多的一句話之一。這句話從Martin Fowler那兒來的,有興趣的可以讀一下他的那篇“Frequency Reduces Difficulty”的原文。

高頻跑測試的好處是:

  • 縮短驗證的delay
  • 變主動驗證為“消極等待”
  • 識別intermittent的問題
  • 暴露各層面的不穩定因素
  • 倒逼人肉環節的自動化
  • 提供更多的數據供分析
  • ...

高頻不單單是治理測試穩定性的不二法門,也是治理其他工程問題的game changer:

  • 持續打包:以前只是在部署測試環境前才打包,經常因為打包的問題導致部署花了很多時間,還影響了后面的測試進度。針對這個問題,我們做了持續打包,每個小時都會對master的HEAD打包,一旦遇到問題(例如:依賴的mvn包缺失、配置缺失、等等),馬上修復。
  • 天天上生產:現在每周發一次生產環境,每次都費事費力。我提出能不能天天上生產。發布還是按照原來的節奏來,每周發一次新代碼,一周里的其余日子,就算沒有新代碼也要走一遍生產發布。空轉。不為別的,就是為了要用高頻來暴露問題、倒逼人肉環節的自動化、倒逼各種環節的優化。
  • 分支合并很痛苦,那就頻繁合并,一天一次,一天多次。做到極致就變成了主干開發,一直在rebase、一直在提交。

螞蟻的SRE團隊也是用的是高頻的思路。為了加強容災能力建設、提高容災演練的成功率,SRE團隊的一個主打思想就是要高頻演練,用高頻演練來充分暴露問題、倒逼能力建設。

高頻也不是那么容易做到的。

高頻需要基建保障。首先,高頻需要資源。高頻執行還會給基建的各個方面造成前所未有的壓力。高頻還需要能力水平達到一定的基準。就拿SRE的高頻演練來說吧。如果每次演練還有很多問題,那是不可能搞高頻的。能高頻做演練的前提是我們的隔離機制、恢復能力已經到一定的水平了。對于測試運行來說,高頻跑測試要收到效果,需要把隔離和用完即拋做好。

對于高頻跑測試,一個很常見的疑慮是:原來一天只跑一次,失敗的用例我已經沒有時間一一排查了,現在高頻跑了,我豈不是更沒時間了?我的回答是:實際上,并不會這樣,因為開始高頻跑了以后,很快問題就會收斂的,所以總的需要排查的量可能是差不多的或者反而小了的。

 

三板斧之二:隔離

相比起三板斧里的其他兩個(高頻、用完即拋),隔離的重要性應該是比較被廣為接受的。隔離的好處包括:

  • 避免測試運行彼此影響,減少噪音。
  • 提高效率,執行某些破壞性測試的時候不再需要相互協調

隔離無非是兩種:硬隔離、軟隔離。至于到底是走硬隔離路線,還是走軟隔離路線,要根據技術棧、架構、業務形態來具體分析。不過兩條道路都是能通往終局:

  • 硬隔離(全隔離環境、物理隔離)要成為終態,關鍵是成本。要在不增加質量盲區的前提下壓縮成本。例如,如果能把整個支付系統都壓縮在一臺服務器里面跑[2],而且所有的功能(包括中間件層面的,例如定時任務、消息訂閱、分庫分表規則等)都能很好的覆蓋,那是一個理想的終局。每個人都可以隨時搞幾套全量環境,那是很爽的。另外,對架構的拆分解耦(例如,我們做的按域獨立發布)是有助于降低硬隔離的成本的,可以把一整套被測系統部署的scope大大縮小。
  • 軟隔離(半共享環境,邏輯隔離,鏈路級別隔離)要成為終局,關鍵是隔離的效果。如果隔離做到完美了,就能把今天的聯調環境部署到生產環境里去跑。這樣,就不存在stable環境穩定性的問題了。這樣,做到了真正的testing in production,也是個很理想的終局狀態。

這兩種終局狀態,我在我以前的工作中都達到過。的確都能work的。這兩種隔離要通往終局,都是技術挑戰。壓縮成本是技術問題。邏輯隔離做徹底做牢靠也是技術問題。

對于我們今天的支付或電商系統來說,我們未來的終局是硬隔離還是軟隔離呢?現在還很難說。從技術可行性方面判斷,軟隔離更有可能成為我們的終局。硬隔離做到深水區以后就很難做了,因為會遇到架構的物理極限。突破架構的物理極限,有可能產生新的質量盲區。但相當長的一段時間里,硬隔離會繼續對我們幫助很大。例如,我們要做各種非常規測試的時候,就需要硬隔離。軟隔離要做到能夠支持非常規測試,技術復雜度很高。從上個財年開始,我在我團隊搞一鍵拉全量測試環境(硬隔離)的原因就是:一鍵拉全量環境相對比較容易做,主要就是自動化,而基于路由的軟隔離方案一下子還不太ready,短期內達到我們需要的隔離水平還很難。

硬隔離和軟隔離也不是對立的,是可以一起用的。例如,我們在拉起基于路由的隔離環境的時候,拉會新的數據庫。在數據庫層面是一種硬隔離,是對數據庫層面軟隔離能力欠缺的一種補充。

總之,隔離是必須的。采取何種隔離方案,要階段性的基于復雜度、成本、效果等因素的綜合考量。

 

三板斧之三:用完即拋

我最喜歡的另一句話是:Test environment is ephemeral。這句話是我原創的。Ephemeral的意思就是short-living,短暫的,短命的。我對我的QA團隊反復講這句話,希望同學們能在日常工作中時刻記得這個原則。

"Test environment is ephemeral"就意味著:

  1. 我們的test setup能力要很強。我們今天在搞的一鍵拉起環境,就是這種能力的一部分。而且setup起來以后,要能快速verify。
  2. 我們的test strategy、test plan、testability design和test automation,必須不依賴一個long living的測試環境。包括:不能依賴一個long living 的test environment里面的一些老數據。例如,Test automation必須能自己造數據,造自己需要的所有的數據。

有了這些能力,能夠以零人力成本、非常快速且非常repeatable的從無到有建一套“開箱即用”的測試環境,能夠造出來測試需要的所有數據,我們就能做到測試環境的用完即拋:要跑測試了就新建一個環境,測試跑完了就把環境銷毀掉。下次要用再建一個新的。而且,不單單是測試環境,測試執行機也要用完即拋。

對于用完還需要保留一定時間的環境,也要設一個比較短的上限。例如,我以前采用過這樣的做法:

  • 聯調測試環境默認生命周期是7天。
  • 如果到時間還需要保留,可以延展有效期(expiration date)。每次展期最多可以展7天(相當于是 newExpDate = now + 7,而不是newExpDate = currentExpDate + 7)。
  • 最多可以展期到30天(從createDate開始算),需要30天以上的,需要特批(比如,事業群CTO)。
  • 這樣的好處就是倒逼。必須一刀切的倒逼,一開始會有點痛苦,但很快大家就會習慣的,自動化什么的很快就跟上了。不這么逼一逼,很多改進是不會發生的。

用完即拋的好處是:

  • 解決環境腐化問題,減少臟數據
  • 提高repeatability,確保每次測試運行的環境都是一致的
  • 倒逼各種優化和自動化能力的建設(測試環境的準備、造數據、等等)
  • 提高資源使用的流動性。實際的物理資源不變的前提下,增加流動性就能增加實際容量。

測試環境用完即拋的確會引入一些新的質量風險。如果有一套長期維護的環境,里面的數據是之前老版本的代碼生成的,部署了新版本代碼后,這些老數據是可以幫我們發現新代碼里面的數據兼容性問題的。現在用完即拋,沒有老數據了,這些數據兼容性問題就可能無法發現。

這個風險的確是存在的。解決這個風向的思路是往前看,而不是往回退。我們要探索數據兼容性問題是否有其他的解法。有沒有其他的測試或者質量保障手段。甚至要想一想,怎么做到“從測到不測”,把數據兼容性問題通過架構設計來消除掉,讓它不成為一個問題。

3. 落地

上面講的三板斧,高頻、隔離、用完即拋,的確是有點理想主義的。我們今天的基建、架構、自動化建設,離理想狀態還有不少差距的。

但我們就是要有那么一點的理想主義的。把這三板斧做好,技術上的挑戰是非常非常大的,但我們有樂觀主義,相信我們能夠達到目標。我們有現實主義,我們可以分解目標,結合實際情況,一步步的去做。

Note:[1] 這里的用例主要指的是功能性的測試用例,包括:unit test、單系統的接口測試、全鏈路/端到端的測試,等等。

[2] 這樣子做,實操層面的一個可能的負面影響是它可能會discourage微服務化治理(包括,域自治性,獨立測試、獨立發布能力等)。

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2024-12-04 11:09:10

2013-07-03 11:13:58

DevOps

2014-07-29 11:25:18

LinuxMySQL

2017-03-23 10:54:58

LINUXMYSQL優化

2011-03-09 15:23:25

Windows Ser

2020-09-03 15:32:08

Wireshark數據包分析

2017-08-21 23:50:45

線上內存OOM

2020-11-18 08:17:14

Java源碼Class

2012-11-08 16:05:23

2009-02-19 10:20:00

2022-07-22 09:55:29

軟件工程師

2019-05-30 14:30:42

技術管理架構

2020-03-09 13:37:49

Serverless無服務器騰訊云

2022-05-07 11:47:36

服務器架構

2021-02-15 22:07:18

項目策略模式

2023-10-09 07:24:58

數據穩定性治理數據處理

2023-04-26 18:36:13

2020-08-10 09:14:50

軟件測試工具技術

2020-08-11 07:45:38

軟件測試

2019-08-13 16:23:19

JavaScript數組方法
點贊
收藏

51CTO技術棧公眾號

悠悠资源网亚洲青| www.激情五月| 色狮一区二区三区四区视频| 欧美日韩黄色一区二区| 97在线免费视频观看| 日韩欧美在线番号| 国产一区二区三区免费在线观看| 久久久久久久久久亚洲| 亚洲精品91在线| 99re热精品视频| 欧美午夜精品一区二区三区| 国产高清不卡无码视频| 国产一二在线观看| 成人国产免费视频| 国产精品直播网红| 亚洲精品www久久久久久| 日韩1区2区| 日韩精品免费在线播放| 中文字幕第三区| 日韩欧美在线观看免费| 免费视频久久久| 精品一区二区三区中文字幕老牛| 日韩欧美黄色影院| 另类小说色综合| 一个人看的www视频在线免费观看| 亚洲欧洲一区二区三区| 欧美美乳视频网站在线观看| www.色播.com| 另类小说视频一区二区| 欧美在线一级视频| 国产在线视频卡一卡二| 外国成人免费视频| 中文字幕欧美日韩| 少妇无套高潮一二三区| 日本午夜精品久久久| 日韩欧美国产电影| 51自拍视频在线观看| 91综合国产| 91福利国产精品| 每日在线更新av| a天堂资源在线| 夜夜嗨av一区二区三区网页| 一区二区精品视频| 精品无吗乱吗av国产爱色| 不卡视频免费播放| 国产精品初高中精品久久| 国产女人高潮时对白| 日韩av一区二区在线影视| 青青青国产精品一区二区| 日韩 欧美 精品| 亚洲第一精品影视| 久久久久久成人精品| 91精品国产高清一区二区三蜜臀| 久久资源中文字幕| 日韩视频―中文字幕| 在线视频精品一| 欧美 丝袜 自拍 制服 另类| 精品日韩av| 亚洲午夜精品久久久久久久久| 大桥未久一区二区| 最新国产在线拍揄自揄视频| 亚洲码国产岛国毛片在线| 成人午夜免费剧场| 香蕉久久aⅴ一区二区三区| 一区二区三区四区亚洲| 800av在线免费观看| 91色在线看| 欧美视频在线观看 亚洲欧| www.四虎成人| www.久久.com| 在线播放国产精品二区一二区四区| 在线观看国产一级片| 日韩色性视频| 日韩欧美不卡一区| 青青草视频播放| 北条麻妃国产九九九精品小说| 一区二区三区久久精品| 免费成人深夜夜行网站| 欧美日韩国产一区精品一区| 久久久伊人欧美| 亚洲第一网站在线观看| 精品一区二区三区免费毛片爱| 亚洲字幕在线观看| 午夜成人免费影院| 国产精品理论片在线观看| 国产黄色激情视频| 自拍在线观看| 欧美久久久久久久久久 | 麻豆成人av在线| 91精品中文在线| 色wwwwww| 中文字幕一区二区三区色视频| 精品人妻大屁股白浆无码| 欧美三级网站| 91精品综合久久久久久| 中文文字幕文字幕高清| 成人aaaa| 国内精品久久久久久| 亚洲av综合一区| 国产成人欧美日韩在线电影| 蜜桃视频在线观看91| 麻豆视频网站在线观看| 图片区小说区区亚洲影院| 国产精品一区二区羞羞答答| eeuss鲁片一区二区三区 | 91精品久久| 色噜噜夜夜夜综合网| 国产黄色一区二区三区| 要久久爱电视剧全集完整观看| 久久精品最新地址| 国产欧美一区二区三区在线看蜜臂| 蜜桃视频在线观看一区| 国产女主播一区二区| 91精彩视频在线播放| 亚洲高清免费观看| 超碰在线资源站| 久久99国产精一区二区三区| 欧美激情亚洲综合一区| 国产又粗又猛视频| 国产香蕉久久精品综合网| 国产免费一区二区视频| 91丨精品丨国产| 夜夜嗨av一区二区三区免费区| 日韩av综合在线| 国产精品系列在线播放| 亚洲一区二区三区乱码| 成人影院网站| 亚洲国产成人久久综合| 久草资源在线视频| 国精产品一区一区三区mba桃花| 秋霞毛片久久久久久久久| 麻豆视频在线观看免费网站黄| 91精品国产aⅴ一区二区| 美女福利视频网| 日本va欧美va精品| 日本不卡一区二区三区视频| 松下纱荣子在线观看| 亚洲成人黄色在线| 久久久全国免费视频| 国产精品原创巨作av| 亚洲高清不卡一区| 97精品国产综合久久久动漫日韩 | 99re视频在线| av片在线观看永久免费| 欧美疯狂做受xxxx富婆| 手机看片国产日韩| 久久国产精品一区二区| 在线观看日本一区| 亚洲毛片在线免费| 久久九九亚洲综合| 国产日韩欧美一区二区东京热| 亚洲欧美在线高清| 免费观看黄网站| 狠狠色狠狠色综合日日tαg| 国产欧美一区二区三区另类精品| 大黄网站在线观看| 亚洲激情自拍图| 天堂中文在线网| 国产亚洲成aⅴ人片在线观看| 狠狠操精品视频| 全球成人免费直播| 成人精品视频在线| 在线中文字幕-区二区三区四区| 欧美一卡2卡3卡4卡| 久久久久久久9999| jvid福利写真一区二区三区| 91专区在线观看| 国产乱码精品一区二区亚洲| 国产精品av网站| 欧美jizzhd69巨大| 精品88久久久久88久久久| 日韩av男人天堂| 国产欧美日韩另类一区| 日韩av.com| 狠色狠色综合久久| 欧洲一区二区在线| 日本一区二区三区电影免费观看| 久久久久久国产免费| 日韩av免费观影| 欧美天堂亚洲电影院在线播放| 91传媒免费观看| 成人免费高清在线观看| 欧美视频第三页| 一区二区三区在线观看免费| 国产在线欧美日韩| 成人国产一区| 久久久久久久久久久亚洲| 国产露出视频在线观看| 5858s免费视频成人| 久久狠狠高潮亚洲精品| 国产精品网站在线播放| 中文字幕无人区二| 日韩制服丝袜先锋影音| 麻豆一区二区三区在线观看| 日韩高清在线免费观看| 成人国产在线视频| 麻豆蜜桃在线观看| 久久久91精品| 国产美女视频一区二区三区| 这里只有精品免费| 无码人妻精品一区二区三区蜜桃91| 自拍偷拍国产亚洲| 亚洲综合欧美综合| av电影在线观看一区| 中文字幕22页| 奶水喷射视频一区| 69精品丰满人妻无码视频a片| 欧美色资源站| 91在线视频成人| 国产一区二区精品调教| 国语自产精品视频在线看| 巨大荫蒂视频欧美另类大| 日韩精品日韩在线观看| 亚洲美女福利视频| 在线不卡a资源高清| 久久国产视频一区| 亚洲国产日韩在线一区模特| 林心如三级全黄裸体| www久久精品| 中文字幕一区二区三区人妻在线视频 | 免费99精品国产自在在线| 国产污视频在线| 亚洲精品福利在线观看| 性中国古装videossex| 欧美日韩在线免费视频| 亚洲 欧美 中文字幕| 婷婷六月综合网| 免费毛片在线播放免费| 亚洲欧美色综合| www.97视频| 国产精品嫩草影院av蜜臀| www在线观看免费视频| 91丝袜呻吟高潮美腿白嫩在线观看| 能看毛片的网站| 国产乱对白刺激视频不卡 | 91女人视频在线观看| 亚洲天堂av网站| 成人午夜电影小说| 折磨小男生性器羞耻的故事| 国产99精品在线观看| 中文字幕在线视频一区二区| 精品一区免费av| 亚洲va在线va天堂va偷拍| 经典一区二区三区| www.99r| 久国产精品韩国三级视频| 色呦色呦色精品| 精品在线一区二区| 亚洲精品在线网址| 国产剧情一区二区三区| 老司机av网站| 岛国精品一区二区| jizz日本免费| 久久久综合视频| 欧美成人国产精品一区二区| 国产免费久久精品| 91av手机在线| 亚洲人成伊人成综合网小说| a级片在线观看免费| 亚洲电影在线免费观看| 毛片视频网站在线观看| 91久久精品网| 一本色道久久综合无码人妻| 3d成人h动漫网站入口| 国产又粗又猛又黄又爽无遮挡| 91精品国产综合久久婷婷香蕉| 国产成人三级在线播放| 亚洲精品一区二区三区四区高清 | 日韩少妇内射免费播放18禁裸乳| 国产一区二区三区的电影| 国产无套粉嫩白浆内谢的出处| 丝袜脚交一区二区| 国产欧美一区二| 99久久久精品| 国产精品综合激情| 亚洲精品免费播放| 天天综合网入口| 欧美性感一类影片在线播放| 国产精品嫩草影院精东| 亚洲精品电影网| 97在线观看免费观看高清| 精品中文字幕在线观看| 欧美裸体视频| 国产中文欧美精品| 欧美黑白配在线| 亚洲国产精品久久久久久女王| 综合精品一区| 99精品视频播放| 国产一区二区不卡在线| 国产黄色三级网站| 亚洲天堂精品视频| www.国产com| 日韩亚洲欧美在线观看| 国外av在线| 欧美黑人又粗大| 国产欧美在线观看免费| 国产九色91| 国产精品久久观看| 无码无遮挡又大又爽又黄的视频| 国产一区二区福利视频| 国产肉体xxxx裸体784大胆| 国产精品久久久久婷婷| 精品美女久久久久| 欧美一卡二卡在线| 午夜免费视频在线国产| 26uuu国产精品视频| 欧美经典影片视频网站| 亚洲电影网站| 欧美亚洲一区| 久久久高清视频| 亚洲欧美日韩国产一区二区三区| aaa在线视频| 亚洲国产日韩欧美在线动漫| 欧美成人xxx| 国产精品视频自在线| 色综合www| 日韩中字在线观看| 粉嫩绯色av一区二区在线观看| 日日碰狠狠添天天爽| 91国模大尺度私拍在线视频| 日本免费不卡视频| 欧美夫妻性视频| 成人污版视频| 一区二区国产日产| 另类小说一区二区三区| xxxx日本黄色| 色天天综合色天天久久| 午夜一区在线观看| 午夜精品一区二区三区在线 | 国内精品自线一区二区三区视频| 夜夜春很很躁夜夜躁| 日韩欧美成人精品| 婷婷丁香一区二区三区| 久久久久久中文字幕| 午夜免费欧美电影| 狠狠噜天天噜日日噜| 国产精品一区二区91| www.xxxx日本| 日韩欧美中文字幕公布| 国产1区在线| 亚洲精品欧美日韩| 中文字幕一区二区精品区| 91视频这里只有精品| 最新欧美精品一区二区三区| 夜夜躁狠狠躁日日躁av| 久久精品夜夜夜夜夜久久| 国产精品亚洲欧美一级在线| 18视频在线观看娇喘| 国产真实乱对白精彩久久| 欧美做爰爽爽爽爽爽爽| 日韩美女在线视频| 国产精品yjizz视频网| 精品欧美国产一区二区三区不卡| 亚洲美女一区| 人妻熟女aⅴ一区二区三区汇编| 日韩欧美亚洲成人| 高清在线观看av| 国产欧美婷婷中文| 亚洲欧美综合久久久| 18禁一区二区三区| 欧美日韩精品国产| 国产免费av高清在线| 成人性生交大片免费看小说| 亚洲精品一区二区在线看| 超级砰砰砰97免费观看最新一期 | 日韩乱码一区二区三区| 日日噜噜噜夜夜爽亚洲精品| 精品国产一区二| 777av视频| 国产拍欧美日韩视频二区| 亚洲天堂网在线观看视频| 欧美成人四级hd版| 秋霞综合在线视频| 日本成人黄色网| 亚洲欧美另类综合偷拍| 色网站免费观看| 国产精品成人一区二区| 亚洲破处大片| 搡老熟女老女人一区二区| 欧美色视频在线| 福利写真视频网站在线| 日韩av在线电影观看| 国产在线不卡一区| 久久国产精品免费看| 日韩视频第一页| 欧洲亚洲一区二区三区| 国产喷水theporn| 亚洲第一在线综合网站| а天堂8中文最新版在线官网| 亚洲在线观看视频网站| 久久久久久久欧美精品| 青青草手机在线观看| 亚洲视频在线免费观看| 日韩亚洲精品在线观看| 成人三级视频在线播放| 一区二区三区四区不卡在线 | 欧美—级a级欧美特级ar全黄| 久久不见久久见中文字幕免费| aaa一级黄色片| 色婷婷综合五月|