让一部分企业先学到真知识!

刘晖:持续集成和自动化测试最佳实践培训

刘晖老师刘晖 注册讲师 150查看

课程概要

培训时长 : 4天

课程价格 : 扫码添加微信咨询

课程分类 : 培训开发

课程编号 : 16873

面议联系老师

适用对象

管理人员、测试架构师、相关测试人员

课程介绍

【课程简介】

  1. 当前时代已经进入到DevOps的自动化测试时代,由于运维的快速持续交付,开发的敏捷化开发与持续集成,让交付速度越来越快。 但是在越来越快的交付下,手工测试无法进行满足交付速度,而传统的自动化测试,也无法覆盖需求和应对快速的需求变更。
    BDD、TDD、ATDD对于简单业务可以做到快速覆盖与需求对应的快速变更,但是,复杂的业务模式下,如金融、电信、能源、汽车、ERP、甚至复杂的互联网需求,BDD与ATDD等无法应对需求的快速变更。
    所以,本次课程通过3个阶段:测试建模(测试用例自我生成),自我构建关系链路(测试场景自匹配)、工具胶水层与适配层(接入各种自动化测试工具),来描述在复杂业务模式下,当需求变更,如何应对并产生自适应的自动化测试规则与脚本。使学员快速掌握:测试模式与各种适用性场景、掌握复杂业务下自动化测试建模分析方法、掌握自动化测试与Use Story的快速匹配、了解云平台下测试的各种特点与对应方法

【目标收益】

  1.  掌握测试模式与各种适用性场景
  2.  掌握复杂业务下自动化测试建模分析方法
  3.  掌握自动化测试与Use Story的快速匹配
  4.  掌握快速维护自动化测试的方法
  5.  了解云平台下测试的各种特点与对应方法

【课程对象】

管理人员、测试架构师、相关测试人员

【课程时长】4天(6.5小时/天)

第一天

测试发展趋势

互联网与数字化的发展要求
DevOps时代来临
测试目前发展趋势,是否可以解决当前问题
测试是否拖累当前所有的进度,问题有哪些
测试 模型:金字塔、纺锤、冰淇淋等
部分传统方法是否可以解决当前问题

测试发展的误区

测试跟随着开发的模式
测试想跟随需求,但落地方法错误
变更,无法跟上节奏感
传统企业,面临的双峰挑战(稳态+敏态)
团队与人员的阻碍
文档的更新模式
DevOps是否可以解决问题

复杂业务测试问题的根源分析

双峰挑战下的测试模式
传统企业,为何无法适应上述测试模式(国外引入水土不服)
持续集成带来的持续测试,是否解决了根本性问题?
人才发展的限制与团队瓶颈

测试思维的切换:测试建模

思路:业务需求+技术需求+监管需求+旁路影响分支需求
需求—>开发—>测试:传统为阶乘式增长,无法维护
测试建模的方法与原理,对应解决的问题
DevOps只是工具链的建立,测试建模真正解决测试端的问题
曾经的弯路:微软测试建模走偏
测试建模,本质上解决了维护性代价的问题,但为何无法成功实施

测试建模的分析

分析:旧有模式仍然为离散式的跟踪,跟随开发
抛弃工具绑定的思想
1vs1的思路,跟踪需求(业务+技术+监管+旁路)
需求端直接生成用例与脚本,真正为TDD
作者在美国4年和中国5年的构建实例

测试建模平台落地方案与演示Demo

整体架构
笛卡尔乘积的构建
有限状态机的构建
中间存储矩阵构建
统一的展现平台,外接不同的引擎
传统平台的功能:权限管理、项目管理、报表分析等等
植入监控与反馈
链接到DevOps平台,与需求对接,映射开发

第二天

测试模型与有效构建路径

国外的业务发展模式与国内的区别
BDD的适应场景,团队与人员要求
TDD的适应场景,团队与人员要求
ATDD的适应场景,团队与人员要求
关键字的适应场景,团队与人员要求
敏捷测试的适应性与发展限制
分级测试的提出与互联网应对
微服务下契约测试的提出与团队要求

测试要点分析

Web测试的要点分析
Client测试的要点分析
App测试的要点分析

敏捷测试

敏捷的概念、原则与构成
敏捷测试范围与作用
Kanban的融合与使用

DevOps中测试体系与度量

什么是DevOps
DevOps的思路与方案
DevOps下测试如何进行
部分案例举例

测试与运维关联

环境发布策略
工具举例
测试环境的准备

第三天

分层测试

BDD的组成与概念,编写方式
TDD的组成与概念,编写方式
ATDD的组成与概念,编写方式
测试标准化构建和构建通讯
1-5-15-60分级质量模型
分层测试说明和规范
CI/CD构建简要介绍
度量数据驱动改进

分层自动化

1. 目的
2. 大型系统持续交付难点
3. 分层自动化的构成
4. 分成自动化的过程管理实践举例
5. 分层自动化实现举例
6. 其他有效参考

分层自动化的伴侣-持续集成

成熟度模型
持续集成概念
持续集成与持续测试

自动化测试工具

Sonar代码扫描
Sonar的工具与指标介绍
Selenium的工具介绍
Selenium与QTP的不同:对象定位、脚本方式
Appnium的定位方式小结

第四天

接口测试

接口测试
测试数据准备的公用类规则抽取

Jenkins介绍

工具安装
工具与Selenium的集成举例

性能测试

性能测试原理
三种性能测试方法
性能测试的注意事项和主要风险
性能测试的准入条件
性能测试的类型
系统的主要性能指标
性能测试流程
主要硬件指标
App的性能测试
案例举例
Jmeter与Loadruner

云平台下的测试

针对云的测试,与云上应用的测试方法对比
功能自动化+性能测试的融合,广东移动案例
通过抹黑启动来预测自动伸缩的阈值大小,12306的案例
容器下的伸缩判定
全链路压测,德邦物流与京东案例

Windows下的硬件涉及相关测试

从诺基亚需求开始说起
OCR识别的方式,通过视频进行说明
MIT的自动化测试框架,忽视所有对象类型,转换为图片

 

 

 

刘晖老师的其他课程

• 刘晖:编程基础
【课程特色】1.   课上采用案例式教学,通俗易懂,课下一对一辅导强化训练,学与练交叉进行强化记忆,你所要做的就是认真听,勤于问,乐于练。2.   清晰的知识结构,根据应用经验采用最优化授课模式。3.   内容充沛、详略得当,前后呼应。4.   讲师资历丰富,具有丰富的实践经验。5.   知识讲授+贴身案例+场景故事+互动讨论+现场演练+落地跟踪【课程时间】1天【课程大纲】第一部分:编码规范第1章 基础知识概述编码风格 必须学习编码风格的原因 编码风格有益于编译执行方式和混合执行方式 基于组件的软件开发方式与编码风格 将编码惯例文档化以统一应用 第2章 程序设计阶段所需编码准则遵循最新标准 维护旧程序比开发新程序更常见 慎重采用新技术 第3章 间隔相关编码准则一行只写一条语句 区分声明语句和执行语句 区分段落 区分各种控制语句 区分各函数 运算符前后需留出空格 不要在一元运算符与操作数之间插入空格 分号前不要插入空格 不要滥用Tab键 逗号后必须插入一个空格 逗号后不要插入太多空格 变量初始化时的列对齐 一行只声明一个变量 第4章 缩进相关编码准则大括号的位置 统一大括号的位置 内部代码块需要缩进输出部分需要缩进 不要毫无意义地缩进保持缩进程度的一致性选择合适的缩进程度 不要编写凸出形式的代码 第5章 注释相关编码准则多种注释形态 区分单行注释和注释框 添加“变量字典编写专用注释” 向程序插入伪代码 通过注释标注程序目标 程序起始部分必须添加头注释 在等于运算符旁添加注释 在大括号闭合处添加注释 在函数内部添加详细介绍函数的注释 注释标记原则 第6章 标识符名称定义相关编码准则系统化定义变量名 用变量名前缀表示变量数据类型 用变量名前缀表示变量存储类型 用函数名前缀表示函数功能 编写个人专属前缀 不要使用相似的变量名 在不影响含义的前提下尽可能简短命名 用下划线和大小写区分较长变量名 变量名不要以下划线开始 不要过度使用下划线 合理使用大小写命名标识符 用大写字母表示变量名中需要强调的部分 第8章 运算符相关编码准则恰当应用条件运算符有助于提高可读性不要凭借运算符优先级排列算式指针运算符应该紧接变量名 慎选移位运算,多用算术运算不要追求极端效率第9章 编写清晰代码所需编码准则不要投机取巧,应致力于编写清晰易懂的程序 切忌混淆while语句中关系运算符和赋值运算符的优先级 不要进行隐式“非零测试”不要在条件表达式中使用赋值语句避免产生副作用 函数原型中也要标注参数的数据类型形式参数也需要命名 必须标注返回值的数据类型 留意结果值在for语句等条件表达式中谨慎运算 大量使用冗余括号如果else语句使用大括号,那么if语句也应该使用 函数末尾务必编写return语句 第10章 编写可移植代码所需编码准则第11章 编写精确代码所需编码准则第12章 提升性能所需编码准则第13章 编写易于理解的代码所需编码准则第14章 用户接口处理相关编码准则第15章 编写零漏洞代码所需编码准则第16章 提升生产效率所需编码准则第二部分:并发编程第1 章 并发编程线程基础1.1 什么是线程1.2 线程创建与运行1.3 线程通知与等待1.4 等待线程执行终止的join 方法1.5 让线程睡眠的sleep 方法1.6 让出CPU 执行权的yield 方法1.7 线程中断1.8 理解线程上下文切换1.9 线程死锁1.9.1 什么是线程死锁1.9.2 如何避免线程死锁1.10 守护线程与用户线程第2 章 并发编程的其他基础知识2.1 什么是多线程并发编程2.2 为什么要进行多线程并发编程2.2 锁的概述2.2.1 乐观锁与悲观锁2.2.2 公平锁与非公平锁2.2.3 独占锁与共享锁2.2.4 什么是可重入锁2.2.5 自旋锁第3 章 并发编程实践3.1 ArrayBlockingQueue 的使用3.1.1 异步日志打印模型概述 2843.1.2 异步日志与具体实现 2853.2 Tomcat 的NioEndPoint 中ConcurrentLinkedQueue 的使用3.2.1 生产者——Acceptor 线程3.2.2 消费者——Poller 线程3.3使用Timer 时需要注意的事情3.3.1 问题的产生3.3.2 Timer 实现原理分析3.4 创建线程和线程池时要指定与业务相关的名称 3193.4.1 创建线程需要有线程名 3193.4.2 创建线程池时也需要指定线程池的名称
• 刘晖:STM32单片机培训班课程大纲
【课程收益】了解Cortex-M体系结构,并掌握在Cortex-M体系结构上进行嵌入式编程的方法;掌握STM32单片机处理器内部资源接口的开发原理与MDK开发环境搭建;掌握STM32单片机常用外设接口的编程方法;掌握STM32单片机常用传感器、总线技术的使用方法;能独立开发中小型综合项目;【课程特色】1.   课上采用案例式教学,通俗易懂,课下一对一辅导强化训练,学与练交叉进行强化记忆,你所要做的就是认真听,勤于问,乐于练。2.   清晰的知识结构,根据应用经验采用最优化授课模式。3.   内容充沛、详略得当,前后呼应。4.   讲师资历丰富,具有丰富的实践经验。5.   知识讲授+贴身案例+场景故事+互动讨论+现场演练+落地跟踪【课程对象】相关人员【课程时长】8天(6小时/天)【课程大纲】第一天学习目标第一天的课程主要帮助学员了解Cortex-M内核体系结构、stm32内部资源分析。在此基础上,熟悉MDK的编程环境及编程方法。上午1.Cortex-M3/4/7内核体系结构    1.1  Cortex-M3/4/7总体介绍    1.2  处理器内核介绍    1.3  处理器工作模式    1.4  处理器异常处理2.STM32单片机处理器简介    2.1  处理器的组织结构    2.2  内存及启动模式    2.3  外围模块及内部资源分析    2.4  芯片型号的识别与硬件选型方法下午 3. 基于Cortex-M3/4/7的嵌入式软件编程环境搭建   1  MDK环境搭建   2  keil5开发环境使用技巧   3  编译、调试及软件仿真实验:以ST官方库为基础,从零自建库函数软件工程,练习MDK5软件的编译、下载、调试、仿真等操作方法。第二天学习目标    掌握STM32处理器的GPIO与串口开发。上午4. STM32接口之 GPIO    4.1  GPIO编程与寄存器说明与LED实例    4.2  LED、BEEP实例(寄存器方式与函数库方式)    4.3  按键输入实例下午  5. STM32之串口     5.1  串口工作原理与电路分析      5.2  UART1编程实例      5.3  UARTn通信编程扩展实例实验:在PC上用串口n(UART2)通信控制实验板的GPIO资源第三天学习目标    掌握STM32处理器的NVIC中断与定时器TIM开发。上午6. STM32 NVIC中断开发    6.1   NVIC中断原理与实例    6.2   NVIC中断实例讲解下午 7. STM32  定时器TIM开发   7.1  定时器TIM工作原理   7.2  定时器TIM实例讲解实验:外部中断与定时中断综合实验第四天学习目标    掌握STM32处理器的PWM、LCD、RTC接口开发。上午 8. STM32的PWM开发    8.1  PWM电路原理分析   8.2  PWM实例代码分析9. STM32的LCD接口开发    9.1  LCD电路与工作原理    9.2  LCD的编程实例下午10. STM32的RTC实时时钟开发  10.1 RTC实时时钟工作原理   10.2 RTC实时时钟实例讲解实验:用PWM驱动步进电机/舵机第五天学习目标    掌握STM32单片机的ADC、DAC与内部温度传感器、外部DHT11温湿度传感器接口开发。上午11. STM32 的ADC与DAC开发   11.1 ADC电路原理与实例代码分析   11.2  DAC电路原理与实例代码分析12. STM32内部温度传感器   12.1  温度传感器电路与工作原理   12.2  温度传感器的编程实例下午13.  DHT11温湿度传感器   13.1  DHT11传感器电路与工作原理    13.2  DHT11传感器的编程实例第六天学习目标    STM32总线技术专题1:掌握STM32处理器非常重要的I2C、SPI、485总线接口开发。上午14. STM32   I2C总线开发   14.1 I2C总线原理   14.2  I2C的寄存器与库函数使用方法   14.3  I2C电路分析与实验案例15. STM32  SPI总线开发     15.1   SPI总线原理    15.2   SPI的寄存器与库函数使用方法    15.3  SPI电路分析与实验案例下午16. STM32   485总线开发   16.1  485总线原理与协议分析   16.2  485库函数使用方法   16.3  485通信案例代码分析第七天学习目标    STM32总线技术专题2:掌握STM32处理器非常重要的can总线接口开发与。上午17. STM32  CAN总线开发   17.1  CAN总线原理与can协议分析   17.2  CAN的寄存器与库函数使用方法   17.3  CAN通信案例代码分析下午实验:掌握自定义CAN通信协议,并用CAN卡调试can通信的方法。第八天学习目标    综合设计:带通信和显示功能的温湿度报警器  (其他备选项目可与指导老师协商)上午 目标:在STM32实验板上利用温湿度传感器采集当前温度、湿度,当温湿度超过设定阈值时,产生报警。温度、湿度、时间、报警状态等显示在LCD上的同时,并通过串口/CAN总线传送到PC端,同时也可接收PC端的控制信号做相应的阈值设定与报警取消等功能........下午指导与点评。当天未完成的学员可继续免费指导,直到完成! 
• 刘晖:OpenStack管理、运维与应用
【课程简介】       本课程主要针对OpenStack应用到生产中遇到实际架构设计与管理运维问题展开,涵盖:       OpenStack的架构与部署, OpenStack云环境计算、存储、网络的管理,OpenStack上云应用的部署与运维,OpenStack实际应用案例分析。【课程收益】1、深入理解OpenStack的逻辑架构和部署架构;2、全面学习OpenStack中计算、存储和网络资源的管理;3、结合实际案例和实际操作学习OpenStack云环境的部署与运维技术4、对学员在实际项目中遇到的问题提供咨询指导,帮助单位构建和完善云环境运维体系。【课程特点】● 结合业务上云的需求理解OpenStack架构● 结合实际案例讲解OpenStack运维中遇到的问题及解决办法● 讲师强大的国内外OpenStack社区专家人脉,帮助客户后续问题解决提供资源【课程对象】    OpenStack工程师、虚拟化工程师、分布式存储工程师       运维工程师、运维开发工程师       云计算架构师       云计算项目主管       云计算技术主管       信息化主管或CIO       希望了解相关技术的硬件工程师和云应用开发工程师【学员基础】    具有1-3年IT工作经验, 了解IT运维、OpenStack、云计算的基本概念或有相关工作经验。【课程大纲】(3天,可根据客户需求调整)时间内容Day1上午 第一篇  OpenStack概述1.  云计算和OpenStack的产生与发展2.  不仅仅是IaaS(基础设施即服务)——OpenStack是什么?3.  组成OpenStack的各个项目4.  初识OpenStack的逻辑架构5.  部署OpenStack的参考架构6. OpenStack的命令行与常用管理操作Day1下午 第二篇 OpenStack的服务目录和用户管理1. OpenStack项目间的交互关系、体系的可扩展性和服务目录2. 用户与租户管理2. KeyStone生产中可能出现的问题、常见的优化方案与取舍 第三篇 OpenStack计算资源管理1. 典型的虚拟化技术2. Nova的内部架构及对虚机的管理3. Nova的计算资源管理与调度机制4. Region - Zone - Aggregate三层OpenStack云环境部署架构及扩展方法 Day2上午  第四篇 OpenStack存储管理1. OpenStack Cinder块存储服务2.  分布式存储Ceph与超融合架构3.  虚机镜像存储4. OpenStack Swift对象存储5.  超融合架构和对象存储在生产应用中的问题分析和技术选型 Day2下午 第五篇 OpenStack网络管理1. OpenStack Neutron 与SDN2. OpenStack的2层、3层网络架构详解与故障分析3.  虚拟化网络数据传输路径详解4. OpenStack与NFV Day3上午 第六篇 OpenStack部署与维护进阶1.  管理节点(Controller)的高可用架构设计与实现2. OpenStack云环境的自动化部署3.  日志归集、分析和智能故障诊断4. OpenStack中的数据备份 第七篇  基于OpenStack的云应用架构与运维1.  云上应用部署与运维2.  基于Heat实现云应用的快速部署与弹性伸缩3. OpenStack与Docker等容器技术  Day3下午  分组讨论案例与考核学员分小组,每组结合实际选一个题目,并设计方案,进行讲评。   

添加企业微信

1V1服务,高效匹配老师
欢迎各种培训合作扫码联系,我们将竭诚为您服务