如何保障研发质量不踩坑?阿里技术专家教你几招
摘要: 面對自動化測試成本高、測試不穩定、測試無法嚴控發布質量等常見研發過程中的測試問題時,企業如何避免?如何保障研發質量?阿里巴巴研發效能事業部-研發協同平臺高級技術專家李帥(花名焦霸),通過阿里巴巴實踐經驗總結,為大家支招,并提供詳細可落地的解決方案。
點此查看原文:http://click.aliyun.com/m/40558/
導讀:面對自動化測試成本高、測試不穩定、測試無法嚴控發布質量等常見研發過程中的測試問題時,企業如何避免?如何保障研發質量?阿里巴巴研發效能事業部-研發協同平臺高級技術專家李帥(花名焦霸),通過阿里巴巴實踐經驗總結,為大家支招,并提供詳細可落地的解決方案。
直播回顧:https://yq.aliyun.com/webinar/play/370
研發過程中常見的測試問題
自動化測試成本高
在持續集成持續交付這樣的過程中,自動化測試往往是非常重要的一環,但是在互聯網高速迭代的研發模式下,往往沒有時間和精力去投入,開發的時間都不夠,更別說測試了。即使開始有自動化測試,后期也很難有毅力繼續去維護。
積累的問題太多
自動化測試開始的晚,往往是在應用穩定了之后,我們才有精力去投入到自動化測試,這樣造成的局面是積累的歷史問題一大堆。對于測試用例失敗還會去解決,但對于覆蓋率低,代碼不規范等等這樣的問題,通常都是無力修復和解決的,但這些問題又和研發質量息息相關。
測試不穩定
這是一個老大難的問題了。測試環境不穩定,通常會導致測試本身不穩定,測試失敗無法復現,因為它可能是由多種原因導致的。通常會有很多非代碼原因的失敗頻現,這樣會干擾我們整個測試執行過程。那整個的研發團隊呢,就會對自動化測試喪失信心,通常他們發現一個測試失敗了,結果不是因為代碼原因,他們就會很沮喪。另外,多人共享一套測試環境,調試是非常不方便的。
測試無法嚴控發布質量
測試和發布,在一些初創團隊,或者使用開源系統搭建起來的系統里面,往往只有兩套或者多套系統,那么存在的問題是測試和發布通常是不能自動關聯的,要么能關聯,但是無法管控,這都是常見的問題。
阿里巴巴實踐經驗和解決方案
面對上述問題,阿里巴巴是如何解決的呢?經過這些年的積累,阿里巴巴總結了一些實踐經驗和解決方法,在這里分享給大家。
用例錄制
面對自動化成本高的問題,阿里目前是通過用例錄制的方式解決。首先,通過錄制能夠去降低開發成本;其次,錄制一定是用例級別錄制,這樣可以降低測試的維護成本。另外,要包含多維度錄制手段,包括WebUI錄制,移動端錄制,流量錄制等,通過錄制的方式解決自動化測試時用例撰寫成本高的問題。
基線測試
面對積累的問題太多,在阿里內部,我們提出一個測試理念叫做基線測試,什么是基線測試呢?實際上它是把目前線上的版本視為基線,每次發布過程都基于當前的基線進行測試,發布成功之后會更新這個基線。那如何進行這個基線測試呢?首先我們會取基線和發布版本diff為增量,基于這個增量,進行增量代碼掃描,增量測試覆蓋率,增量的測試用例的測試,所有的數據產生的問題、缺陷數據等等都是以增量部分進行的,這樣有利于我們整個質量管控推進。
我們首先要求團隊,新的代碼不能存在問題,比如覆蓋率一定要達標,代碼掃描不能有問題,我們用例部分的缺陷是優先修復的,這樣有利于保證新的部分是經過驗證的。同時在新的部分比較穩定的情況下,我們可以將舊的問題先擱置起來,有精力有時間的情況下再去修復。
云測試
面對測試不穩定這個問題的時候,在阿里內部已經打造了一套云測試系統。它包含了測試引擎,以及背后的資源調度。通常是使用ECS或者Docker為每次測試運行,提供一套唯一的測試環境,這樣的好處是整個測試過程都是有動態隔離的環境去執行的,保證了測試的穩定性。另外,我們測試執行完之后,往往有一些調試的需求,這時候我們就會保留幾個小時用于調試。
流程管控
第四個問題是測試無法嚴控發布質量。在阿里內部有一套一站式的研發協同平臺,從需求、代碼、發布、測試、度量全鏈路打通,自然而然所有環節都是管控在一起的,云效就是以這套系統打造的。同時,我們在發布環節,就通過發布流水線和測試服務這兩個功能,嚴控質量紅線。
云效體驗
云效,一站式企業協同研發云,源于阿里巴巴多年先進的管理理念和工程實踐,提供從“需求->開發->測試->發布->運維->運營”端到端的協同服務和研發工具支撐。支持公有云、專有云和混合云的協同研發,助力企業產品快速創新迭代和研發效能升級。
最近云效公有云上線三個功能,一個是測試服務,包含了單元測試、接口測試和安全掃描這三個測試服務;第二個是測試集合,是跟流水線緊密結合的功能;第三個是測試報表功能,測試報表會把我們以往的測試記錄都記錄下來,大家可以經過一些搜索條件進行簡單的搜索篩選。
作者介紹:李帥(花名焦霸):阿里巴巴研發效能事業部-研發協同平臺高級技術專家。2010年入職阿里巴巴,一直從事自動化測試工具、研發協同平臺相關產品開發和架構設計工作,目前負責阿里巴巴研發協同平臺測試域及效能度量域相關工作。
總結
以上是生活随笔為你收集整理的如何保障研发质量不踩坑?阿里技术专家教你几招的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Tensorflow快餐教程(6) -
- 下一篇: 阿里云MaxCompute被Forres