课程简介
“知其然知其所以然”是学习和深入理解技术本质的核心,所以本课程的讲解将抛弃传统的就技术谈技术的方式,而是以大型全球化电商网站质量保障以及测试技术的难点为主线,以提出问题到解决问题为主干,讲解大型自动化测试项目的的关键技术点和最佳实践,内容涵盖GUI/API自动化测试框架设计与最佳实践、统一测试数据准备平台、大型电商的测试基础架构设计与落地、微服务下基于消费者契约的API测试原理与实践、代码级测试的最佳实践和关键技术、性能/压力测试以及全链路压测的企业级最佳实践等。
目标收益
1. 深入理解大型电商网站的架构发展与技术发展
2. 深入理解大型电商网站的测试基础架构设计思路与落地实践
3. 深入理解微服务架构下的测试挑战和应对方案
4. 深入理解业内领先的性能测试方法和技术实现
5. 从测试架构师的视角深入理解代码级测试的关键技术与设计策略
6. 深入理解来自 eBay,HP 和 Cisco 等大型企业的测试策略设计和测试平台基础架构
培训对象
• 希望系统性学习互联网时代下软件测试技术的测试工程师、测试开发工程师、测试技术主管和测试经理等
• 希望深刻理解互联网软件测试技术的开发工程师、运维工程师、架构师和开发经理等
课程大纲
从大型网站技术架构的演变谈起 |
1 测试工程师必须懂的大型网站架构 2 业务驱动下的大型网站技术架构的技术演进 |
GUI自动化测试框架的设计演进与落地实践 |
1 测试脚本的封装粒度问题 2 Page-Object模型的由来 3 Business Flow模型解决的问题 4 Unified Business Flow模型的原始驱动力 5 GUI测试的数据准备难点和解决方案 6 Page-Object的自动代码生成 7 行为驱动开发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 并发测试 6 引入 Load Generator Cluster 实现 API 高并发和压力测试 7 引入 2R History Database 实现 API Diff Identification 8 微服务架构下的API测试挑战 9 基于消费者契约的API测试 10 基于契约的Mock Service实现API测试依赖解耦 11 基于消费者契约的契约捕获 12 Demo分享:Spring Cloud Contract实例 |
自动化测试中测试数据难题的解决思路 |
1 测试中数据的复杂性与难点 2 基于实时数据创建的测试数据准备策略 3 基于Out-of-box的测试数据准备策略 4 测试数据准备工具的最佳实践 4.1 测试数据准备 V1.0时代 4.2 测试数据准备 V2.0时代 4.3 测试数据准备 V3.0时代 5 Test Data Service的架构设计与实现 6 数据准备的创新设计 6.1 引入 Test Data Core Service 和 Recipe 6.2 引入 Data Quantity / Quality 管理 6.3 引入 Unified Controller 接入不同 Test Data Tool 7 实际案例分享:全球大型电商测试数据的最佳实践 |
测试执行环境的设计与最佳实践 |
1 早期的测试执行环境 2 基于Jenkins触发测试执行 3 引入 Test Runner / Test Execution System 4 CI/CD集成的设计与最佳实践 5 Selenium Grid简介与工程应用 6 基于 Selenium Grid 提高测试并行执行能力 7 基于 Jenkins Cluster 提高测试并行执行能力 8 基于 Docker 实现 Selenium Grid 的动态扩展与收缩 9 基于 Docker 实现 Jenkins Cluster 的动态扩展与收缩 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 全球化站点的测试挑战与难点 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 后端性能测试工具原理与行业常用工具简介 4 前端性能测试工具原理与行业常用工具简介 5 基于LoadRunner实现企业级服务器端性能测试的实践 |
性能测试的行业最佳实践 |
1 某全球软件研发中心-性能测试卓越中心实际案例与经验分享 2 如何 0 成本应用 UI 自动化测试脚本和 API 自动化测试脚本实现性能告警 3 高并发情况下单 session 的 Profile 方法设计 4 Performance Benchmark Kits 的设计 5 基于用户数据库特征提取的测试背景数据仿真 6 代码级的性能测试实践 7 性能压测的测试数据准备 8 基于Jmeter的全链路压测系统的设计 |
代码级自动测试的最佳实践 |
1 代码的基本特征 2 代码缺陷产生的原因 3 代码错误的分类 4 代码级测试方法的分类 5 完备代码级测试用例的设计 6 代码测试覆盖率的衡量 7 代码测试覆盖率的实现原理 8 探讨覆盖率的局限性 9 典型代码错误分析 10 代码级测试中的广义自动化测试技术 11 基于变更代码的覆盖率衡量 |
从大型网站技术架构的演变谈起 1 测试工程师必须懂的大型网站架构 2 业务驱动下的大型网站技术架构的技术演进 |
GUI自动化测试框架的设计演进与落地实践 1 测试脚本的封装粒度问题 2 Page-Object模型的由来 3 Business Flow模型解决的问题 4 Unified Business Flow模型的原始驱动力 5 GUI测试的数据准备难点和解决方案 6 Page-Object的自动代码生成 7 行为驱动开发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 并发测试 6 引入 Load Generator Cluster 实现 API 高并发和压力测试 7 引入 2R History Database 实现 API Diff Identification 8 微服务架构下的API测试挑战 9 基于消费者契约的API测试 10 基于契约的Mock Service实现API测试依赖解耦 11 基于消费者契约的契约捕获 12 Demo分享:Spring Cloud Contract实例 |
自动化测试中测试数据难题的解决思路 1 测试中数据的复杂性与难点 2 基于实时数据创建的测试数据准备策略 3 基于Out-of-box的测试数据准备策略 4 测试数据准备工具的最佳实践 4.1 测试数据准备 V1.0时代 4.2 测试数据准备 V2.0时代 4.3 测试数据准备 V3.0时代 5 Test Data Service的架构设计与实现 6 数据准备的创新设计 6.1 引入 Test Data Core Service 和 Recipe 6.2 引入 Data Quantity / Quality 管理 6.3 引入 Unified Controller 接入不同 Test Data Tool 7 实际案例分享:全球大型电商测试数据的最佳实践 |
测试执行环境的设计与最佳实践 1 早期的测试执行环境 2 基于Jenkins触发测试执行 3 引入 Test Runner / Test Execution System 4 CI/CD集成的设计与最佳实践 5 Selenium Grid简介与工程应用 6 基于 Selenium Grid 提高测试并行执行能力 7 基于 Jenkins Cluster 提高测试并行执行能力 8 基于 Docker 实现 Selenium Grid 的动态扩展与收缩 9 基于 Docker 实现 Jenkins Cluster 的动态扩展与收缩 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 全球化站点的测试挑战与难点 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 后端性能测试工具原理与行业常用工具简介 4 前端性能测试工具原理与行业常用工具简介 5 基于LoadRunner实现企业级服务器端性能测试的实践 |
性能测试的行业最佳实践 1 某全球软件研发中心-性能测试卓越中心实际案例与经验分享 2 如何 0 成本应用 UI 自动化测试脚本和 API 自动化测试脚本实现性能告警 3 高并发情况下单 session 的 Profile 方法设计 4 Performance Benchmark Kits 的设计 5 基于用户数据库特征提取的测试背景数据仿真 6 代码级的性能测试实践 7 性能压测的测试数据准备 8 基于Jmeter的全链路压测系统的设计 |
代码级自动测试的最佳实践 1 代码的基本特征 2 代码缺陷产生的原因 3 代码错误的分类 4 代码级测试方法的分类 5 完备代码级测试用例的设计 6 代码测试覆盖率的衡量 7 代码测试覆盖率的实现原理 8 探讨覆盖率的局限性 9 典型代码错误分析 10 代码级测试中的广义自动化测试技术 11 基于变更代码的覆盖率衡量 |