傳統企業轉向互聯網,如何快速提升研發效能?
互聯網時代,隨著業務的迅勐發展,企業越來越希望通過實施DevOps來提升研發、運維等IT部門的效率,支撐業務發展。互聯網企業如何利用工具讓DevOps落地?傳統企業如何提升研發效能,更快速的互聯網化?這些都是企業麵臨的問題。
近期,阿裏巴巴持續集成持續交付平台——雲效,在深圳阿裏中心舉辦了一場“業務為王時代,DevOps怎麼玩?”主題沙龍,由阿裏巴巴技術專家從雲效新概念的提出,到阿裏巴巴DevOps落地實踐、到企業如何利用雲效進行高效研發、再到阿裏巴巴CI/CD之分層自動化,幫助參會者從理念、策略、實踐、效果等方麵,全麵深入的了解DevOps玩法,以及具體如何落地的思路。
雲效是互聯網業務下催生的研發效能平台,2012年,雲效孵化自阿裏巴巴B2B事業群,為阿裏內部提供研發效能服務;2013年,雲效真正實現持續集成持續交付並落地實施; 2015年底,雲效與首家互聯網保險公司眾安保險合作,開啟商業化第一步,後來正式為互聯網+企業提供服務。
雲效經過長期落地實踐,沉澱出一套含測試策略、研發策略的工具產品,開始更好的支撐傳統企業的互聯網化。本次沙龍上,雲效負責人章屹正式提出:“互聯網+時代的企業級研發效能提升服務”新概念,為傳統企業賦能!目前已經覆蓋新零售、地產、券商、銀行、保險等行業,為顧家家居、李錦記、世聯行、國泰君安、光大銀行、天弘基金等傳統企業服務。
雲效特色
- 流式實時交付:集成驗證速度匹配項目研發速度,為業務加速,改變傳統周期性交付模式;
- 自動化質量保證:構建自動化質量保證體係,提升研發質量,為質量護航,改變傳統手工技術質量保證體係;
- 柔性化管理:大數據支撐的柔性化研發技術管理,管理策略可私有定製,改變傳統團隊統一技術管理模式。
雲效策略
雲效擁抱傳統企業,根據傳統企業研發團隊規模大小、研發人員技能高低等,進行定製化實施策略,賦能技術團隊,使業務無線可能。
落地數據
在合作中,雲效為眾安保險部署4個月時間,測試環境和持續集成累計為眾安提效232人日;雲效為五礦電商部署測試環境累計超過6萬次,UI自動化用例積累數量超過600個,實現了五礦業務場景的自動化的全麵覆蓋。
章屹:阿裏巴巴高級技術專家。清華大學電子工程係碩士畢業,十多年從事軟件的測試、開發、係統設計工作。現為阿裏巴巴高級技術專家,工程效能部技術負責人,負責雲效的技術規劃和建設工作。
在阿裏巴巴內部推行開發自測、開發自運維的環境下,阿裏巴巴DevOps應運而生。阿裏巴巴DevOps麵臨這幾個問題:1.開發的測試和運維能力培養問題;2.開發自測自運維帶來的效率和質量問題;3.DevOps的實施進度問題;4.測試團隊和運維團隊的未來發展問題;5.技術的發展(微服務、容器化)帶來的挑戰。
DevOps實施策略
在賦能開發自運維、自測過程中,工具的價值最為凸顯。
傳統解決方案:大集成環境;固定發布時間(每周一次、兩周一次、一年四次……);
雲效持續交付解決方案:所有應用24小時隨時提測並發布,無發布窗口限製;預發布集成環境,半小時完成自動化並無人值守。
DevOps實施結果
開發自運維之後,研發效率大幅提升:日均節省資源人數增長,集成驗證發布耗時減少,專業性團隊(性能、壓測等)隊伍在增長;質量得到保證:應用運維故障個數大幅下降;研發模式創新:自動化Case數量增加,50%項目小需求研發自測,測試不接手, 測試全監控。
苗欣:阿裏資深研發工程師。主要負責雲效平台解決方案服務輸出。在自動化測試技術、持續集成等方麵擁有多年實踐經驗,擁有多項技術專利。
雲效,源於內部,是阿裏巴巴技術部實現持續交付的統一協同工作平台,實現開發測試全流程自動化,支撐項目的持續集成與持續交付。目前客戶覆蓋銀行,保險,券商,電商,新零售等。
視頻鏈接:(進入頁麵後選擇左側幫助視頻欄--雲效研發整體流程視頻)
https://ali-aegis.aliyun.com/help/help.html?spm=0.0.0.0.W35KAx
項目準備階段:我們評審好項目需求,初步完成項目的資源評估,以及確定項目的交付日期後,即可在雲效配置管理係統創建項目,填寫項目成員,申請應用代碼分支。雲效提供配置管理功能,同時開放接口,支持對接外部的配管係統。
開發階段:開發在本機編寫代碼,每次代碼CI後,雲效單測集成係統會自動檢測代碼變更,幾分鍾後收到郵件提醒,在郵件中,可以看到單測用例,靜態掃描等信息,也可點擊項目或者數字鏈接到雲效單測集成係統,在係統上我們可以看到每次代碼提交運行的詳細情況。
測試準備階段(含開發自測):開發在編寫代碼的同時,測試也進入測試準備階段。測試在雲效平台可以編寫UI、接口、以及手工測試用例,用例編寫完成後,還需要準備一些測試數據,在雲效的數據銀行提供了豐富的測試數據生成方式,我們可以根據配置單,快速生成所需要的測試數據。
測試階段(環境部署、接口、UI、手工用例測試):開發自測通過後,項目進入測試階段。開發在項目中打一個測試包,打開環境管理,點擊申請,這時雲效平台會自動申請一台雲服務器,選出剛打出來的測試部署包,點擊部署,測試環境的部署就自動開始了。在部署過程中,可以實時監控部署日誌,獲取Hosts綁定信息。測試在平台響應“接手測試”,在項目中運行寫好的接口測試用例,運行UI用例,以及在手工用例係統中,運行功能用例,及時提交發現的缺陷。開發在收到缺陷郵件提醒後,可以在平台修複缺陷。接口、UI、功能測試都完成後,測試可以在平台響應功能“測試通過”。
集成測試階段:開發在平台提交集成,項目進入集成隊列,平台自動從應用的主幹拉取最新的release分支,將項目中的分支和release分支合並,打出集成測試包,部署到集成測試環境,觸發集成自動化腳本運行。項目成員可以在集成環境進行測試驗證,驗證通過後,平台上響應“驗證通過”。配管將發布包部署到正式環境,觸發代碼合並主幹。
這樣,就在雲效平台上完成了一個項目持續集成過程。
金桐:阿裏巴巴產品專家。從事多年互聯網係統的研發和測試工作,現在主要負責雲效分層自動化測試的產品設計。
手工測試效率低下,發布頻繁,回歸量大、成本高,重複勞動很枯燥。自動化測試,就是用機器執行替代測試手工操作的一種測試方法,能夠幫助測試人員從重複、枯燥的手工測試中解放出來,從而節省人力、時間或硬件資源。節約勞力為(N-1)M,M為此項工作單次需要投入的資源,N為此項工作需要重複工作的次數。
如果自動化這麼好,為什麼大家沒有全部做自動化?因為自動化測試也是有煩惱的。主要表現在:成本高(代碼能力、自動化框架、IDE 準備、調度、多環境),效果差(瀏覽器影響、執行機影響、依賴環境影響、腳本健壯性不強),覆蓋率低(框架不萬能、上下層難全、接口參數排列多),及時性低(代碼變更頻繁、遺漏的變更、項目結束才發現)等等。
為了降低成本,提高準確性,就要考慮降低人員成本、製作成本、運維成本、運行成本,同時擴大覆蓋率、數據獨立、提供好的方法和腳本。當然,就需要實行分層自動化。
在理解分層自動化之前,我們先看自動化測試金字塔,其中UI代表頁麵級係統測試,service代表服務業務測試(接口測試),unit代表單元測試。金字塔越高,表示需要投入的精力和工作量越大。分層自動化測試倡導的就是,將係統分層,根據層次特點用合適的自動化方法進行測試的一種測試策略。
阿裏巴巴分層自動化在經過策略的沉澱調整後,又經曆了長期的工具與流程實踐,並從自動化成本和效果這兩個點上突破,進行分層自動化工具和項目流程的雙重革命,最終達到業內領先的研發測試比。在阿裏實踐分層自動化需要很多分層工具,包括配置管理Aton、UI測試的AUI、單元測試的Amon、環境管理的Aenv、接口測試SAT、性能測試Perf、集成自動化Pre等。
這裏來介紹幾個革命性工具:
UI自動化—AUI
- 創新型web-ui自動化測試框架,無需安裝複雜底層環境和 IDE
- 創建和維護腳本,都無需接觸代碼,全部為 Web 頁麵可視化使用
- 支持本地回放,支持雲端執行,解放機器,釋放雙手
- 支持項目持續集成,線上監控等各種複雜場景
接口自動化—SAT
- 可視化的接口測試,無需編寫代碼
- 支持普通接口調試和複雜後台交互的接口測試的用例沉澱
- 支持主幹,項目用例的沉澱與回歸
- 支持項目持續集成
性能壓測—Perf
- 基於 Jmeter 的性能壓測平台
- 集腳本,場景,壓測,監控和報表為一體,可快速施壓的平台
- 支持多種協議,適合 http,service 接口等測試
- 比 LoadRunner 易上手,更輕量
單元測試—Amon
- 可對代碼主幹及各項目分支進行單測集成
- 對有代碼變更的項目分支自定義頻率集成
- 對有代碼變更的應用主幹自定義頻率集成
- 擁有單測用例結果、覆蓋率結果、靜態掃描結果、sonar 代碼分析等質量數據
集成自動化—Pre
- 支持多種自動化框架接入
- 支持項目集成相關所有自動化的自動統一觸發
- 支持多種自動化框架不同環境觸發
- 支持日常持續集成
- 支持自動化失敗的原因匯總與總結
阿裏分層自動化實踐帶來了很有意義的成果,在阿裏內部,大幅提高了研發測試比,減少了重複勞動帶來的加班,同時帶動了更多高效工具的誕生;在研發方麵,單測成本降低了,覆蓋率可視化了,自測有保障了,故障降低了;在測試方麵,降低了測試要求,增加了工作成就感;對雲效客戶來說,給企業賦能,提高了研發測試效率。
關於雲效:雲效,是阿裏巴巴互聯網業務催生下的新型研發效能平台,曆經阿裏集團眾多業務打磨,覆蓋研發測試全流程,通過研發效能綜合管理和專項自動化提效工具,將自動化驗證、流式實時交付、柔性化技術管理等互聯網研發模式引入銀行、證券、保險、微金融、民航、新零售等各個行業的傳統企業,同時也根據這些行業特性不斷豐富發展,使傳統企業與互聯網結合,加強諸多新業務的快速迭代和質量提升,使技術賦予業務無限可能。
來源:阿裏技術
原文鏈接
最後更新:2017-08-13 22:22:37