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

“C语言单元测试”
课程方案
一、主讲老师:
 顾翔
二、培训内容介绍:
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。
三、课程介绍
本课程介绍C语言单元测试,包括单元测试概要、白盒测试基本概念、C语言单元测试框架CUNIT、白盒测试覆盖率工具——GCOV、LCOV、语法规范检查SonaQube和TDD实践
四、培训对象
C语言开发工程师
五、学员基础
熟悉掌握C语言、精通Linux、Windows命令、熟悉SQL Server和postgresql的安装
六、教学时间
2天
七、课程内容
1.单元测试概要
   介绍单元测试
   单元测试在传统开发模式中的地位
   单元测试在敏捷开发模式中的地位
   TDD
   测试桩和驱动
   测试应该贯彻始终
   敏捷与DevOps下的单元测试
   代码提交
   嵌入式软件测试的难点
   嵌入式软件测试的方法
2.白盒测试基本概念
   静态测试与动态测试
   精准测试
   白盒测试基本概念-动态分析
      语句覆盖
      分支覆盖
      条件覆盖
      条件/分支覆盖
      MC/DC覆盖
      路径覆盖
      控制流覆盖
   白盒测试基本概念-静态态分析
      MISRA C/C++
      代码错误
         功能层面错误
            有特征的错误
               语法特征错误
               边界行为特征错误
               经验特征错误
            无特征的错误
               算法错误
               部分算法错误
         性能层面的错误
            时间性能层面问题
            空间性能层面问题
3.C语言单元测试框架CUNIT
   C语言单元测试工具
   安装配置mingw(Windows)
   安装配置msys2(Windows)
   下载并且编译CUNIT
   建立测试文件和被测文件
   查看测试结果
   安装配置IDE
   CUNIT介绍
      四种运行模式
         Basic
         Automated
         Console
         Curses
      头文件
      断言
      CUNIT架构
      通用步骤
         测试主体
         加入CU_TestInfo
         suite_init/clean、suite_setup\teardown
         CU_SuiteInfo suites
         CU_initialize_registry
         CU_register_suites
         选择四种运行模式
         CU_cleanup_registry
      案例
         排序
            冒泡排序
            快速排序
         文件的读写
         交换变量值
         返回结构体
   数据驱动及测试数据
4.白盒测试覆盖率工具——GCOV、LCOV
   圈复杂度
   扇入扇出
   GCOV、LCOV安装
   GCOV、LCOV运行
   测试报告
5.语法规范检查SonaQube
   JDK 11的安装
   SonaQube支持的数据库
   MS SQL Server安装
   postgresql安装
   SonaQube安装
   SonaQube配置
   sonar-scanner安装及运行
6.TDD实践
   TDD简介
      需求变更带来的
      注册(测试桩)
   项目实战

软件测试