C++单元测试培训

课程介绍
     本课程有别与一般的C++单元测试,该课程着眼于复杂项目中的单元测试,直面企业单元测试的各种实际、核心难题,着重讲授解决思路,同时介绍相关工具,以及利用单元测试改进开发过程,包括TDD(测试驱动开发)和ETDD(易行版TDD)。
     课程内容是基于讲师多年的实战经验总结而成,相比其他C++单元测试,具有更鲜明的前瞻性、原创性,并且具有很强的可实践性。

课程对象
      开发工程师、项目经理、开发总监;
      测试工程师、测试经理、QA、质量经理;
      有兴趣掌握单元测试技术的相关人士。
      具有一定的C或C++编程基础

课程长度:2天

最新时间:定制课程(内训),人满开班(公开课)

传统的面对面授课方式。

 

课程大纲:

        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开发。