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