课程简介
随着敏捷开发成为大多数互联网公司的标准,我们开发软件和自动化测试的方式已经发生了巨大变化。在敏捷开发之前,大部分自动化时间都是通过GUI完成的。若企业投入大量资金来创建自定义功能GUI测试自动化框架,结果必然是测试耗时,脆弱且难以维护,API可以避免这些问题,并能够利用相同的功能性API自动测试来在性能测试工作中使用。敏捷和持续测试破坏了传统的测试自动化实践,导致测试工程师重新考虑自动化的完成方式。当今的自动化工程师需要在GUI的下方深入到API级别完成软件质量的保护。
本课程从 API测试的软件架构基础知识和测试策略设计基础知识讲起,循序渐进地讲述了如何做到API自动化测试框架设计与创新,提供API自动化测试中测试数据难题的解决思路、介绍了微服务下的API测试挑战以及应对思路以及基于Agile的测试执行环境的设计与最佳实践,最后详细介绍测试报告平台的设计和代码级自动测试的最佳实践。完整且细致的深入了解企业级API自动化测试。
课程收益
1.完全掌握API测试的软件架构基础知识以及测试策略设计基础知识
2.深入了解API自动化测试框架设计与创新
3.了解并掌握微服务下的API测试挑战以及应对思路
4.学习基于Agile的测试执行环境的设计并实践
5.学习实践代码级自动测试以及测试报告平台的设计
受众人群
公司高层、测试相关人员等等,以及对API自动化测试感兴趣的人员
课程周期
2天(12H)
课程大纲
API测试的软件架构基础知识 (1.5H) | · 测试工程师必须懂的架构知识 · 业务驱动下的大型网站技术架构的技术演进 · 从单一服务器谈起 · 各司其职的简单架构 · 分布式缓存集群的引入 · 突破数据库的瓶颈 · 牲口 vs 宠物 · 分布式服务的雏形 · 微服务架构的诞生 · 下一代微服务:服务网格 · “去 QE”时代下的测试管理 · 基于 Test as a Service 架构的测试管理 · DevOps与敏捷的区别与联系 · A/B测试和灰度发布 |
测试策略设计基础知识(1H) | · 分层的测试策略的设计 · 适合互联网产品的测试策略设计 · 敏捷模式下的软件测试 · 互联网时代的“去QE”测试策略 · GUI自动化测试框架的演进 · API测试基础知识 · API的后向兼容性测试 · GUI测试 VS API测试 · 性能测试基础知识 · 基于GUI测试来生成API测试用例的设计 案例分享:大型互联网电商的测试策略设计 |
API自动化测试基础(1.5H) | · 主流API测试方法简介 · 构建你的被测应用 · CURL使用基础 · Postman使用基础 · Postman的功能测试验证 · Postman的Collection · Postman的测试验证 · 基于Postman的API测试用例管理 · API测试的数据驱动 · API测试的数据准备 · 基于Postman的自动化代码生成 · Postman + Newman · Postman + Newman + Jenkins · 基于JMeter的API功能测试 · 基于JMeter的API性能测试 |
API自动化测试进阶(2H) | · API测试的数据准备 · API测试与CI/CD的集成 · API的并发测试 · API的性能测试 · API测试的难点与解决思路:数据传递 · API测试的难点与解决思路:顺序调用 · API测试的难点与解决思路:异步API · API测试的难点与解决思路:API的后向兼容性 · API测试一站式解决方案:HttpRunner使用 (Python) · API测试一站式解决方案:HttpRunner进阶 |
API自动化测试框架设计与创新 (1H) | · 最原始的API测试框架 · API测试框架的开发与关键技术 · 引入 API Test Executor 实现 Code-based API 自动化测试 · 引入 Data-Driven Test Data 的自动生成 · 引入 Parallel Execution Controller 实现 API 并发测试 · 引入 Load Generator Cluster 实现 API 高并发和压力测试 · 引入 2R History Database 实现 API Diff Identification |
微服务下的API测试挑战以及应对思路(1H) | · 微服务架构简介 · 微服务架构下的API测试挑战 · 基于消费者契约的API测试 · 基于契约的Mock Service实现API测试依赖解耦 · 基于消费者契约的契约捕获 – 基于Gateway的方法 · 基于消费者契约的契约捕获 – 基于Splunk的方法 · Demo分享:Spring Cloud Contract实例 |
API自动化测试中测试数据难题的解决思路(1.5H) | · 测试中数据的复杂性与难点 · 基于实时数据创建的测试数据准备策略 · 基于Out-of-box的测试数据准备策略 · 测试数据准备工具的最佳实践 o 测试数据准备 V1.0时代 o 测试数据准备 V2.0时代 o 测试数据准备 V3.0时代 o 测试数据准备 V4.0时代 · Test Data Service的架构设计与实现 · 数据准备的创新设计 o 引入 Test Data Core Service 和 Recipe o 引入 Data Quantity / Quality 管理 o 引入 Unified Controller 接入不同 Test Data Tool 实际案例分享:全球大型电商网站测试数据的最佳实践 |
基于Agile的测试执行环境的设计与最佳实践(1H) | · 早期的测试执行环境 · 基于Jenkins触发测试执行 · 引入 Test Runner / Test Execution System · CI/CD集成的设计与最佳实践 · Selenium Grid简介与工程应用 · 基于 Selenium Grid 提高测试并行执行能力 · 基于 Jenkins Cluster 提高测试并行执行能力
· 基于 Docker 实现 Selenium Grid 的动态扩展与收缩 · 基于 Docker 实现 Jenkins Cluster 的动态扩展与收缩 · 引入 Test Report Service 生成各种测试报告
|
测试报告平台的设计 (0.5H) | · 典型的 Test Report Platform 架构 · 高扩展的 Test Report Service · 引入 Story Board Test Report · Full Trace Test Report设计与实现 · 引入 Multi-Site Comparison Report 提高 LQA 测试效率 · 引入 Test Analysis Service 提高 Defect 分类效率 |
代码级自动测试的最佳实践(1H) | · 代码的基本特征 · 代码缺陷产生的原因 · 代码错误的分类 · 代码级测试方法的分类 · 完备代码级测试用例的设计 · 代码测试覆盖率的衡量 · 代码测试覆盖率的实现原理 · 探讨覆盖率的局限性 · 典型代码错误分析 |
Neo Ru
百林哲咨询(北京)有限公司专家团队成员
Neo Ru
百林哲咨询(北京)有限公司专家团队成员
Neo Ru
百林哲咨询(北京)有限公司专家团队成员
Neo Ru
百林哲咨询(北京)有限公司专家团队成员
Neo Ru
百林哲咨询(北京)有限公司专家团队成员
Neo Ru
百林哲咨询(北京)有限公司专家团队成员
Neo Ru
百林哲咨询(北京)有限公司专家团队成员