4006-998-758
3000+课程任你选择
单元测试工具Junit的使用与集成
研发学院 HP中国金牌讲师 开课时间:2021-08-13
汪珺

HP中国金牌讲师

HP美国敏捷咨询师、资深咨询师、资深培训

凤凰项目沙盘认证授权教练

挑战埃及沙盘认证权限讲师

敏捷和DevOps落地转型专家

Exin DevOps Master TTT首批认证授权讲师


查看老师详情
课程内容

课程大纲


第一天上午

DevOps概念与组成

DevOps理论、文化、收益、反模式

DevOps团队组织、架构演变模式

正确与错误的DevOps思维,及场景分析

DevOps中敏捷与精益的作用(快速视频呈现)

DevOps对企业带来的好处

DevOps与不同的运营方法论的组合



敏捷与DevOps转型推动

敏捷与DevOps中,不可忽视文化

团队化规模化思考,痛点分析

敏捷团队转型到DevOps体系

传统团队转型到DevOps体系

DevOps组织结构的自我演进

DevOps中流程的正确性保证

传统模式转变中的双态模式:稳态+敏态




第一天下午

DevOps转型路线设计

根据业务特征与技术堆栈,进行目标选型

文化认知与反馈,团队选择与构建

组织过程的自我优化与演进,小范围投资

流程的正确性保证

双峰挑战下的质量与监管落地

安全的要求与融合

DevOps转型中的风险与痛点



文化

传统模式转型到DevOps,需要注意什么

敏捷模式转型到DevOps,需要注意什么

高层、中层、基层,如何构建DevOps的文化

DevOps转型中,最大的挑战和困难

DevOps转型中,最重要的是什么

成功案例分析:某银行文化组织转型

失败案例分析:某互联网金融公司,转型失败分析



构建的整体技术平台方向

整体构建详细思路,项目管控、需求、工程三合一

开发转型落地点

持续测试、分层测试、测试建模的切入

运维的挑战与转型实施

整体沟通链条的构建

KPI/OKR的持续考核与持续反馈

需要哪些团队的何种投入




第二天上午

应用、需求和开发设计

应用生命周期与服务生命周期

项目章程及可视化控制, 需求分析的快速变更自适应

基础设施支持,云和虚拟化

开发架构设计,SOA、微服务等模式的引入

组件和依赖

架构考虑运营时的要求



持续集成、快速研发与Pipeline

持续集成、持续交付与持续部署

持续集成平台

单分支开发策略

规律性增量发布策略

特性开关技术、服务降级与抽象分支

产出管理

Pipeline建设相关实践



测试分析

质量目标的变化

当前挑战与趋势,大型系统持续交付难点

各阶段KPI定义

各阶段测试策略




第二天下午

持续测试

DevOps中,测试策略改变与测试前置

持续测试在DevOps全局链中的作用,构建持续反馈

分级测试及对应测试域的介绍

复杂场景与简单场景的持续测试举例

自动化测试的作用,与不同场景下的应用

移动端测试自动化,及App专项测试



持续交付与持续部署

Canary发布策略

Blue-Green发布方法

灰度发布、抹黑启动

标准化一切

组件与依赖管理实践

建立数据沙盒

自动化数据库变更管理

同源版本管理实践



运维

服务级别协议

应用管理与资源管理

数据管理

基础设施维护

持续交付的架构角度

配置管理与版本管理

业务连续性维护的相关运维措施,业务终止

伸缩与发布策略

运维PaaS平台化实现




第三天上午

DevOps下的质量需求设定

讨论:互联网与传统企业的敏捷需求,质量需求

讨论:复杂业务与简单业务,前期分析是的区别

一生二,二生三,三生万物:测试为万物

构建业务需求的Backlog

构建基于开发测试规则出发的完整Backlog

需求与后续测试点匹配的模型设定



DevOps下的测试

讨论:结对编程为何没有流行开?

解释TDD测试驱动开发内涵

解释ATDD与BDD的测试开发

对比测试驱动开发与单元测试

讨论:如何减少TDD与unit test工作量?

探索性测试提升黑盒测试效率

持续集成构建的冒烟测试

讨论:哪里测试中最消耗时间环节

测试数据构造与复用




第三天下午

分级测试

分级测试的原因

分级测试的必备伴侣: CI持续集成

分级测试的必备规则与约定

开发与测试的密切配合

测试的重点投入



测试建模(复杂业务的测试快速构建与维护)

测试建模原理

有限状态机:降低用例维护性代价

去用例化的建模

与需求构建的一一对应





DevOps发展与工具集合

DevOps的发展历史-三次变革

第一次变更-持续集成-Hudson到Jenkins

第二次变革-容器化 Docker

第三次变革-K8S

DevOps工具图谱

如何选择不同的DevOps工具



工具选择案例

案例一:XX银行的选择

案例二:XX通信行业的选择

案例三:XX物流行业的选择

案例四:XX证券的选择

案例五:XX航空的选择

如何规避工具选择的风险




第四天下午

持续集成Jenkins

Jenkins基本功能介绍

Jenkins的安装、配置

Jenkins的基本使用命令

Jenkins进阶介绍

Jenkins插件功能介绍

动手实践

其他持续工具简要介绍—Bamboo、GoCD、Hudson

GitLab CI的持续集成能力

风险与痛点



构建

Maven的使用

Gradle的使用

Conan、GCC、Cmake的使用

与Jenkins的集成



容器Docker的使用

Docker与虚拟机的区别

Docker的架构

Docker的安装、配置

Docker的基本使用命令

Docker的进阶

Docker之间的通讯与目录共享

Docker的适应性场景

动手实践


Docker Hub的功能介绍



代码管理工具

SVN、Git介绍

Git的安装与配置

GitLab安装与配置

Git 的基本操作与命令

Git的高级进阶

GitFlow、分支管理、主干管理、特性开关功能介绍

动手实践


其他介绍:GitHub、CC、bitbucket


风险与痛点



测试相关工具介绍

代码扫描工具介绍

Sonar的基本使用

Sonar的集成

Sonar的规则自定义

单元测试工具Junit的使用与集成

API自动化测试工具的使用与集成

微服务自动化测试工具的使用与集成

GUI自动化测试工具的使用与集成



K8S的介绍

Kubernetes容器编排概述

Kubernetes架构概述-Pods、标签/选择器、复制控制器、服务、API

创建Kubernetes pods和volumes

使用Kubernetes命名空间来管理不同的环境

发现并连接到容器

发现其他的服务,发布自己的服务




返回上一级