阿裡巴巴CI/CD之分層自動化

来源:http://www.cnblogs.com/wangyayun/archive/2017/01/19/6305626.html
-Advertisement-
Play Games

一佛是阿裡巴巴B2B事業群高級產品經理。從事多年互聯網系統的研發和測試工作,目前主要負責雲效分層自動化測試的產品設計。因為自動化測試在實踐過程中,總是碰到各種各樣的問題,導致進入自動化測試盲區。所以,一佛就根據當下環境並結合解決案例,來講解瞭如何把握分層自動化的分層策略,如何將分層自動化融入到項目流 ...


  

    一佛是阿裡巴巴B2B事業群高級產品經理。從事多年互聯網系統的研發和測試工作,目前主要負責雲效分層自動化測試的產品設計。因為自動化測試在實踐過程中,總是碰到各種各樣的問題,導致進入自動化測試盲區。所以,一佛就根據當下環境並結合解決案例,來講解瞭如何把握分層自動化的分層策略,如何將分層自動化融入到項目流程中,如何做好自動化測試等現實問題。
自動化誕生的背景,一佛說,手工測試的效率低下,尤其是發佈頻繁的情況下,回歸量大,成本高,重覆勞動,枯燥多。而自動化之後,就可以替代重覆勞動,N次測試,只需要投入一次就夠了。
  但是自動化也是有煩惱的,問題就在於成本高(代碼能力、自動化框架、IDE 準備、調度、多環境),效果差(瀏覽器影響、執行機影響、依賴環境影響、腳本健壯性不強),覆蓋率低(框架不萬能、上下層難全、介面參數排列多),及時性低(代碼變更頻繁、遺漏的變更、項目結束才發現)等等。
所以說,為了降低成本,提高準確性,就要考慮降低人員成本、製作成本、運維成本、運行成本,同時擴大覆蓋率、數據獨立、提供好的方法和腳本。當然,就需要實行分層自動化。
在阿裡實踐分層自動化就需要很多分層工具,包括配置管理Aton、UI測試的AUI、單元測試的Amon、環境管理的Aenv、介面測試SAT、性能測試Perf、集成自動化Pre等。這裡來介紹幾個革命性工具:
一.UI自動化—AUI
    1.創新型web-ui自動化測試框架,無需安裝複雜底層環境和 IDE
    2.創建和維護腳本,都無需接觸代碼,全部為 Web 頁面可視化使用
    3.支持本地回放,支持雲端執行,解放機器,釋放雙手
    1.支持項目持續集成,線上監控等各種複雜場景
二.介面自動化—SAT
    1.可視化的介面測試,無需編寫代碼
    2.支持普通介面調試和複雜後臺交互的介面測試的用例沉澱
    3.支持主幹,項目用例的沉澱與回歸
    4.支持項目持續集成
三.性能壓測—Perf
    1.基於 Jmeter 的性能壓測平臺
    2.集腳本,場景,壓測,監控和報表為一體,可快速施壓的平臺
    3.支持多種協議,適合 http,service 介面等測試
    4.比 LoadRunner 易上手,更輕量
四.單元測試—Amon
    1.可對代碼主幹及各項目分支進行單測集成
    2.對有代碼變更的項目分支自定義頻率集成
    3.對有代碼變更的應用主幹自定義頻率集成
    4.擁有單測用例結果、覆蓋率結果、靜態掃描結果、sonar 代碼分析等質量數據
五.集成自動化—Pre
    1.支持多種自動化框架接入
    2.支持項目集成相關所有自動化的自動統一觸發
    3.支持多種自動化框架不同環境觸發
    4.支持日常持續集成
    5支持自動化失敗的原因彙總與總結
阿裡分層自動化實踐所帶來的成果是非常有價值的,在阿裡內部,大幅提高了研發測試比,減少了重覆勞動帶來的加班,同時帶動了更多高效工具的誕生;在研發方面,單測成本降低了,覆蓋率可視化了,自測有保障了,故障降低了;在測試方面降低了測試要求,增加了工作成就感;對雲效客戶來說,給企業賦能了,提高了研發測試效率。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 當獲取一個類型(class)的所有屬性時,想排除指定屬性,該如何操作? 比如:EF中一個實體類型UserEntity,通過反射獲取這個類的屬性時,想排除這個為映射的欄位ID 使用以下方法即可! 參考:http://stackoverflow.com/questions/2051834/exclude ...
  • 根據此鏈接博文學習配置: http://www.cnblogs.com/zyw-205520/p/4767633.html 1.JDK的安裝 自行百度,(最好是jdk1.7版本的) 測試如下圖,即完成jdk的安裝 2.MyEclipse安裝 自行下載安裝即可,(我使用的是2013版的) 3.Tomc ...
  • 1、隱藏tomcat版本: ①執行命令:cd /usr/local/tomcat_web/lib/ && ll 我們需要對catalina.jar進行解壓(最好提前先備份一下) ②執行命令:unzip catalina.jar 這時候會多出META-INF和org兩個目錄,找到org/apache/ ...
  • 摘要 在寫這篇文章之前,自己思索了很多,也是因為一些事情觸發了自己,使得自己想寫這麼一篇文章。也算是對2016年自己的一個總結吧。 正文 先說說我自己吧!本人16年於一所二本學校畢業,考過研,夢想著上北航,結果卻因政治考的太差沒能上,說起來很慚愧。英雄都不提往事,何況我這一個失敗的狗熊呢!不,是失敗 ...
  • 第4章 類型和聲明 4.2 布爾量 按照定義,true具有值1,而false具有值0.整數可以隱式地轉換到bool值。指針也可以隱式地轉換到bool,非零指針轉為true,具有零值的指針轉為false。 4.3 字元類型 一個char類型幾乎都包含8個二進位位,這裡還提供了另一個類型wchar_t用 ...
  • 需要 prettytime-3.2.3.Final.jar 包 代碼例子 輸出結果 ...
  • 上節我們探討了通過scalaz-stream-fs2來驅動一套數據處理流程,用fs2的Pipe類型來實現對數據流的逐行操作。本篇討論準備在上節討論的基礎上對數據流的流動和元素操作進行優化完善。如數據流動中增加諸如next、skip、eof功能、內容控制中增加對行元素的append、insert、up ...
  • 偽靜態是一種可以把文件尾碼改成任何可能的一種方法,如果我想把PHP文件偽靜態成html文件,這種相當簡單的,下麵來介紹nginx 偽靜態配置方法有需要瞭解的朋友可參考。 nginx里使用偽靜態是直接在nginx.conf 中寫規則的,並不需要像apache要開啟寫模塊(mod_rewrite)才能進 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...