4006-998-758
3000+课程任你选择
基于(测试驱动的开发)TDD单元测试设计
研发学院 高级研发管理顾问 开课时间:2022-02-15
杜威

高级研发管理顾问

曾在多个全球50强研发中心服务近17年时间,参与多个全球协作的大型研发过程,积累了丰富的研发管理及质量控制的实战经验。在20年的产品研发过程中,在多个全球协作开发的大型项目上实践过。


查看老师详情
课程内容

课程介绍


本课程方案注重软件测试的实战过程,去掉了一定量的理论,把实战的比重增大到总课时数的60%。其余40%为理论以及指导性的流程。


课程方式


实践经验分享、大型实例案例分析、深入探讨、系统性理论知识梳理


课程对象

软件工程师

开发项目经理

Team Leader

测试工程师

测试项目经理

开发项目经理及开发人员

QA

第三方测试机构以及从事测试和质量保证工作的相关人员

其他相关岗位的人员或有兴趣的个人


课程对象



授课内容

授课内容+实验

第一天

一、单元测试理论(1小时)

 

  • 测试理论基础

  • 什么是单元测试

  • 单元测试的基本方法

  • 单元测试的桩和驱动

  • 单元测试策略

  • 单元测试过程

二、TDD测试先行的开发(2小时)

分享TDD   执行过程中一些关键步骤的解决方法,编写TDD测试用例的实践方法

 

  • TDD的实施过程概述

  • 依据需求确认测试用例,框定开发的需求点,代码修改的安全保障

  • 从测试用例到代码开发

  • 执行测试用例

三、静态测试技术的运用(0.5小时)

分享经验Code Review的两种不同使用场景,每种方式的价值

  • 走查(Walk   Through)

  • 审查(Inspection)

  • 评审(Review)

四、百家争鸣:单元测试经验分享

(1小时)

分享从2000年左右到2010年的的单元测试经历,其中包括初期单元测试高成本产生原因及解决方法, 单元测试失效原因, 测试用例的指标追溯

五、测试用例中测试点设计策略(测试用例细节设计)(1小时)

 

  • 标识软件系统运行“流”的“拐点”,即测试点

  • 测试点的断言(Assert)设计

  • 测试点组合场景的设计

  • 相似测试点的抽象设计

  • 重复测试点的分离设计

  • 测试数据注入设计(UI注入与Interface注入)

  • 测试结果输出设计(自动与手动)

六、动态单元测试用例设计(白盒测试)(0.5小时)

白盒测试现在单元测试中的价值降低

课程中案例以面向对象软件的代码白盒测试案例为基础讲解,分析继承,多态等行为对白盒测试的影响和测试技巧

n  代码逻辑覆盖方法介绍

 u     代码逻辑覆盖方法:

  l  重点介绍代码逻辑覆盖率的若干种方 法,包括代码覆盖、分支覆盖、条件覆盖、分支条件覆盖、路径覆盖几种方法;

 u     代码逻辑覆盖率统计工具:

  l  结合代码逻辑覆盖率统计工具,可视化的展现代码逻辑覆盖的基本思路和方法;

 u    代码逻辑覆盖率案例

  l  针对每种覆盖方法提供案例,分析案例的代码逻辑覆盖率;

n 基于基本路径覆盖和循环覆盖的单元测试用例设计

 u     基本路径覆盖方法介绍:

  l  介绍在单元测试中使用的设计方法——基本路径覆盖方法和循环覆盖方法;

 u  基本路径覆盖方法:

 u  详细阐述基本路径覆盖法的使用方法和原则

 u  循环覆盖方法:

 u  详细阐述循环覆盖法中的简单循环、嵌套循环、连锁循环、非结构循环四种方法;

 

第二天

七、测试数据设计策略(缩小测试范围的方法,黑盒测试用例)(1.5小时)

使用黑盒进行单元测试的关键测试用例设计方法

  • 从数学角度理解测试用例的规模

  • 测试数据设计的元模型

  • 边界值法

  • 等价类法

  • 因果表法

  • 决策表法

  • 正交表与所有值对表法

  • 领域法

八、基于XUnit的单元测试(1.5小时)

基于XUnit单元测试框架,本部分内容采用XUnit作为整体单元设计框架,分享基于XUnit的TDD单元测试编写经验与案例演练

  • XUnit框架

  • XUnit测试的组成

  • XUnit的各种断言

  • 构建单元测试

  • XUnit和异常

  • XUnit的子集CPPUnit学习

  • 测试哪些内容:Right-BICEP

  • CORRECT边界条件

  • 使用Mock对象

  • 单元测试的自动化

单元测试的设计(2小时)

单元测试的重要设计思想,分享底层测试框架的设计经验与案例演练

  • Fresh   Fixture

  • Setup 和   Teardown

  • Shared   Fixture

  • Result   Verification

  • 单元测试设计概述

  • 单元测试的6个目标

  • Principle   For Automation UT(单元测试的8个原则)

十、软件单元测试性能测试(根据课程执行情况可略讲)


十一、单元测试与持续集成(0.5小时)

 

Ø 持续集成及日构建

Ø 构建日构建服务器

Ø 单元测试的自动化执行

Ø 持续集成与回归测试

十二、软件单元测试相关工具(0.5小时)

 

代码静态分析工具进行代码质量度量[开源工具为主]

1.  C,C++的代码静态分析工具

2.  Java的代码静态分析工具

3.  .NET的代码静态分析工具

4.  使用代码检查工具检查代码风格的规范

5.   使用代码分析工具分析代码复杂度指标-形成有效的代码可维护性指标指导开发

6.  分析代码覆盖率

7.   分析代码依赖关系

通过案例演示如何使用代码检查工具完成代码的质量度量与分析





返回上一级