課程簡介
“知其然知其所以然”是學習和深入理解技術本質的核心,所以本課程的講解將拋棄傳統的就技術談技術的方式,而是以大型全球化電商網站質量保障以及測試技術的難點為主線,以提出問題到解決問題為主干,講解大型自動化測試項目的的關鍵技術點和最佳實踐,內容涵蓋GUI/API自動化測試框架設計與最佳實踐、統一測試數據準備平臺、大型電商的測試基礎架構設計與落地、微服務下基于消費者契約的API測試原理與實踐、代碼級測試的最佳實踐和關鍵技術、性能/壓力測試以及全鏈路壓測的企業(yè)級最佳實踐等。
目標收益
1. 深入理解大型電商網站的架構發(fā)展與技術發(fā)展
2. 深入理解大型電商網站的測試基礎架構設計思路與落地實踐
3. 深入理解微服務架構下的測試挑戰(zhàn)和應對方案
4. 深入理解業(yè)內領先的性能測試方法和技術實現
5. 從測試架構師的視角深入理解代碼級測試的關鍵技術與設計策略
6. 深入理解來自 eBay,HP 和 Cisco 等大型企業(yè)的測試策略設計和測試平臺基礎架構
培訓對象
? 希望系統性學習互聯網時代下軟件測試技術的測試工程師、測試開發(fā)工程師、測試技術主管和測試經理等
? 希望深刻理解互聯網軟件測試技術的開發(fā)工程師、運維工程師、架構師和開發(fā)經理等
課程大綱
從大型網站技術架構的演變談起 |
1 測試工程師必須懂的大型網站架構 2 業(yè)務驅動下的大型網站技術架構的技術演進 |
GUI自動化測試框架的設計演進與落地實踐 |
1 測試腳本的封裝粒度問題 2 Page-Object模型的由來 3 Business Flow模型解決的問題 4 Unified Business Flow模型的原始驅動力 5 GUI測試的數據準備難點和解決方案 6 Page-Object的自動代碼生成 7 行為驅動開發(fā)BDD的生與死 8 無頭瀏覽器Headless的生與死 9 案例分享:大型互聯網電商的GUI測試基礎架構的設計 |
API自動化測試的架構設計與最佳實踐 |
1 主流API測試方法簡介 2 最原始的API測試框架 3 引入 API Test Executor 實現 Code-based API 自動化測試 4 引入 Data-Driven Test Data 的自動生成 5 引入 Parallel Execution Controller 實現 API 并發(fā)測試 6 引入 Load Generator Cluster 實現 API 高并發(fā)和壓力測試 7 引入 2R History Database 實現 API Diff Identification 8 微服務架構下的API測試挑戰(zhàn) 9 基于消費者契約的API測試 10 基于契約的Mock Service實現API測試依賴解耦 11 基于消費者契約的契約捕獲 12 Demo分享:Spring Cloud Contract實例 |
自動化測試中測試數據難題的解決思路 |
1 測試中數據的復雜性與難點 2 基于實時數據創(chuàng)建的測試數據準備策略 3 基于Out-of-box的測試數據準備策略 4 測試數據準備工具的最佳實踐 4.1 測試數據準備 V1.0時代 4.2 測試數據準備 V2.0時代 4.3 測試數據準備 V3.0時代 5 Test Data Service的架構設計與實現 6 數據準備的創(chuàng)新設計 6.1 引入 Test Data Core Service 和 Recipe 6.2 引入 Data Quantity / Quality 管理 6.3 引入 Unified Controller 接入不同 Test Data Tool 7 實際案例分享:全球大型電商測試數據的最佳實踐 |
測試執(zhí)行環(huán)境的設計與最佳實踐 |
1 早期的測試執(zhí)行環(huán)境 2 基于Jenkins觸發(fā)測試執(zhí)行 3 引入 Test Runner / Test Execution System 4 CI/CD集成的設計與最佳實踐 5 Selenium Grid簡介與工程應用 6 基于 Selenium Grid 提高測試并行執(zhí)行能力 7 基于 Jenkins Cluster 提高測試并行執(zhí)行能力 8 基于 Docker 實現 Selenium Grid 的動態(tài)擴展與收縮 9 基于 Docker 實現 Jenkins Cluster 的動態(tài)擴展與收縮 10 引入 Test Report Service 生成各種測試報告 |
測試報告平臺的設計與最佳實踐 |
1 典型的 Test Report Platform 架構 2 高擴展的 Test Report Service 3 引入 Story Board Test Report 4 Full Trace Test Report設計與實現 5 引入 Multi-Site Comparison Report 提高 LQA 測試效率 6 引入 Test Analysis Service 提高 Defect 分類效率 |
全球化大型電商網站的測試基礎架構設計 |
1 全球化站點簡介 2 全球化站點的測試挑戰(zhàn)與難點 3 Global Test Capability簡介 4 深入 Global Test Capability 5 引入 Global Test Base Utilities 6 引入 Global Test Data Utilities 7 引入 Global Configuration Repository 8 引入 Unified Flow Framework 9 引入 Multi-Site Story Board Test Report 10 實際案例展示 |
性能測試基礎 |
1 不同視角的軟件性能與性能指標解讀 2 性能測試的基本方法與應用領域 3 后端性能測試工具原理與行業(yè)常用工具簡介 4 前端性能測試工具原理與行業(yè)常用工具簡介 5 基于LoadRunner實現企業(yè)級服務器端性能測試的實踐 |
性能測試的行業(yè)最佳實踐 |
1 某全球軟件研發(fā)中心-性能測試卓越中心實際案例與經驗分享 2 如何 0 成本應用 UI 自動化測試腳本和 API 自動化測試腳本實現性能告警 3 高并發(fā)情況下單 session 的 Profile 方法設計 4 Performance Benchmark Kits 的設計 5 基于用戶數據庫特征提取的測試背景數據仿真 6 代碼級的性能測試實踐 7 性能壓測的測試數據準備 8 基于Jmeter的全鏈路壓測系統的設計 |
代碼級自動測試的最佳實踐 |
1 代碼的基本特征 2 代碼缺陷產生的原因 3 代碼錯誤的分類 4 代碼級測試方法的分類 5 完備代碼級測試用例的設計 6 代碼測試覆蓋率的衡量 7 代碼測試覆蓋率的實現原理 8 探討覆蓋率的局限性 9 典型代碼錯誤分析 10 代碼級測試中的廣義自動化測試技術 11 基于變更代碼的覆蓋率衡量 |
從大型網站技術架構的演變談起 1 測試工程師必須懂的大型網站架構 2 業(yè)務驅動下的大型網站技術架構的技術演進 |
GUI自動化測試框架的設計演進與落地實踐 1 測試腳本的封裝粒度問題 2 Page-Object模型的由來 3 Business Flow模型解決的問題 4 Unified Business Flow模型的原始驅動力 5 GUI測試的數據準備難點和解決方案 6 Page-Object的自動代碼生成 7 行為驅動開發(fā)BDD的生與死 8 無頭瀏覽器Headless的生與死 9 案例分享:大型互聯網電商的GUI測試基礎架構的設計 |
API自動化測試的架構設計與最佳實踐 1 主流API測試方法簡介 2 最原始的API測試框架 3 引入 API Test Executor 實現 Code-based API 自動化測試 4 引入 Data-Driven Test Data 的自動生成 5 引入 Parallel Execution Controller 實現 API 并發(fā)測試 6 引入 Load Generator Cluster 實現 API 高并發(fā)和壓力測試 7 引入 2R History Database 實現 API Diff Identification 8 微服務架構下的API測試挑戰(zhàn) 9 基于消費者契約的API測試 10 基于契約的Mock Service實現API測試依賴解耦 11 基于消費者契約的契約捕獲 12 Demo分享:Spring Cloud Contract實例 |
自動化測試中測試數據難題的解決思路 1 測試中數據的復雜性與難點 2 基于實時數據創(chuàng)建的測試數據準備策略 3 基于Out-of-box的測試數據準備策略 4 測試數據準備工具的最佳實踐 4.1 測試數據準備 V1.0時代 4.2 測試數據準備 V2.0時代 4.3 測試數據準備 V3.0時代 5 Test Data Service的架構設計與實現 6 數據準備的創(chuàng)新設計 6.1 引入 Test Data Core Service 和 Recipe 6.2 引入 Data Quantity / Quality 管理 6.3 引入 Unified Controller 接入不同 Test Data Tool 7 實際案例分享:全球大型電商測試數據的最佳實踐 |
測試執(zhí)行環(huán)境的設計與最佳實踐 1 早期的測試執(zhí)行環(huán)境 2 基于Jenkins觸發(fā)測試執(zhí)行 3 引入 Test Runner / Test Execution System 4 CI/CD集成的設計與最佳實踐 5 Selenium Grid簡介與工程應用 6 基于 Selenium Grid 提高測試并行執(zhí)行能力 7 基于 Jenkins Cluster 提高測試并行執(zhí)行能力 8 基于 Docker 實現 Selenium Grid 的動態(tài)擴展與收縮 9 基于 Docker 實現 Jenkins Cluster 的動態(tài)擴展與收縮 10 引入 Test Report Service 生成各種測試報告 |
測試報告平臺的設計與最佳實踐 1 典型的 Test Report Platform 架構 2 高擴展的 Test Report Service 3 引入 Story Board Test Report 4 Full Trace Test Report設計與實現 5 引入 Multi-Site Comparison Report 提高 LQA 測試效率 6 引入 Test Analysis Service 提高 Defect 分類效率 |
全球化大型電商網站的測試基礎架構設計 1 全球化站點簡介 2 全球化站點的測試挑戰(zhàn)與難點 3 Global Test Capability簡介 4 深入 Global Test Capability 5 引入 Global Test Base Utilities 6 引入 Global Test Data Utilities 7 引入 Global Configuration Repository 8 引入 Unified Flow Framework 9 引入 Multi-Site Story Board Test Report 10 實際案例展示 |
性能測試基礎 1 不同視角的軟件性能與性能指標解讀 2 性能測試的基本方法與應用領域 3 后端性能測試工具原理與行業(yè)常用工具簡介 4 前端性能測試工具原理與行業(yè)常用工具簡介 5 基于LoadRunner實現企業(yè)級服務器端性能測試的實踐 |
性能測試的行業(yè)最佳實踐 1 某全球軟件研發(fā)中心-性能測試卓越中心實際案例與經驗分享 2 如何 0 成本應用 UI 自動化測試腳本和 API 自動化測試腳本實現性能告警 3 高并發(fā)情況下單 session 的 Profile 方法設計 4 Performance Benchmark Kits 的設計 5 基于用戶數據庫特征提取的測試背景數據仿真 6 代碼級的性能測試實踐 7 性能壓測的測試數據準備 8 基于Jmeter的全鏈路壓測系統的設計 |
代碼級自動測試的最佳實踐 1 代碼的基本特征 2 代碼缺陷產生的原因 3 代碼錯誤的分類 4 代碼級測試方法的分類 5 完備代碼級測試用例的設計 6 代碼測試覆蓋率的衡量 7 代碼測試覆蓋率的實現原理 8 探討覆蓋率的局限性 9 典型代碼錯誤分析 10 代碼級測試中的廣義自動化測試技術 11 基于變更代碼的覆蓋率衡量 |