阿里測試之道

阿里巴巴技術質量小組

買這商品的人也買了...

商品描述

本書是阿裡巴巴集團自成立以來第一本全面記錄阿裡測試技術的書籍。圍繞測試團隊經常面臨的困局,介紹了一系列技術創新、經驗和方法。結合電商、移動、搜索、推薦、廣告、IoT、金融、物流等業務場景,總結了阿裡在大促保障、移動App測試、大數據測試、AI系統測試、雲計算測試、資損防控、物流類測試等領域的方法、技術和工具平臺,以及故障快恢、灰度發布、突襲演練等安全生產技術。全書聚焦技術亮點和增量,總結實戰經驗和教訓,呈現技術體系和思考,與業界同人交流。本書適合因特網行業中的高級測試管理和技術人員閱讀,這些人員有比較深厚的測試基礎,面對諸多質量挑戰,迫切需要尋求測試技術的突破以支撐業務的快速增長。對於想在類似業務領域建立完整測試體系的從業人員,無論經驗背景如何,本書都將提供一些有益的啟發。對於高校學生和學術界科研人員,本書也提供了一個瞭解阿裡測試實踐的窗口。

目錄大綱

目 錄 第 1 章 測試團隊的發展之路 .................................................................................... 1 1.1 測試團隊面臨的困局 ........................................................................................... 1 1.2 建立代碼門禁 ....................................................................................................... 2 1.2.1 什麽是代碼門禁 ....................................................................................... 3 1.2.2 代碼門禁的效果 ....................................................................................... 3 1.2.3 落地和優化 ............................................................................................... 4 1.2.4 更多的用途 ............................................................................................... 5 1.3 理解測試的本質 ................................................................................................... 5 1.4 縮短反饋弧 ........................................................................................................... 7 1.4.1 為什麽縮短反饋弧是關鍵 ....................................................................... 7 1.4.2 怎麽才算反饋弧短 ................................................................................... 8 1.4.3 縮短反饋弧的成本和投入產出比 ........................................................... 9 1.5 提升測試的穩定性 ............................................................................................. 10 1.5.1 高頻 ......................................................................................................... 10 1.5.2 隔離 ......................................................................................................... 13 1.5.3 用完即拋 ................................................................................................. 14 1.5.4 不自動重跑 ............................................................................................. 15 1.6 提升測試的有效性 ............................................................................................. 16 1.6.1 測試有效性需要面對的挑戰 ................................................................. 16 1.6.2 變異測試和 Bug 註入 ............................................................................ 17 1.6.3 更多的註入類型 ..................................................................................... 21 1.7 提升測試的充分性 ............................................................................................. 25 1.7.1 用例自動生成 ......................................................................................... 25 1.7.2 業務覆蓋率度量 ..................................................................................... 30 1.8 從測到不測 ......................................................................................................... 31 1.8.1 防錯設計 ................................................................................................. 31 1.8.2 靜態代碼分析和 Bug 自動識別 ............................................................ 41 1.9 本章小結 ............................................................................................................. 42 第 2 章 大促質量保障 ............................................................................................. 44 2.1 大促全鏈路的風險與挑戰 ................................................................................. 44 2.1.1 全球最大流量洪峰下的高可用挑戰 ..................................................... 44 2.1.2 紛繁復雜的用戶場景 ............................................................................. 45 2.1.3 無處不在的用戶體驗 ............................................................................. 46 2.1.4 三位一體的保障體系 ............................................................................. 46 2.2 全鏈路壓測 ......................................................................................................... 47 2.2.1 全鏈路影子體系 ..................................................................................... 47 2.2.2 全鏈路壓測模型 ..................................................................................... 48 2.2.3 全鏈路壓測執行策略 ............................................................................. 49 2.2.4 常態化智能壓測 ..................................................................................... 50 2.3 全鏈路功能 ......................................................................................................... 52 2.3.1 統一環境隔離 ......................................................................................... 52 2.3.2 全鏈路影子數據 ..................................................................................... 54 2.3.3 全鏈路大促用例精簡 ............................................................................. 56 2.4 全民預演 ............................................................................................................. 59 2.4.1 什麽是全民預演 ..................................................................................... 59 2.4.2 全民預演的核心目標 ............................................................................. 60 2.4.3 全民預演如何實施 ................................................................................. 61 2.4.4 預演執行策略的制定 ............................................................................. 63 2.4.5 預演問題的收集和跟進 ......................................................................... 64 2.4.6 大促持續集成 ......................................................................................... 64 2.4.7 全民預演平臺化支撐 ............................................................................. 65 2.5 預案開關 ............................................................................................................. 68 2.5.1 預案的使用場景 ..................................................................................... 68 2.5.2 預案評估方式 ......................................................................................... 69 2.5.3 預案流程 ................................................................................................. 70 2.5.4 預案平臺 ................................................................................................. 70 2.5.5 預案與攻防 ............................................................................................. 72 2.5.6 預案的目標與展望 ................................................................................. 72 2.6 全鏈路預熱 ......................................................................................................... 73 2.6.1 解法 ......................................................................................................... 73 2.6.2 適用的業務場景 ..................................................................................... 75 2.6.3 核心應用場景 ......................................................................................... 76 2.7 快速擴/縮容 ........................................................................................................ 78 2.7.1 分析 ......................................................................................................... 79 2.7.2 方案 ......................................................................................................... 79 2.7.3 優化 ......................................................................................................... 80 2.7.4 演練 ......................................................................................................... 84 2.7.5 效果 ......................................................................................................... 84 2.7.6 展望 ......................................................................................................... 85 2.8 風控識別引擎壓測 ............................................................................................. 85 2.8.1 分析問題 ................................................................................................. 86 2.8.2 延伸 ......................................................................................................... 89 2.9 本章小結 ............................................................................................................. 89 第 3 章 移動 App 測試 ............................................................................................ 90 3.1 移動 App 測試的主要類型、方法和工具 ......................................................... 90 3.1.1 功能性測試——從手工到自動化 ......................................................... 90 3.1.2 專項測試——從簡單到專業好用 ......................................................... 95 3.1.3 穩定性測試——智能化測試的初次嘗試 ............................................. 99 3.1.4 兼容性測試——智能推薦 ................................................................... 109 3.2 移動測試的標準、流程和經驗 ....................................................................... 125 3.2.1 深度專項驗收——大促 ....................................................................... 125 3.2.2 前端發布管控 ....................................................................................... 127 3.2.3 客戶端代碼持續集成 ........................................................................... 132 3.3 移動端線上質量保障 ....................................................................................... 140 3.3.1 性能監控 ............................................................................................... 140 3.3.2 性能分級與降級 ................................................................................... 146 第 4 章 大數據測試 .............................................................................................. 151 4.1 大數據應用測試的介紹 ................................................................................... 151 4.1.1 大數據應用測試要解決的問題是什麽 ............................................... 151 4.1.2 大數據應用的技術質量體系綜述 ....................................................... 153 4.2 算法系統質量 ................................................................................................... 155 4.2.1 算法測試的定義 ................................................................................... 155 4.2.2 算法工程質量 ....................................................................................... 156 4.2.3 特徵質量與評估 ................................................................................... 162 4.2.4 模型質量的評估 ................................................................................... 163 4.2.5 深度學習平臺質量(大規模分佈式訓練系統的測試) ................... 167 4.3 工程系統質量 ................................................................................................... 168 4.3.1 功能測試平臺 Markov ......................................................................... 168 4.3.2 無人值守的性能測試 ........................................................................... 182 4.4 效果評估 ........................................................................................................... 185 4.4.1 效果評估的挑戰 ................................................................................... 186 4.4.2 用戶體驗保障 ....................................................................................... 186 4.5 對大數據應用測試的預判 ............................................................................... 190 第 5 章 AI 系統測試 .............................................................................................. 193 5.1 語音類產品測試——智能音箱測試 ................................................................ 193 5.1.1 智能音箱業務介紹 ............................................................................... 193 5.1.2 語音類產品測試的挑戰 ....................................................................... 195 5.1.3 天貓精靈測試策略 ............................................................................... 196 5.1.4 端端語音測試 ....................................................................................... 197 5.1.5 算法評測 ............................................................................................... 208 5.1.6 總結 ....................................................................................................... 211 5.2 電腦視覺類產品測試方案 ........................................................................... 211 5.2.1 電腦視覺類業務流程介紹 ............................................................... 212 5.2.2 電腦視覺類測試分析 ....................................................................... 215 5.2.3 電腦視覺類測試方案 ....................................................................... 217 5.2.4 總結 ....................................................................................................... 230 第 6 章 雲計算測試 .............................................................................................. 231 6.1 專有雲質量定義及挑戰 ................................................................................... 231 6.2 高可用測試——堅如磐石 ................................................................................ 233 6.2.1 設計思想 ............................................................................................... 233 6.2.2 異常模擬 ............................................................................................... 234 6.2.3 復雜場景測試 ....................................................................................... 235 6.2.4 自動化測試 ........................................................................................... 236 6.3 性能容量壓測——分層覆蓋 ............................................................................ 238 6.3.1 單產品性能——基礎能力 ................................................................... 239 6.3.2 平臺性能容量——集成視角 ............................................................... 240 6.3.3 用戶場景性能——業務視角 ............................................................... 242 6.4 熱升級——給飛行中的飛機更換發動機 ........................................................ 244 6.4.1 技術原理 ............................................................................................... 244 6.4.2 測試挑戰 ............................................................................................... 245 6.5 用戶場景測試——知己知彼 ............................................................................ 247 第 7 章 金融類測試之資損風險防控 ..................................................................... 251 7.1 資損風險防控體系 ........................................................................................... 251 7.1.1 怎麽防 ................................................................................................... 252 7.1.2 怎麽控 ................................................................................................... 252 7.1.3 止損 ....................................................................................................... 252 7.2 資損風險防範 ................................................................................................... 253 7.2.1 資金產品測試要點 ............................................................................... 253 7.2.2 資金系統測試要點 ............................................................................... 255 7.2.3 資金項目變更規範 ............................................................................... 266 7.2.4 資金測試框架/平臺 .............................................................................. 268 7.3 資損風險識別 ................................................................................................... 271 7.3.1 數據核對體系 ....................................................................................... 271 7.3.2 數據核對平臺 ....................................................................................... 275 7.4 資損風險應急 ................................................................................................... 278 7.5 資損防控文化 ................................................................................................... 278 第 8 章 物流類測試 .............................................................................................. 280 8.1 物流類通用測試技術 ....................................................................................... 280 8.1.1 基於測試服務化的可編排測試 ........................................................... 280 8.1.2 基於業務流量的採集和回放平臺 ....................................................... 283 8.2 倉儲實操類測試技術 ....................................................................................... 285 8.2.1 倉儲實操機器人業務介紹 ................................................................... 285 8.2.2 倉儲實操機器人業務面臨的質量挑戰 ............................................... 285 8.2.3 倉儲實操機器人自動化測試方案及結果 ........................................... 286 8.3 末端 IoT 設備測試技術 .................................................................................... 290 8.3.1 末端物流業務介紹 ............................................................................... 290 8.3.2 硬件服務與系統服務質量保證的挑戰 ............................................... 291 8.3.3 阿裡巴巴菜鳥末端 IoT 設備通用的測試產品及方案 ....................... 291 8.3.4 硬件服務與系統服務質量保障成果 ................................................... 296 8.4 全球化物流骨乾網測試技術 ........................................................................... 298 8.4.1 全球化物流骨乾網業務簡介 ............................................................... 298 8.4.2 全球化物流骨乾網質量挑戰 ............................................................... 299 8.4.3 全球化物流骨乾網測試方案 ............................................................... 300 第 9 章 安全生產 .................................................................................................. 303 9.1 資金安全 ........................................................................................................... 303 9.1.1 資損定義 ............................................................................................... 304 9.1.2 資損解決方法 ....................................................................................... 304 9.1.3 資金安全策略 ....................................................................................... 306 9.1.4 體系化解決方案 ................................................................................... 307 9.1.5 資金安全產品介紹 ............................................................................... 309 9.1.6 資金安全展望 ....................................................................................... 314 9.2 故障快恢 ........................................................................................................... 315 9.2.1 功能介紹 ............................................................................................... 315 9.2.2 關鍵技術 ............................................................................................... 316 9.3 灰度發布 ........................................................................................................... 318 9.3.1 抓手——變更三板斧 ........................................................................... 318 9.3.2 灰度生態建設 ....................................................................................... 319 9.3.3 灰度常堅守,安全無止境 ................................................................... 320 9.4 信息安全風險 ................................................................................................... 321 9.4.1 風險識別 ............................................................................................... 321 9.4.2 風險應對 ............................................................................................... 323 9.4.3 持續優化 ............................................................................................... 326 9.5 突襲演練 ........................................................................................................... 327 9.5.1 背景 ....................................................................................................... 327 9.5.2 突襲演練策略 ....................................................................................... 327 9.5.3 突襲演練技術大圖 ............................................................................... 329 第 10 章 回顧和展望 ............................................................................................ 331 10.1 阿裡測試的昨天和今天 ................................................................................. 331 10.2 測試是軟件開發的一個領域 ......................................................................... 334 10.3 軟件質量的挑戰和不變量 ............................................................................. 336 10.4 展望未來 ......................................................................................................... 341 10.5 寫在最後 ......................................................................................................... 347