首页 > 我的课程 > C++语言单元测试

课程适合人群:

  • 使用C++语言开发产品代码的软件工程师、白盒测试工程师
  • 本课程重点解答&解决:
  • 介绍单元测试的基本概念
  • 全面介绍白盒覆盖率内容,包括:语句、分支、条件、MC/DC、路径以及控制流覆盖
  • 介绍静态代码扫描技术
  • 介绍如何在Linux环境搭建C++语言编译环境
  • 介绍C++语言单元测试工具:Google Test
  • 介绍C++语言覆盖率分析工具GCOV、LCOV
  • 介绍如何在Window和Linux下搭建C++语言质量扫描工具SonarQube
  • 了解TDD技术并且对TDD技术进行实战
  • 本课程亮点+核心价值介绍:
  • 全面介绍白盒覆盖率
  • 介绍C++语言单元测试工具:Google Test
  • 介绍如何在Linux下搭建质量扫描工具SonarQube
  • 了解TDD技术并且对TDD技术进行实战
  • 课长:
  • 3天
  • 大纲内容

    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 需求变更带来的

    软件测试咨询

      

               

    投稿关闭窗口打印