400-888-5228

课程介绍:

本课程有别与一般的C++单元测试,该课程着眼于复杂项目中的单元测试,直面企业单元测试的各种实际、核心难题,着重讲授解决思路,同时介绍相关工具,以及利用单元测试改进开发过程,包括TDD(测试驱动开发)和ETDD(易行版TDD)。

课程内容是基于讲师多年的实战经验总结而成,相比其他C++单元测试,具有更鲜明的前瞻性、原创性,并且具有很强的可实践性。

 

课程长度:

2天

课程对象:

开发工程师、项目经理、开发总监;

测试工程师、测试经理、QA、质量经理;

有兴趣掌握单元测试技术的相关人士。

具有一定的C或C++编程基础

 

课程大纲

1、理论基础(2课时)

1.1、单元测试的基本概念。

1.2、代码特性与单元测试。

1.3、单元测试方法:广义单元测试与狭义单元测试方法,及其优缺点。

1.4、动态测试的基本方法。

1.5、测试代码:测试代码的构成与编写。

1.6、练习:纯手工编写测试代码,测试简单独立的函数。

1.7、扬其长避其短:单元测试的优势与不足。

1.8、单元测试标的:该做什么与不该做什么。

1.9、单元测试的肥肉与骨头。

2、理论进阶(2课时)

2.1、打桩技术:打桩的意义、方法及减少打桩工作的思路。

2.2、白盒测试与黑盒测试:基本概念、常见误区。

2.3、白盒覆盖

2.3.1 、概念。

2.3.2 、MC/DC覆盖。

2.3.3 、路径覆盖。

2.3.4 、白盒覆盖的价值、局限性与应用。

2.4、插装技术:统计覆盖率、监视数据的方法。

2.5、用例自动设计技术:原理、方法、局限性与误区、应用。

3、测试用例(2课时)

3.1、测试用例的构成。

3.2、几种测试用例设计方法介绍简介。

3.2.1 、边界值法。

3.2.2 、基路径法。

3.2.3 、等价类法。

3.3、实用用例设计方法:功能+覆盖法。

3.3.1 、功能:从开发角度记录功能点形成用例。

3.3.2 、覆盖:利用白盒覆盖找出遗漏用例。

3.4、程序员测试的不足与弥补。

4、测试难点与解决思路(2课时)

4.1、测试实际项目与测试简单独立函数的差别。

4.2、独立运行:隔离测试任务。

4.3、覆盖输入。

4.4、内部输入原理。

4.5、内部输入的六种情形。

4.6、编写桩代码解决内部输入。

4.7、底层模拟解决内部输入。

4.8、如何保证测试效果:常见误区、可行的方法。

4.9、测试效率:效率决定成败,提升效率的思路与方法。

5、工具一:CppUnit(2课时)

5.1、安装、编译、建立测试工程、编写测试代码。

5.2、练习:使用CppUnit测试简单独立函数。

5.3、CppUnit进阶:改进CppUnit,减少工作量,及解决打桩造成的失真。

6、工具二:C++TEST(2课时)

6.1、C++TEST介绍。

6.2、C++TEST的基本使用。

7、工具三:Visual Unit(2课时)

7.1、Visual Unit 介绍。

7.2、Visual Unit的基本使用。

8、改进开发过程(2课时)

8.1、TDD(测试驱动开发)。

8.1.1 、TDD概念与优势。

8.1.2 、TDD过程。

8.1.3 、TDD原则。

8.1.4 、TDD的不足。

8.2、ETDD(Easy TDD,易行版TDD)。

8.2.1 、ETDD概述。

8.2.2 、ETDD过程。

8.2.3 、练习:使用ETDD开发。