敏捷测试最佳实践与DevOps自动化测试实践课程特色与背景
培训重点: 针对培训课程内容和特色做简要介绍,系统讲解敏捷测试过程中的储备知识,熟练掌握敏捷测试过程各阶段中所用到的技能点。课程内容包括:敏捷测试的理解、敏捷测试的核心;敏捷测试人员的必备素养;敏捷策略的制定、敏捷测试的实施过程;敏捷测试过程中开展自动化测试的前提条件及约束条件;敏捷测试自动化测试的实施:单元、接口、UI;敏捷测试与探索测试的深入探索;持续集成在敏捷测试中的应用;如何高效的开展手工测试。Devops下开展自动化测试的前提条件及约束条件;Devops接口测试的规范及接口测试实践;DevopsUI自动化测试的规范及接口测试实践;自动化测试框架的设计与实现;单元测试的方法TDD;掌握Postman轻量化接口测试;Python接口自动化实践(HTTP协议、Fiddler抓包、Request封装、数据库驱动框架、Mock等);接口测试框架设计与实现;接口测试的规范;python与selenium很好的结合,让学习者花最短的时间实现从功能工程师至自动化测试工程师的蜕变。课程收益:探索性测试、自动化测试在敏捷测试中的应用与开展敏捷测试团队的组建与培养
课程大纲
日程安排:第一天敏捷测试的认知&敏捷测试策略1.你我认知的敏捷测试敏捷开发的原则敏捷测试下的,测试与开发的关系协同协作2.敏捷测试的核心关键点 关注用户体验、系统使用场景测试尽早介入Code review、单元测试、自动化测试持续集成、持续测试、随时随地测试3.敏捷测试人员的必要条件依据风险确定需求优先级积极引入自动化测试增加探索性测试的使用适应从冲刺到冲刺的变化4.敏捷测试策略确定被测对象测试范围确定测试技术(自动化测试技术)与质量标准明确项目的测试流程确定了每一种测试技术的具体使用方式注:包括待使用的框架和工具等探索测试的深度和广度;探索测试的重点和难点统一项目内使用的测试相关的术语确定了质量度量5.测试策略和测试计划的差异敏捷测试实施过程1.敏捷测试的实施过程前期项目信息收集确立质量目标确定测试类型确定测试工具和框架确定测试阶段确定测试度量2.持续改进和风险分析敏捷测试过程下的人员要求与测试需求的提取1.测试人员的思维用户角度工具辅助思维整理2.测试需求的分析明确需求的范围业务处理过程需求背后的隐式需求3.测试需求分析何时进行?4.为什么要进行测试需求分析?直观的需求(用例图/活动图)需求转变5.如何开展测试需求分析?了解和学习需求6.测试需求分析的成果物是什么?明确测试范围-------功能点功能的处理过程----单功能点7.测试需求分析的成果物是什么?明确测试范围8.需求分析和测试需求分析的区别?需求分析测试需求分析敏捷测试实施过程1.敏捷测试的实施过程前期项目信息收集确立质量目标确定测试类型确定测试工具和框架确定测试阶段确定测试度量持续改进和风险分析敏捷测试中如何高效的开展手工与自动化1.敏捷团队中如何高效设计例如何精简测试用例条数:测试用例不是越多越好等价类设计法边界值设计法基本路径分析法场景设计法因果图设计法等敏捷下的自动化测试的实施敏捷测试过程中如何构建高质量的自动化测试1.自动化测试的实施背景2.如何建立一个务实明确的自动化测试目标问题1:如何估算分析自动化测试效益问题2:如何构建高收益成本比自动化测试目标敏捷测试下的自动化测试规范3.敏捷测试下自动化测试的引入要求自动化测试准入条件自动化测试适用场景4.敏捷测试下自动化测试范围分层测试:单元、接口、UI5.自动化测试开展时机6.自动化测试规范工具规范单元测试规范接口自动化测试规范UI自动化测试规范7.自动化测试流程8.项目团队9.风险评估敏捷测试下的自动化测试开展1.确定自动化测试类型2.明确自动化测试活动3.敏捷测试过程中测试工作的开展单元测试框架:采用TDD,覆盖率检查,QA review UT,每次构建在CI执行测试数据工具: faker等集成测试框架集成测试工具:Swagger、Jmeter等UI功能测试框架:selenium、UFT性能测试:压力测试,负载测试安全测试:渗透测试4.代码单元测试方案基于TDD的单元测试框架编写单元测试代码使用Mock模拟外部依赖测试单元测试用例的实战5.接口自动化测试方案轻量化接口测试接口自动化测试框架6.UI自动化测试方案UI自动化测试自动化测试框架敏捷策划中探索性测试的应用:探索性测试策略的引入1.软件测试需求分析与管理需求分析与需求评审1.软件测试策略方案认知与设计2.常规测试策略:有点至面、流程式3.结构化测试流程探索性测试的基本过程第二天敏捷策划中探索性测试的应用:探索性测试策略的系统认知4.探索性测试的核心5.探索性测试的目标6.探索性测试的优点7.自由式探索式测试8.基于场景的探索式测试9.基于策略的探索式测试基于反馈的探索式测试DevOps中如何高效的开展手工与自动化DevOps自动化测试的开展1.DevOps自动化测试的认知2.DevOps下自动化测试的引入要求自动化测试准入条件自动化测试适用场景3.DevOps下自动化测试范围分层测试:单元、接口、UI4.自动化测试开展时机5.自动化测试规范工具规范单元测试规范接口自动化测试规范UI自动化测试规范6.自动化测试流程7.项目团队8.风险评估第三天单元测试方法TDD一、TDD编程单元划分定义1.从“用户故事”到“程序文件”划分定义2.程序文件分类组织到层次化文件夹3.从“程序文件”到“数据与函数”划分定义4.接口层次、函数单元粒度与访问范围大小5.动手实践:代码单元划分定义实践二、TDD编程单元的测试1.基于编程单元代码实现的测试用例与测试覆盖率2.基于编程单元声明定义的测试用例与测试覆盖率3.好的单元测试必须遵守AIR原则4.编写单元测试代码遵守BCDE原则5.编程单元的业务依赖与技术依赖6.基于单元黑盒的测试脚本标准编写7.全面完整取值与代码路径覆盖8.依据单元测试脚本编写实现代码的过程9.执行单元测试脚本检查实现代码是否满足标准10.实现代码重构时必须先修改测试脚本11.单元测试方法之逻辑驱动测试方法12.动手实践:单元测试框架案例实战三、Mock那些事1.Mock的作用2.揭示mock:mock的对象、mock的目的3.mock在测试中的应用4.mock的注意事项5.动手实践:Mock动手实践四、TDD与Mock的深度实践1.复杂问题的TDD开发模式2.分而治之的思维:更小单元粒度TDD3.单元独立测试与组合单元测试4.mock与patch5.mock断言的作用与实践6.mock断言与单元测试框架断言的结合:Assert_*_with等7.mock统计8.动手实践:单元测试与mock 的深度案例实践DevOps接口自动化测试规范接口测试如何开展?如何规范化1.接口测试内容目的2.接口测试规范接口测试的原则接口测试的规则接口文档的规范3.接口测试用例测试用例编写规则测试用例设计思路测试用例设计方法4.测试工具接口测试流程接口测试质量评估标准测试用例设计思考点Postman实操Postman全面了解1.get请求2.post请求3.断言Postman实操1.Get请求:百度搜索案例2.Get请求案例:微信接口3.Post请求案例:微信群发消息4.Post请求案例:微信From表单5.Post请求案例:公众号菜单维护6.局部环境变量7.全局变量8.参数传值Jmeter接口测试1.开源的力量—Jmeter解析引入和使用Jmeter的原因对比多种工具,阐述性能测试工具选型原则阐述Jmeter的优势和劣势2.Jmeter重要组件Jmeter中的属性和变量Jmeter中的采样器Jmeter中的前置处理器和后置处理器通过实例演示Jmeter组件作用域3.Jmeter案例Get请求:百度搜索案例Get请求案例:微信接口多接口间参数的传递第四天接口自动化实践1.Fiddler抓包Fiddler界面介绍Fiddler抓包断点重定向过滤等2.Requests库Request讲解Request案例3.Unittest4.Base函数与Request类封装Base函数封装Request类5.数据驱动操作Excel操作数据框架讲解6.数据库操作7.MockMock简介与构造器Mock创建Mock的统计方法Mock对象管理持续集成接口自动化框架8.接口自动化框架接口测试自动化框架的认知测试是自动化框架的工作流程测试框架的规划设计框架的详细设计与实现:公共配置模块的设置框架的详细设计与实现:通用模块的实现实战:接口自动化测试框架的设计9.手把手实现接口自动化框架通用模块那些事儿(DB、Http、Email、Log等)?requests模块再回顾xml的维护与操作excel的操作(读、写)数据库的操作实战:接口自动化测试框架的实现10.一步一践接口自动化框架测试用例的设计与组织测试报告的维护测试用例的运行测试结果的分析实践:接口自动化测试框架的运行DevOps UI自动化测试规范DevOps自动化测试的开展1.DevOps自动化测试的认知2.DevOps下自动化测试的引入要求自动化测试准入条件自动化测试适用场景3.DevOps下自动化测试范围分层测试:单元、接口、UI4.自动化测试开展时机5.自动化测试规范工具规范单元测试规范接口自动化测试规范UI自动化测试规范6.自动化测试流程7.项目团队8.风险评估WebDriver Api、POM设计模式Python基础自动化测试基础1.自动化简介2.分层的自动化测试3.什么样的项目适合自动化测试4.自动化工具对比5.selenium 介绍6.成就大神之路7.前端工具介绍Python自动化环境的部署WebDriver API1.从定位元素开始2.控制浏览器3.简单元素操作4.鼠标事件5.键盘事件6.获得验证信息7.设置元素等待8.模块驱动测试9.关键字驱动测试10.数据驱动测试11.模块化测试模型实例12.数据驱动测试实例(txt、xml文件等)单元测试框架(可选pytest)1.单元测试框架的认知2.Unittest工作原理3.单元测试用例的组织4.构建测试固件5.组织多个测试用例6.构建测试套件7.测试套件的优化8.多个测试类的控制9.单元测试执行的控制10.测试用例的跳过测试结果的美化、POM的设计、测试报告的发送如何生成【漂亮的】测试结果测试设计的升华—PO设计模式1.为什么使用page object(PO)设计模式2.PageObject案例实操:基本测试用例3.基础场景设计4.场景的优化5.测试用例的组织通过邮件发送测试报告案例实战:1.测试案例设计2.以邮件的形式发送html格式的测试报告3.给单人发送邮件4.给多人发送邮件5.发送『漂亮的』HTML格式的邮件自动化框架的设计与实现自动化框架的设计与实现6.配置文件7.数据驱动8.日志管理9.自动化框架的架构设计10.框架的实现之公共文件库:配置文件的操作11.框架的实现之公共文件库:外部文件的操作12.框架的实现之公共文件库:测试用例信息的管理13.框架的实现之公共文件库:邮件的配置14.测试用例(页面)的设计与实现自动化测试模型1.自动化测试模型概览2.模块化驱动测试实例3.数据驱动测试实例敏捷测试过程中CI的应用4.持续集成软件交付痛点持续集成概述持续集成迫切需求持续集成的作用、过程和优势CI工具应用脚本自动化构建持续测试持续代码质量持续部署;持续改进5.敏捷开发& 持续交付什么是持续交付;持续交付的研发流程高质量的单元测试提高开发期质量的反馈应用CI进行每日构建以频繁地交付可工作的软件基本脚本的自动化部署缩短系统部署时间6.持续集成工具(CI)持续集成工具(CI)环境部署持续集成工具过程:创建任务、运行构建、定时执行、自动化构建
课程主讲
李老师 计算机硕士 熟练使用QTP与LoadRunner、Selenium、Jemeter自动化测试工具,熟练掌握Vbs、shell、脚本语言,熟悉主流测试技术;熟悉QC、TD等测试管理工具;拥有丰富的测试项目管理经验;熟练搭建部署Linux、win2008主流服务器;熟悉oracle数据库部署与维护,熟练使用PL/SQL语言;熟练部署MOSS门户网站,熟悉规划设计MOSS门户网站工作流。精通课程:《测试基础》、《测试流程优化》、《loadrunner》、《敏捷测试》、《测试管理》、《测试技术》、《QuickTest professional》、《ALM&QC》、《自动化测试工具selenium》、《Testlink与缺陷管理平台整合》、《测试管理》。 程老师 中国科学院软件研究所硕士,主要研究方向:架构设计、项目管理实践、大型高可用高并发架构设计、微服务架构、软件测试等等。熟悉网络分布式计算、数据库、网络操作系统,精通J2EE、SQL、中间件服务器。在J2EE技术领域具有理论功底和实践经验。在J2ME商务应用和基于J2ME游戏开发领域具有深厚的理论功底和丰富的实战经验。主要授课方向:DevOps落地实践、微服务架构、软件构架设计、UML、GO语言、OOAD、J2EE企业级高级应用开发等。 擅长架构企业级应用;有独立工作流引擎开发、企业系统应用集成方面的丰富经验;在企业门户(Portal)、报表、工作流引擎和企业服务总线(ESB)等应用领域有深入的理论研究和充分的实践;对软件开发的整个流程有深刻认识,有很好的协作精神和学习能力。在架构下的系统设计和开发方面均有丰富经验。能够结合实际,在复杂的应用环境中选择适合的技术组合并合理利用开源中间件来降低项目开发风险、缩短开发周期、提高应用系统的可维护性和可扩展性。
课程对象
软件测试工程师、自动化测试工程师等
备注
课程费用:9800元/人
常年开班,获取最新开班时间或内训报价,咨询:400-061-6586