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