长沙岳麓区计算机编程基础培训班,敏捷TDD最佳实践培训
学习目标
课程介绍
在敏捷开发实践过程中总有一些棘手的问题,让敏捷开发的过程磕磕绊绊,下面列举了一些常见的问题:(1)不愿意使用Unit Test与TDD,原因增加工作负担(2)改变我以前的工作习惯,习惯于头脑中构思,不愿意编写出来(3)不懂测试技术,无法设计测试用例(4)整个软件中的函数都需要完成TDD吗?(5)如何结合UML与TDD?(6)如何结合持续集成构建与TDD?(7)User story描述简洁,如何展开User Story各种场景?(8)如何从验证角度完善User Story?(9)Unit Test与TDD的粒度?(10)有些工具支撑BDD?这些问题引发了互联网上得一些论战,不同实践者,依据自己的实践理解给出了一些有价值的经验,这些经验就像盲人摸象,只能解决其中的一部分问题,如何打通敏捷编程的五经六脉呢?讲师通过多年的实践与咨询,发现能够实现高质量与高效率编程的一套实践方法,有效结合UML、MDA、ATDD、BDD与TDD的方法,其中最为关键的事ATDD、BDD与TDD,故称之为编程三剑客。
学员基础
(1)敏捷过程的编程者希望融合ATDD、BDD与TDD的编程者(2)常规过程的编程者希望了解编程三剑客内涵的编程者(3)敏捷过程的Master(4)常规过程的项目管理者、质量保证者
课程大纲
第1天
1.计算机解决问题需要什么
(1)冯诺依曼计算机结构与程序结构
(2)程序结构对需求规格描述的影响
(3)验收测试对需求规格的要求
(4)场景步骤描述的二义性问题
(5)关键字的形式化语言
(6)推导出ATDD与BDD的需求规格
(7)圆桌实践:你的需求我描述
(8)归纳总结:记录发布你的实践感悟
2.ATDD验收测试驱动开发
(1)product owner的user story开发与测试问题
(2)User Story & Product Backlog
(2)用户故事的细化description
(3)User Story & 测试验证
(4)测试用例结构与功能验收标准
(5)功能验收标准 & IDEF 0
(6)功能之间的调用关系与功能集成测试
(7)非功能性验证标准与系统测试
(8)开发者与测试者辅助PO撰写验收标准
(9)动手实践:基于ATDD的方式描述User Story实践
3. BDD行为驱动开发
(1)Use Case & Scenario
(2)与界面相关的交互场景分解
(3)功能操作的场景分解
(4)Scenario Description中的二义性问题
(5)何为形式化语言?
(6)形式化语言关键字与语法结构
(7)形式化语言描述Scenario
(8)可以执行的形式化语言
(9)动手实践:基于BDD形式化语言描述User Story实践
4.良好的编程习惯改变软件的质量
(1)PDCA解释一种有准备的工作习惯~先构思后编程
(2)思维导图与UML一种可视化构思表达
(3)编程者最擅长什么?
(4)形式化语言是一种精准方式的构思表述
(5)以阅读者的视角定义最佳构思的表达
(6)从需求变更引发文档变更视角定义最佳构思表达
(7)百家争鸣:如何改变开发者固有的编程习惯
5.全部TDD还是局部TDD
(1)TDD的工作量评估
(2)动手实践:TDD工作量评估实践,给出代码行数量
(3)TDD使用场景决策
(4)惯性编程是否需要TDD?
(5)待开发模块归类,一类只需一种TDD
(6)基于Software Factory的TDD编程思维
(7)百家争鸣:TDD的全面实施与局部实施
(8)白纸方式的TDD是否可以使用
第2天
6.打通编程的五经六脉
(1)展示:不同流派的编程模式
(2)待实现模块的Structured Method
(3)待实现模块的Object Oriented Method
(4)对象化与结构化的衔接与图形可视化表达
(5)结合UML与MDA的自动骨架代码生成
(6)类函数实现框图中数据流与测试脚本
(7)动手实践:结合UML与TDD实践
7.TDD的测试思维与测试技术
(1)测试输入、场景、输出、依赖构造技术
(2)测试技术-边界、等价、因果、决策、正交表、所有值对表等
(3)函数的输入与输出取值分析与Mapping
(4)单元测试的Assert编程结构
(5)单元测试的Mock与Stub编程结构
(6)复杂数据结构输入与输出的数据构造技巧
(7)测试数据与测试脚本分离
(8)动手实践:测试脚本撰写实践
8.TDD编程与重构
(1)Unit Test Process & 重构
(2)功能到断言的中间环节如何打通
(3)函数内部结构-定义、初始化、算法与释放
(4)函数内部的逻辑结构与输入输出关系
(5)逻辑结构复杂的函数的TDD技巧
(6)TDD测试脚本的重构
(7)动手实践:TDD测试脚本重构实践
9.持续集成构建与TDD
(1)持续集成构建过程与工具
(2)持续集成构建中的BVT验证性测试
(3)基于接口函数单元测试的BVT测试
(4)编程者Check in去除mock的TDD脚本
(5)TDD触发持续集成构建事件
(6)动手实践:基于持续集成构建的TDD实践
查看更多...
学习目标
课程介绍
在敏捷开发实践过程中总有一些棘手的问题,让敏捷开发的过程磕磕绊绊,下面列举了一些常见的问题:(1)不愿意使用Unit Test与TDD,原因增加工作负担(2)改变我以前的工作习惯,习惯于头脑中构思,不愿意编写出来(3)不懂测试技术,无法设计测试用例(4)整个软件中的函数都需要完成TDD吗?(5)如何结合UML与TDD?(6)如何结合持续集成构建与TDD?(7)User story描述简洁,如何展开User Story各种场景?(8)如何从验证角度完善User Story?(9)Unit Test与TDD的粒度?(10)有些工具支撑BDD?这些问题引发了互联网上得一些论战,不同实践者,依据自己的实践理解给出了一些有价值的经验,这些经验就像盲人摸象,只能解决其中的一部分问题,如何打通敏捷编程的五经六脉呢?讲师通过多年的实践与咨询,发现能够实现高质量与高效率编程的一套实践方法,有效结合UML、MDA、ATDD、BDD与TDD的方法,其中最为关键的事ATDD、BDD与TDD,故称之为编程三剑客。
学员基础
(1)敏捷过程的编程者希望融合ATDD、BDD与TDD的编程者(2)常规过程的编程者希望了解编程三剑客内涵的编程者(3)敏捷过程的Master(4)常规过程的项目管理者、质量保证者
课程大纲
第1天
1.计算机解决问题需要什么
(1)冯诺依曼计算机结构与程序结构
(2)程序结构对需求规格描述的影响
(3)验收测试对需求规格的要求
(4)场景步骤描述的二义性问题
(5)关键字的形式化语言
(6)推导出ATDD与BDD的需求规格
(7)圆桌实践:你的需求我描述
(8)归纳总结:记录发布你的实践感悟
2.ATDD验收测试驱动开发
(1)product owner的user story开发与测试问题
(2)User Story & Product Backlog
(2)用户故事的细化description
(3)User Story & 测试验证
(4)测试用例结构与功能验收标准
(5)功能验收标准 & IDEF 0
(6)功能之间的调用关系与功能集成测试
(7)非功能性验证标准与系统测试
(8)开发者与测试者辅助PO撰写验收标准
(9)动手实践:基于ATDD的方式描述User Story实践
3. BDD行为驱动开发
(1)Use Case & Scenario
(2)与界面相关的交互场景分解
(3)功能操作的场景分解
(4)Scenario Description中的二义性问题
(5)何为形式化语言?
(6)形式化语言关键字与语法结构
(7)形式化语言描述Scenario
(8)可以执行的形式化语言
(9)动手实践:基于BDD形式化语言描述User Story实践
4.良好的编程习惯改变软件的质量
(1)PDCA解释一种有准备的工作习惯~先构思后编程
(2)思维导图与UML一种可视化构思表达
(3)编程者最擅长什么?
(4)形式化语言是一种精准方式的构思表述
(5)以阅读者的视角定义最佳构思的表达
(6)从需求变更引发文档变更视角定义最佳构思表达
(7)百家争鸣:如何改变开发者固有的编程习惯
5.全部TDD还是局部TDD
(1)TDD的工作量评估
(2)动手实践:TDD工作量评估实践,给出代码行数量
(3)TDD使用场景决策
(4)惯性编程是否需要TDD?
(5)待开发模块归类,一类只需一种TDD
(6)基于Software Factory的TDD编程思维
(7)百家争鸣:TDD的全面实施与局部实施
(8)白纸方式的TDD是否可以使用
第2天
6.打通编程的五经六脉
(1)展示:不同流派的编程模式
(2)待实现模块的Structured Method
(3)待实现模块的Object Oriented Method
(4)对象化与结构化的衔接与图形可视化表达
(5)结合UML与MDA的自动骨架代码生成
(6)类函数实现框图中数据流与测试脚本
(7)动手实践:结合UML与TDD实践
7.TDD的测试思维与测试技术
(1)测试输入、场景、输出、依赖构造技术
(2)测试技术-边界、等价、因果、决策、正交表、所有值对表等
(3)函数的输入与输出取值分析与Mapping
(4)单元测试的Assert编程结构
(5)单元测试的Mock与Stub编程结构
(6)复杂数据结构输入与输出的数据构造技巧
(7)测试数据与测试脚本分离
(8)动手实践:测试脚本撰写实践
8.TDD编程与重构
(1)Unit Test Process & 重构
(2)功能到断言的中间环节如何打通
(3)函数内部结构-定义、初始化、算法与释放
(4)函数内部的逻辑结构与输入输出关系
(5)逻辑结构复杂的函数的TDD技巧
(6)TDD测试脚本的重构
(7)动手实践:TDD测试脚本重构实践
9.持续集成构建与TDD
(1)持续集成构建过程与工具
(2)持续集成构建中的BVT验证性测试
(3)基于接口函数单元测试的BVT测试
(4)编程者Check in去除mock的TDD脚本
(5)TDD触发持续集成构建事件
(6)动手实践:基于持续集成构建的TDD实践


编程培训
学习目标
掌握前沿技术,增加就业
课程内容
编程是编定程序的中文简称,就是让计算机代码解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。
机器语言:在计算机系统中,一条机器指令规定了计算机系统的一个特定动作。
汇编语言:文件系统驱动编程流程,为了解决使用机器语言编写应用程序所带来的一系列问题,人们首先想到使用助记符号来代替不容易记忆的机器指令。
适用对象

零基础及以上学员均可
课程亮点
1.涉猎行业广、就业方向多
2.就业指导,打造真实教学成果
培训方式
1.实战项目,线下实操
2.在线网课
