阿裡巴巴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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...