企业级API自动化测试的最佳实践
Neo Ru 查看讲师
百林哲咨询(北京)有限公司专家团队成员
曾任思科(中国)研发中心高级QA总监,从事软件开发、QA、项目管理和过程改进等方面工作二十余年, 在软件工程领域有很深的造诣。
浏览:3692次
详情 DETAILS

课程简介

  随着敏捷开发成为大多数互联网公司的标准,我们开发软件和自动化测试的方式已经发生了巨大变化。在敏捷开发之前,大部分自动化时间都是通过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)

· 代码的基本特征

· 代码缺陷产生的原因

· 代码错误的分类

· 代码级测试方法的分类

· 完备代码级测试用例的设计

· 代码测试覆盖率的衡量

· 代码测试覆盖率的实现原理

· 探讨覆盖率的局限性

 ·  典型代码错误分析


企业服务热线:400-106-2080
电话:18519192882
投诉建议邮箱:venus@bailinzhe.com
合作邮箱:service@bailinzhe.com
总部地址:
北京市-丰台区-汽车博物馆东路6号3号楼1单元902-B73(园区)
全国客户服务中心:
天津市-南开区-桂苑路15号鑫茂集团鑫茂军民园1号楼A座802-803
公众号
百林哲咨询(北京)有限公司 京ICP备2022035414号-1