教学优势
曙海教育的课程培养了大批受企业欢迎的工程师。大批企业和曙海
建立了良好的合作关系。曙海教育的课程在业内有着响亮的知名度。
本课程,秉承20年积累的教学品质,以项目实现为导向,老师将会与您分享设计的全流程以及工具的综合使用经验、技巧。
Ø 课程内容:
o 利用SEAi需求分析法形成需求层次与框架
§ 简单识别场景Scenario
§ 简单识别实体Entity
§ 简单识别行为 Action(Api)
· 练习:建立一个一人年需求的场景S-实体E-行为A层次
o 基于需求规模
§ 基于SEAi需求框架自动计算功能点(Function Point)
· 早期规模估算:功能点FP = 实体*35
· 迭代规模估算:功能点FP = 行为*5.4
· 练习:针对上述需求建立软件功能点规模(用于以下的效能分分析)
o 需求质量的量化评价
§ 场景描述模糊词率 = 模糊词文字数 / 需求文字数(此数据应清零)
§ 实体行为比例 = 实体数:实体数 = 1:6.5(需求分析结束时应介于1:5~6.5之间)
§ 实例化率 = 行为数:需求实例数 = 1:6.5(需求分析结束时应介于1:5~6.5之间)
o 需求实例化(概述,在测试部分展开)
o 建立需求完成标准(开发准入标准)
§ DOR(Definition Of Ready)需求就绪并可进行排期、开发的标准
Ø 课程内容:
o 单元测试
§ 单元测试方法及其工作量
o 静态代码扫描
§ 编码规范与代码审查
§ Sonar问题(语法问题)
· 如何降低Sonar遗留问题
· 已有项目的Sonar问题清理策略
§ MEI问题(MEI=维护扩展指数)
· 现场演示:使用AdaCode分析和改善维护扩展问题
· 如何提升维护扩展性
o 基于代码的测试覆盖率
§ 代码覆盖率与分支覆盖率
§ 如何提升改吗的测试覆盖率
o 代码质量的量化评价
§ 静态问题率 = 静态问题数 / KLOC(尽量清零)
§ 维护扩展指数 MEI > 90(由工具自动扫描,重构项目),
§ 代码覆盖率 ≈ 90%
§ 分支覆盖率 ≈ 70%
o 建立编码完成标准(测试准入标准)
Ø 课程内容
o 用户故事地图
§ 最初的用户故事地图
§ 用户故事地图2.0
§ 使用SEAi的用户故事地图
§ 使用两种策略建立最小可用产品
§ 使用用户故事地图同步开发与测试对交付功能的认知
o 开发与测试的看板协同
§ 开发-测试协同看板
§ 跨团队依赖的跟踪
o 识别需求实例 Instance (验收测试用例)
§ 练习:使用Entity-Action-Instance建立测试用例框架
o 测试过程的量化管理
§ 接口测试覆盖率 = 已测接口 / 总接口 = 100%
§ 功能点测试覆盖密度 = 测试用例数 TC / 功能点规模 FP = 1.2TC/FP(国际数据)
· 朴素的测试覆盖密度管理
§ 功能点测试缺陷密度 = 测试缺陷数 TD / 功能点规模 FP = 0.24TD/FP(中国2021数据)
o 常见自动化测试
§ 接口测试
§ 界面测试
o 自动化测试核心度量
§ 自动化测试代码的效率 = 测试代码 / 测试用例数 ≈ 3.4~5 LLOC/ATC
§ 自动化测试生产率 = 自动化测试用例ATC / 测试人天TMD
· 阈值:7 ATC / 测试人天 TMD(全年统计)
Ø 课程内容
o 从敏捷开发到敏捷业务
§ 以最小可用产品MVP代替Sprint Backlog
§ 以DevOpsBan代替普通Kanban
§ 以DevOps的可变周期迭代(适应MVP的可变规模)代替Scrum的固定周期
o CI持续集成
§ 持续集成流程与工具
§ 为何持续集成可以提升生产率与质量?
o CD持续发布
§ 灰度发布
§ 为何灰度发布可以降低质量成本?
o DevOps核心度量
§ 开发周期 = 需求自进入开发到完成开发的周期
§ 需求交付周期 = 需求自提出到交付的周期
§ 缺陷响应周期 = 缺陷自提出到交付的周期
Ø 课程内容:
o REPMM链条
§ R需求分析(量化规模)
§ E估算
§ P计划
§ M跟踪与控制
§ M度量分析
o Benchmarking方法
§ 基本概念
§ 公开的度量数值P10~P90
Ø 课程内容
o 度量的2个时机
o 选择不可控因素为标准度量项
o Dev研发效能五大开发度量指标(FP=功能点数)
§ 生产率 = FP/人天
§ 编码消耗率 = 逻辑代码行 / FP
§ 测试用例密度 = 测试用例数 / FP
§ 测试缺陷密度 = 测试缺陷数 / FP
§ 发布缺陷密度 = 发布缺陷数 / FP
o Ops运维效能三大发布度量指标
§ 开发周期(保健因素)
§ 需求交付周期(保健因素)
§ 缺陷修复时间(激励因素)
o 基础度量数据的定义与采集方法
§ 功能点数
§ 人天数计算方法
§ 测试用例计数方法
§ 测试缺陷计数方法
§ 发布缺陷数计数方法
§ 练习:联系隔壁团队,使用课上提到的方法,获取其产品当前的全套数据。
§ 演示1:在AdaPPM中建立Benchmarking基线,并与行业数据进行对比
§ 演示2:在AdaPPM中分析Benchmarking基线的走向
§ 对数据标准化以便进行横向对比(练习见后)
Ø 课程内容
o 横向对比
§ 利用“应用功能点”及派生度量项建立团队基线
§ 演示1:在AdaPPM中对比组织内部项目的五大指标排名
§ 演示2:在AdaPPM中对比项目 pk 业界的五大指标
o 纵向跟踪(统计过程控制)
§ 利用“开发功能点”及派生度量项建立统计过程控制
§ 演示1:在AdaPPM中监控各项指标穿越P25/P75的情况
Ø 从相关性到因果性
o 练习1:在Excel中进行求解两组数据的相关系数
o 演示1:在AdaPPM中进行相关性分析
Ø 何为根因
Ø 可落地的解决方案
o 可理解,可实行,可落地
Ø 已经过量化验证的解决方案
o 架构对生产率与测试缺陷密度的影响
o 代码维护扩展指数对生产率的影响
o 代码维护扩展指数对测试缺陷密度的影响
Ø 课程内容:
o 需求活动
§ 使用SEAi防止需求遗漏造成返工
§ 使用需求实例防止需求缺陷
o 计划与跟踪活动
§ 使用最恰当的进度计划来获取最高生产率
§ 跟踪与控制数据以提前发现问题
§ 跟踪“监督项”以防止债务
o 编码活动
§ 清除静态问题以防范缺陷
§ 提升MEI代码扩展指数以提升生产率
§ 提升MEI代码扩展指数以提升质量
o 编码活动
§ 清除静态问题以防范缺陷
§ 提升MEI代码扩展指数以提升生产率
§ 提升MEI代码扩展指数以提升质量
o 测试活动(自动化测试+持续集成)
§ 缩短反馈时间
§ 公开的度量数值P10~P90
o 案例
§ 团队级:3个月缺陷密度从0.27降低到0.041
§ 组织级:1个月缺陷密度降低1/3
§ 大型团队重构:6个月MEI从70提升到85~96,缺陷密度降低50%
Ø 课程内容:
o 建设CI/CD DevOps生产线
o 依靠SEAi需求分析法降低MVP最小可用产品的规模
o 案例
§ 利用无代码测试系统将自动化测试/CI/CD周期降低一半