课程适合人群:
1.单元测试概要
   1.1介绍单元测试
   1.2单元测试在传统开发模式中的地位
   1.3单元测试在敏捷开发模式中的地位
   1.4TDD
   1.5测试桩和驱动
   1.6测试应该贯彻始终
   1.7敏捷与DevOps下的单元测试
   1.8代码提交
   1.9嵌入式软件测试的难点
   1.10嵌入式软件测试的方法
2.白盒测试基本概念
   2.1静态测试与动态测试
   2.2精准测试
   2.3白盒测试基本概念-动态分析
      2.3.1语句覆盖
      2.3.2分支覆盖
      2.3.3条件覆盖
      2.3.4条件/分支覆盖
      2.3.5MC/DC覆盖
      2.3.6路径覆盖
   2.4控制流覆盖
   2.5白盒测试基本概念-静态态分析
        2.5.1 MISRA C/C++
        2.5.2 代码错误
            功能层面错误
            性能层面的错误
3 C++语言单元测试工具
    3.1 Google Test
        3.1.1 安装
            准备条件
            安装CMake
            建立google Test
      3.1.2 引言
            Google Test简介
            基本概念
      3.1.3 断言
      3.1.4 书写测试
            简单测试(TEST()宏)
            测试夹具(TEST_F()宏)
            参数化(TEST_P()宏)
      3.1.5 如何测试静态、保护和私有变量和方法
            如何测试静态变量和方法
            如何测试保护变量和方法
            如何测试私有变量和方法
    3.2 Google Mock
        3.2.1 引言
            Google Mock简介
            为什么选择Google Mock
        3.2.2 Google Mock基础
            测试的重要性
            Google Mock的安装和配置
            测试用例的结构
            编写测试用例的步骤
        3.2.3 创建测试用例
            测试用例的重要性
            测试用例的基本原则
            测试用例的结构
            测试用例的参数化
            测试用例的组织
            示例:测试复杂逻辑
        3.2.4 Mocking的基本概念
            什么是Mocking?
            Mocking与Stub的区别
            为什么使用Mocking?
            使用Google Mock进行Mocking
            示例:Mock一个简单的依赖
            使用Mock验证方法调用顺序
            任意次数的调用
            动作:被调用时的行为
            设置多个期望
            组合Mock和Stub
            Mocking复杂类型(NiceMock 和StrictMock)
            Google Mocking的局限性
        3.2.5 高级Mocking技巧
            使用ON_CALL自定义Mock行为
            模拟异常
            使用Invoke回调函数
            模拟复杂的数据结构
            模拟方法调用的副作用
            模拟方法的多次调用
            使用UnorderedElementsAre匹配容器
        3.2.6 Google Mock的断言和期望
            断言的重要性
            基本断言Google Test
            匹配器:验证参数
            组合断言
            断言动作(Actions)
            验证器(Validators)
            期望和断言的高级用法
4.白盒测试覆盖率工具
    4.1圈复杂度
    4.2扇入扇出
    4.3GCOV、LCOV安装
    4.4GCOV、LCOV运行
    4.5测试报告
    4.6LCOV工具在Jenkins中的应用
5.语法规范检查SonaQube
    5.1 JDK 11的安装
    5.2 SonaQube支持的数据库
    5.3 MS SQL Server安装
    5.4 postgresql安装
    5.5 SonaQube安装
    5.6 SonaQube配置
    5.7 sonar-scanner安装及运行
6.TDD实践
    6.1 TDD简介
    6.2 需求变更带来的
【投稿】【关闭窗口】【打印】