精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

精品国产_亚洲人成在线| 精品成人自拍视频| 欧美国产一区在线| 97伦理在线四区| 午夜毛片在线观看| 欧美wwwww| 亚洲黄色片网站| 91日韩视频在线观看| av文字幕在线观看| 91麻豆国产福利精品| 三级性生活视频| 国产视频一二三四区| 亚洲免费大片| 中文字幕在线观看日韩| 成年女人免费视频| 精品美女一区| 精品久久久久久电影| 一个色的综合| 黑人与亚洲人色ⅹvideos| 国产91在线观看| 国产精品欧美久久久| 国产精品夜色7777狼人| 捆绑裸体绳奴bdsm亚洲| 日本黄色成人| 色综合久久久久综合体桃花网| 妞干网这里只有精品| 黄色毛片在线看| 岛国av在线一区| 成人伊人精品色xxxx视频| 亚洲欧美自拍视频| 好看的日韩av电影| 久久亚洲私人国产精品va| 成人午夜剧场视频网站| 乱中年女人伦av一区二区| 欧美群妇大交群中文字幕| 18禁免费无码无遮挡不卡网站| 天堂av中文在线| 国产精品久久久久aaaa樱花| 欧美自拍资源在线| 国产又粗又猛又爽又黄| 一区二区小视频| 欧美日韩少妇| 欧美超级免费视 在线| 蜜桃av免费观看| av资源久久| 亚洲欧美日韩区| 国产又爽又黄无码无遮挡在线观看| 88久久精品| 日韩美女视频在线| 黄色免费观看视频网站| 蜜桃视频在线观看免费视频| 亚洲最快最全在线视频| 日韩精品手机在线观看| 中文字幕在线三区| 亚洲一区二区精品视频| 日韩网站在线免费观看| 爱情岛论坛亚洲品质自拍视频网站| 一区2区3区在线看| 国产精品igao激情视频| 福利小视频在线| 亚洲mv在线观看| 激情深爱综合网| 国产精品迅雷| 在线区一区二视频| www.com污| 欧美成年网站| 亚洲黄色av女优在线观看| 97人妻精品一区二区三区免| 蜜桃一区二区| 在线精品国产欧美| 日韩激情小视频| 亚洲午夜极品| 97人人做人人爱| 综合网在线观看| 日本中文字幕一区| 成人免费福利视频| 亚洲第一第二区| 久久影院电视剧免费观看| 日韩欧美视频一区二区| 国产又黄又爽又色| 日韩中文影院| 欧美性生交xxxxx久久久| 污污视频网站免费观看| 色噜噜成人av在线| 亚洲第一免费网站| 特级西西www444人体聚色 | 中国毛片在线观看| 成人在线视频免费观看| 欧美激情第三页| 91九色丨porny丨肉丝| 美女视频黄久久| 高清视频一区| porn亚洲| 亚洲成va人在线观看| 五月婷婷深爱五月| 欧美电影在线观看一区| 国产视频久久久久| h色网站在线观看| 亚洲经典三级| 成人精品久久久| 色鬼7777久久| 亚洲免费观看高清完整版在线观看熊| 欧美a v在线播放| 偷拍自拍亚洲| 亚洲欧洲美洲在线综合| 唐朝av高清盛宴| 日本美女一区二区三区视频| 99久久伊人精品影院| 成人综合影院| 欧美性xxxx极品hd满灌| 两女双腿交缠激烈磨豆腐| 国产精品免费99久久久| 国产69精品久久久久99| 91亚洲精品国偷拍自产在线观看| 久久天天做天天爱综合色| 黄色一级大片免费| 亚洲黑人在线| 中文字幕久热精品视频在线| 久久黄色精品视频| 成人性色生活片免费看爆迷你毛片| 亚洲精品成人a8198a| 免费成人直播| 亚洲精品久久久久国产| 精品一区二区三区四| 国产盗摄在线视频网站| 91污片在线观看| 国产传媒久久久| 白嫩亚洲一区二区三区| 一区二区三区国产在线观看| 日韩一区二区视频在线| 成人av电影在线网| 国产免费裸体视频| 日韩国产在线不卡视频| 久久九九全国免费精品观看| 一级黄在线观看| 欧美国产精品v| 麻豆传传媒久久久爱| 中文字幕精品影院| 青青久久av北条麻妃黑人| 日韩一级片免费在线观看| 亚洲一线二线三线久久久| 杨幂一区二区国产精品| 在线观看日韩| 91九色偷拍| 精灵使的剑舞无删减版在线观看| 日韩一级黄色片| 免费一级肉体全黄毛片| 国产成人丝袜美腿| 日本一本中文字幕| 日韩精品亚洲aⅴ在线影院| 2019日本中文字幕| 亚洲人成色777777老人头| 日韩欧美精品中文字幕| 国产成人精品无码免费看夜聊软件| 性感少妇一区| 日韩电影免费观看在| yy6080久久伦理一区二区| 在线播放日韩专区| 91久久国语露脸精品国产高跟| 一区二区中文视频| 性生交大片免费看l| 亚洲国产激情| 日韩精品伦理第一区| 91亚洲精品| 久久综合色88| 四虎永久在线精品免费网址| 欧美性生交大片免网| 在线观看免费黄色网址| 国产美女娇喘av呻吟久久| 国产乱子伦精品视频| 人妖一区二区三区| 国产精品爽黄69| 菠萝蜜视频国产在线播放| 精品国产伦一区二区三区观看方式| 黄色网zhan| 日本午夜在线| 欧美日韩亚洲综合在线| 中文字幕手机在线观看| 不卡av免费在线观看| 午夜免费一区二区| 在线一区免费| 欧美国产二区| 99久久这里有精品| 2019av中文字幕| 日本电影在线观看网站| 精品欧美久久久| 中文字幕精品视频在线观看| 中文字幕佐山爱一区二区免费| 久久久久无码国产精品一区李宗瑞| 免费看的黄色欧美网站| 亚洲欧美一区二区原创| 成人爽a毛片免费啪啪红桃视频| 国产成人a亚洲精品| 欧美大片黄色| 伊人激情综合网| 亚洲欧美黄色片| 欧美三级电影一区| 国产a∨精品一区二区三区仙踪林| 国产精品区一区二区三区| 国产白袜脚足j棉袜在线观看| 秋霞电影网一区二区| 91免费黄视频| 91精品国产麻豆国产在线观看| 国产男女在线观看| av影视在线看| 中文字幕成人精品久久不卡| 国产黄色美女视频| 欧洲视频一区二区| www.99riav| 美女扒开腿让男人桶爽久久软| 在线看日韩欧美| 你懂的网站在线| 欧美丰满少妇xxxbbb| 久草手机在线观看| 亚洲小说欧美激情另类| 国产3级在线观看| 91蜜桃在线免费视频| 色偷偷av一区二区三区| 亚洲精品视频网| 欧美日韩中字一区| 探花视频在线观看| 亚洲成a人片综合在线| www.99re7| 操你啦视频在线| 日韩一区二区三区免费观看| 波多野结衣一区二区三区四区| 亚洲成在线观看| 日韩欧美123区| 成人欧美一区二区三区黑人麻豆 | 国语对白做受69按摩| 亚洲v中文字幕| 久久黄色小视频| 一片黄亚洲嫩模| 麻豆视频在线观看| 亚洲乱码精品一二三四区日韩在线| 亚洲a∨无码无在线观看| 久久噜噜亚洲综合| 9.1成人看片| 91色综合久久久久婷婷| 亚洲一区二区三区无码久久| 99久久伊人精品| 熟女丰满老熟女熟妇| 99久久99久久综合| 久久久久9999| 久久久五月婷婷| 成年人网站免费在线观看| 91美女片黄在线观看91美女| 亚洲综合自拍网| 久久色中文字幕| 天天躁日日躁aaaa视频| 国产日韩精品视频一区| 激情五月激情综合| 1024成人网| 久草免费新视频| 午夜精品免费在线观看| 免费看日批视频| 欧美亚一区二区| 国产又黄又粗又硬| 日韩欧美卡一卡二| 午夜在线观看视频18| 亚洲视频一区二区三区| 中文日本在线观看| 久久深夜福利免费观看| 免费不卡av| 青青青国产精品一区二区| www.精品国产| 97神马电影| 亚洲瘦老头同性70tv| 亚洲精品乱码视频| 欧美高清一区| 欧美爱爱视频免费看| 老司机精品福利视频| 九色porny自拍| 成人蜜臀av电影| 精品无人区无码乱码毛片国产| 国产精品视频观看| 五月天丁香激情| 日韩欧美黄色动漫| 99久久精品无码一区二区毛片 | 97人人模人人爽人人喊38tv| 日韩高清一级| 亚洲资源视频| 日韩一区二区久久| 另类小说第一页| 成人黄色a**站在线观看| 精品成人无码一区二区三区| 亚洲人成网站色在线观看| 久久国产黄色片| 5858s免费视频成人| 姝姝窝人体www聚色窝| www欧美日韩| 神马久久午夜| 91沈先生在线观看| 欧洲专线二区三区| 国产www免费| 久久99国产精品久久| 中国xxxx性xxxx产国| 国产精品久久久久久久久免费丝袜| 一级aaa毛片| 欧美日韩免费视频| 偷拍自拍在线| 色综合久综合久久综合久鬼88| 欧美性猛交xxxx乱大交91| 精品一区免费av| 亚洲自拍偷拍一区二区| 亚洲黄色免费网站| 中文字幕永久免费视频| 日韩高清免费在线| 日本在线视频网址| 国产主播喷水一区二区| 国产99亚洲| 国产资源在线视频| 国产成人丝袜美腿| 天天操夜夜操av| 色老头久久综合| 亚欧洲精品视频| 欧美韩日一区二区| 国产精品99久久免费| 亚洲欧洲精品在线观看| 亚洲欧美视频| 日韩av无码一区二区三区不卡| 亚洲欧美成人一区二区三区| 亚洲图片欧美日韩| 国产手机视频精品| 男人久久天堂| 99国产在线观看| 中文字幕午夜精品一区二区三区| 男操女免费网站| 国产午夜精品久久| 中文字幕精品视频在线观看| 亚洲精品丝袜日韩| 欧美大片1688| 欧美精品一区在线| 久久人人超碰| 色一情一交一乱一区二区三区| 福利一区视频在线观看| 三级视频在线| 国产69久久精品成人| 琪琪久久久久日韩精品| 波多野结衣家庭教师在线播放| 不卡视频一二三| 亚洲国产成人精品激情在线| 亚洲激情久久久| 午夜影院在线观看国产主播| 精品在线观看一区二区| 国产精品入口| wwwwww日本| 在线区一区二视频| 免费观看在线午夜影视| 91探花福利精品国产自产在线| 亚洲电影影音先锋| 亚洲三级在线视频| 亚洲大片精品永久免费| 三级av在线| 日韩va亚洲va欧美va久久| 四川一级毛毛片| 亚洲一二三区视频在线观看| 色综合久久久久久| 欧美又大粗又爽又黄大片视频| 国产乱码精品一区二区亚洲| 小泽玛利亚视频在线观看| 综合中文字幕亚洲| 超碰在线观看99| 91chinesevideo永久地址| 色棕色天天综合网| 91 视频免费观看| 亚洲无人区一区| 可以在线观看的黄色| 国产精品久久久久999| 91精品综合久久久久久久久久久 | 在线观看17c| 99视频一区二区| 国产成人av免费| 欧美另类69精品久久久久9999| 国产精品极品| 亚洲天堂av线| 亚洲国产精品影院| 春暖花开成人亚洲区| 亚洲影院高清在线| 亚洲欧美日韩一区在线观看| 欧美性生交大片| 亚洲激情视频在线播放| 欧美日韩伦理一区二区| 日韩一级片免费视频| 中文字幕成人网| 亚洲精品无遮挡| 国产精品观看在线亚洲人成网| 欧美亚韩一区| 精品人妻中文无码av在线| 精品人伦一区二区色婷婷| 视频在线日韩| 男人添女荫道口女人有什么感觉| 国产日韩欧美一区二区三区乱码 | 成人激情动漫在线观看| 日本欧美www| 久久久久久午夜| 亚洲天堂一区二区三区四区| 成年人免费观看视频网站| 日韩美女一区二区三区四区| 国产精品第一|