结盟众多企业“教练”, 共同设计、开发及提供人才培养解决方案,通过新颖多样的学习方式,针对性的定制化内容,助力企业全面提升竞争优势。
茹老师
2天
4800
课程简介
本课程围绕“企业级软件自动化测试的业界最佳实践”这一主题,系统性地梳理了测试工程师必备的知识体系和技术技能,课程设计以传统软件企业开展自动化测试为主线,介绍了行业内的大量最佳实践与落地案例。如果您的企业目前正面临以下这一系列的问题,那么这么课程将会是您的最佳选择:
· GUI自动化测试的效率低下,很难适应项目需求的快速变更
· 自动化测试脚本的稳定差,维护工作量大,很难实际帮助项目的快速交付
· 项目的自动化测试只能等到被测版本可以提测才可以开展,效率低下
· 不知道如何进行自动化测试范围的选择
· 自动化测试脚本的可重用性差,大量脚本需要跟随开发不停重写或修改
· 即使投入了大量的自动化开发,但是发现缺陷的主力依旧是手动测试,如何才能够平衡手动测试和自动化测试的比例
· 测试过程中的测试数据准备一直没有系统性的方法,阻碍自动化测试的顺利进行
· 深知自动化测试框架的重要性,但是自行开发的成本高居不下,收效甚微,如何才能最大程度利用开源领域的成熟框架为自己所用
· 知道“探索性测试”的重要性,但是在实际项目中不知道如何才能最大发挥其作用
· 如何能够让业务测试专家和自动化测试专家的协作达到最优的效果
· 互联网领域已经有大量非常优秀的实践,但是一直担忧传统企业项目是否能够适用,如何做到“取其精华,去其糟粕”
课程目标
· 深入理解面向产品的自动化自动化测试与面向项目的自动化测试的区别
· 活用互联网的测试方法来大幅提升传统项目测试的效率
· 深入理解并掌握GUI自动化测试的核心技术和业界项目的最佳实践
· 深入理解并掌握API自动化测试的核心技术和业界项目的最佳实践
· 深入理解并掌握行业领先的测试数据准备方法以及行业应用
· 理解并掌握行业领先的性能测试方法和技术
· 帮助测试工程师掌握持续发展的核心能力,能够面对多变的技术做到“以不变应万变”
· 从企业实际应用的视角,了解人工智能,大数据以及云计算在测试领域的落地应用与案例(涉及案例全部可以具体实践并落地,避免纸上谈兵)
目标人群
· 测试工程师,测试开发工程师和测试技术骨干成员
· 测试技术负责人,测试经理和测试总监
· 测试架构师
· DevOps资深工程师和技术负责人
· 工程效能团队负责人和工程效能研发工程师
· 开发工程师,开发技术经理,开发技术负责人
· 技术创新团队的工程师
课程大纲模块
模块1:测试工程师必须掌握的软件架构知识
· 优秀测试工程师必须掌握的软件架构知识
· 面向架构的测试 VS 面向功能的测试
· 自动化测试不是“银弹”,自动化测试的正确打开方式
· 软件项目测试 和 软件产品测试 的异同
· 测试设计思维的培养
· 基于风险驱动的测试设计策略
· 再谈软件项目的“质量”
模块2:GUI自动化测试技术精要
GUI自动化测试可以说是自动化测试最早的应用领域,也是测试工程师最常会接触到的测试实践。 本课程会从最基础的GUI测试谈起,用最直白的语句讲解GUI测试框架设计与发展的种种困境与突破,见证GUI测试框架从雏形走向高效的历程。同时还涉及这些框架在大量企业实际项目中的具体实践与落地,并梳理了影响GUI自动化测试稳定性的关键因素并给出切实可行的技术解决方案。另外对于电商业务全球化发展所带来的测试挑战,也给出了业内的最佳实践。 最后还谈论了GUI自动化测试中的一些创新设计和方法。
· 如何构建高效,低维护成本的GUI自动化测试用例
· 基于录制回放的GUI自动化测试技术
· “流水账”脚本的可维护性问题与解决思路
· 测试用例脚本封装粒度的问题
· 从页面对象模型到业务流程模型
· GUI测试必须等到Build出来后才能开展吗?
· GUI测试脚本的自动生成技术初探
· 影响GUI测试用例稳定性的主要因素与应对策略
· 行为驱动开发BDD的应用与局限性
· 超越BDD的GUI测试方案初探
· 人工智能AI在GUI自动化测试中的应用与落地
· 基于模型MBT在GUI自动化测试中的实践
· 业界案例分享:全球化大型软件项目的GUI自动化测试的最佳实践
模块3:API自动化测试技术精要
面对GUI自动化测试普遍投入产出比(ROI)不高的窘境,现在软件企业逐渐将测试重点从GUI移到了API。这里我同样会从最基础的API测试谈起,循序渐进,以兼具实用性和前瞻性的方式讲解API测试的关键技术。 最后对API测试的企业级应用场景进行系统性梳理,给出测试策略设计与最佳实践。
· 主流API测试工具(Postman和JMeter)的原理与使用技巧
· API测试工具的局限性
· 基于代码的API测试的必要性
· 设计与构建高效的API自动化测试框架
· 数据驱动在API测试中的应用
· API的并发测试和压力测试
· API测试的数据准备
· API测试中的依赖解耦
· 复杂场景的API测试(连续API调用以及API调用之间的参数传递)
· API调用时序的测试难点与应对策略
· 异步API的测试难点与应对策略
· API后向兼容性测试的难点与解决方案
· 微服务架构下的API测试
· 业界案例分享:API自动化测试的最佳实践
模块4:一站式API开源测试工具HttpRunner
通过实际案例讲解一站式API开源测试工具HttpRunner的使用,带你快速掌握API测试的核心技能。能够熟练解决API测试过程中的各项难题,并能够运用API的录制回放技术。
· HttpRunner的设计原理
· 基本使用方法
· 测试用例的组织结构
· 高级功能和用法
· 一个完整的复杂API测试案例分享
· 分层的API测试设计与最佳实践
· 测试报告的扩展机制
· Hook的扩展机制与应用
模块5:自动化测试中测试数据难题的解决思路
如同然界生物物竞天择的自然进化规律一样,测试数据准备也基本遵循类似的规律。这里将以测试数据准备的痛点为切入点,探讨测试数据准备的技术演进,并讨论最终如何发展成为测试数据平台的历程。其中还会涉及很多测试数据准备的创新设计,相信很多内容都可以很方便地被你所在的项目所应用。
· 测试中数据的复杂性与难点
· 基于实时数据创建的测试数据准备策略
· 基于预先生成的测试数据准备策略
· 测试数据生成的基本技术
· 复杂数据的生成技术
· 性能测试数据的批量生成技术
· 测试数据一致性,准确性和及时性的要求
· 测试数据工具的设计与业界最佳实践
o 测试数据准备 V1.0时代
o 测试数据准备 V2.0时代
o 测试数据准备 V3.0时代
· Test Data Service的架构设计与实现
· 测试数据准备的创新设计
· 业界案例分享:全球化大型软件的测试数据服务的设计
模块6:测试执行环境的设计与最佳实践
测试基础架构是测试架构师以及资深测试开发人员必须能够驾驭的重要环节。这里的内容会与当下主流行的DevOps和CI/CD有很多交集,并对DevOps和CI/CD的成功与否有着决定性的关键作用。同样地,测试基础架构的发展也不是一蹴而就的,同样是从一些简单的架构形式逐渐演变发展来适应高速发展的业务需求,在此我会从0到1,深入剖析大型互联网企业的测试基础架构设计以及其原始驱动力,主要探讨测试执行环境设计、测试报告平台设计以及如何与CI/CD的集成等内容,其中还会涉及很多具有前瞻性的设计创新。
· 测试执行环境的概念
· 测试基础架构的概念
· 早期的测试执行环境
· 测试执行服务的设计与应用
· 基于Jenkins触发测试执行
· 基于 Selenium Grid 提高测试并行执行能力
· 基于 Jenkins Cluster 提高测试并行执行能力
· 基于 Docker 实现 Selenium Grid 的动态扩展与收缩
· 基于 Docker 实现 Jenkins Cluster 的动态扩展与收缩
· 构建基于私有云(Cloud)的测试基础架构
· 云测服务的设计思路与原理
模块7:测试报告服务的设计与最佳实践
详细介绍All-in-one的测试报告设计策略,讲解如何实现全栈测试报告。
· 引入 Test Report Service 生成各种测试报告
· 典型的 Test Report Platform 架构
· 全栈测试报告的优势与关键技术
· 基于故事版的GUI自动化测试报告
· 设计Multi-Site Comparison Report 提高 LQA 测试效率
· 人工智能AI技术在测试用例执行结果分析中的应用与落地
模块8:性能测试的行业最佳实践
性能测试本身是个非常庞大的主题并且具有很强专业性的领域, 首先我会从0到1的入门者视角,系统性地对性能测试的方法以及应用领域进行阐述,并抛弃传统教科书纯理论讲解的形式,以通俗易懂的实例解释软件的各种性能指标,使你对这些晦涩难懂或者长期以来模棱两可的概念有本质清晰的认识。随后我从实战的角度对前端和后端性能测试工具的基本原理进行阐述,并基于LoadRunner讲解大型企业性能测试的规划、设计、实现的具体实例。然后我会以某全球软件公司性能测试卓越中心的实际案例来分享更多的性能测试创新实践,这部分内容大多属于首次公开,干货满满。最后谈论了大型互联网产品的全链路压测的行业实践。
· 不同视角的软件性能与性能指标解读
· 性能测试的基本方法与应用领域
· 后端性能测试的基本原理和工具
· 前端性能测试的基本原理和工具
· LoadRunner的使用与工程应用
· 基于LoadRunner实现企业级服务器端性能测试的实践
· JMeter的使用与工程应用
· 某知名全球软件研发中心-性能测试卓越中心实际案例与经验分享
o 如何0成本应用UI自动化测试脚本和API自动化测试脚本实现性能告警
o 高并发情况下单session的Profile方法设计
o Performance Benchmark Kits 的设计
· 基于JMeter的全链路压测系统的设计
模块9:优秀测试工程师的“软实力”和“硬实力”
作为优秀的测试工程师,不仅需要掌握测试技术,还需要掌握很多其他领域的知识,这里我对优秀测试工程师必备的自身能力进行了综合性的阐述。
· 软件测试架构师需要关注和不需要关注的事
· 软件测试架构师的知识能力模型
· 像软件测试架构师一样的思考
· 互联网企业与传统 IT 企业的异同及测试策略设计
· QE 团队向工程效率团队转型的实践
· 产品测试中的沟通原则
· 如何基于产品特性设计合适的测试策略
· DevOps与测试基础架构
模块10:测试新技术(可选模块)
面对各种新的测试方法论,测试架构师以及优秀的测试工程师必须做到胸有成竹,这里的内容选取了当下比较热门的探索式测试、测试驱动开发(TDD)、与行为驱动开发(BDD)、精准测试、基于模型的测试(MBT)以及人工智能(AI)在测试领域的应用为主题,讲述各自解决的问题和目前主流的工具,相信会让你有眼前一亮的感觉,以此帮助你拓展思路以及知识面。
· 再谈探索式测试
· 测试驱动开发(TDD)
· 行为驱动开发(BDD)
· 基于模型(MBT)的测试与大数据技术的结合
· 人工智能(AI)在测试领域的应用
· 机器学习在GUI自动化测试上的应用与实践
· 另辟蹊径的对象识别技术在GUI自动化控件识别上的应用
· 如何利用大数据技术来帮助确定测试的范围
· 基于模式识别的失败测试用例分析技术