课程大纲
模块1:资深测试工程师必须掌握的软件架构知识
系统性梳理了资深测试工程师必须掌握的大软件架构的核心知识体系,剖析了大型软件架构的设计模式,深入讲述产品架构设计的核心原理与发展历程,从高性能、高可用、伸缩性和可扩展性等四个维度对大型软件架构进行了有针对性地深度剖析,弥补了测试工程师相比开发工程师以及架构师之间知识结构上的短板,并且从测试的视角对架构的测试策略进行了解读。
• 测试架构师视角的软件架构设计
• 业务驱动下的技术架构的技术演进
• 分布式架构和微服务架构
• 面向功能的测试 VS 面向架构的测试
• 测试架构师的核心知识体系
模块2:GUI自动化测试技术基础
GUI自动化测试可以说是自动化测试最早的应用领域,也是测试工程师最常会接触到的测试实践。 本课程会从最基础的GUI测试谈起,用最直白的语句讲解GUI测试框架设计与发展的种种困境与突破,见证GUI测试框架从雏形走向高效的历程。
• WebUI自动化测试的基础知识
• 基于录制回放的GUI自动化测试
• 从录制回放到模块化的脚本开发
• 基于页面对象模型的GUI自动化测试
• 基于业务流程的GUI自动化测试
• GUI测试中的测试数据管理
• GUI测试中的常见问题与应对策略
• 自动化测试的适用场景与常见误区
• 自动化测试的投入产出比分析与实践
• 自动化测试执行比的概念与行业最佳实践
• 自动化测试的开展时机与工作量配比
• 自动化测试发现问题远少于手工测试,而且开发维护成本很高,这是问题吗?
• 自动化测试的稳定性难题以及解决方案详解
• 项目如何选择合适的自动化测试策略
模块3:GUI自动化测试技术进阶
详细讲解GUI自动化测试框架在大型软件产品的具体实践与落地,并梳理了影响GUI自动化测试稳定性的关键因素并给出切实可行的技术解决方案。另外对于全球化发展所带来的测试挑战,也给出了业内的最佳实践。 最后还谈论了GUI自动化测试中的一些创新设计和方法。
• 如何构建高效,低维护成本的GUI自动化测试用例
• GUI自动化测试技术详细解读
• 如何提高GUI自动化测试的稳定性
• 如何在开发版本完成前提前开展GUI自动化测试
• 测试用例脚本封装粒度的问题
• 从页面对象模型到业务流程模型
• GUI测试脚本的自动生成技术初探
• 影响GUI测试用例稳定性的主要因素与应对策略
• 业界案例分享:大型软件产品的GUI自动化测试的最佳实践
模块4:人工智能和大数据技术在GUI自动化测试领域的应用与案例解析
介绍人工智能和大数据技术在测试领域的前沿应用与实际案例,帮助企业学习和使用业界先进的软件测试技术。面对各种新的测试方法论,测试架构师以及优秀的测试工程师必须做到胸有成竹,这里的内容选取了当下比较热门的探索式测试、测试驱动开发(TDD)、与行为驱动开发(BDD)、精准测试、基于模型的测试(MBT)以及人工智能(AI)在测试领域的应用为主题,讲述各自解决的问题和目前主流的工具,相信会让你有眼前一亮的感觉,以此帮助你拓展思路以及知识面。
• 人工智能AI在GUI自动化测试中的应用与落地
• 基于模型MBT在GUI自动化测试中的实践
• 基于自然语言处理的自动化测试方案
• 基于特征提取的GUI控件识别
• 智能化失败测试用例的分析
• 性能测试的自动化分析与定位
• 无头浏览器在GUI测试中的应用
• 行为驱动开发BDD的应用与局限
• 性探索式测试
• 测试驱动开发(TDD)
• 精准测试
• 超越BDD的GUI测试方案初探
模块5:GUI自动化测试中测试数据难题的解决思路
如同然界生物物竞天择的自然进化规律一样,测试数据准备也基本遵循类似的规律。这里将以测试数据准备的痛点为切入点,探讨测试数据准备的技术演进,并讨论最终如何发展成为测试数据平台的历程。其中还会涉及很多测试数据准备的创新设计,相信很多内容都可以很方便地被你所在的项目所应用。
• 测试中数据的复杂性与难点
• 基于实时数据创建的测试数据准备策略
• 基于预先生成的测试数据准备策略
• 测试数据生成的基本技术
• 复杂数据的生成技术
• 性能测试数据的批量生成技术
• 测试数据一致性,准确性和及时性的要求
• 测试数据工具的设计与业界最佳实践
测试数据准备 V1.0时代
测试数据准备 V2.0时代
测试数据准备 V3.0时代
• Test Data Service的架构设计与实现
• 测试数据准备的创新设计
• 业界案例分享:全球化大型电商网站测试数据服务的设计
模块6:GUI自动化测试执行环境的设计与最佳实践
测试基础架构是测试架构师以及资深测试开发人员必须能够驾驭的重要环节。这里的内容会与当下主流行的DevOps和CI/CD有很多交集,并对DevOps和CI/CD的成功与否有着决定性的关键作用。同样地,测试基础架构的发展也不是一蹴而就的,同样是从一些简单的架构形式逐渐演变发展来适应高速发展的业务需求,在此我会从0到1,深入剖析大型互联网企业的测试基础架构设计以及其原始驱动力,主要探讨测试执行环境设计、测试报告平台设计以及如何与CI/CD的集成等内容,其中还会涉及很多具有前瞻性的设计创新。
• 测试执行环境的概念
• 测试基础架构的概念
• 早期的测试执行环境
• 测试执行服务的设计与应用
• 基于Jenkins触发测试执行
• 基于 Selenium Grid 提高测试并行执行能力
• 基于 Jenkins Cluster 提高测试并行执行能力
• 基于 Docker 实现 Selenium Grid 的动态扩展与收缩
• 基于 Docker 实现 Jenkins Cluster 的动态扩展与收缩
• 构建基于私有云(Cloud)的测试基础架构
• 云测服务的设计思路与原理
• 引入 Test Report Service 生成各种测试报告
• 典型的 Test Report Platform 架构
• 全栈测试报告的优势与关键技术
• 基于故事版的GUI自动化测试报告