一.单元测试概要
1.介绍单元测试
2.单元测试在传统开发模式中的地位
3.单元测试在敏捷开发模式中的地位
4.TDD
5.测试桩和驱动
6.测试应该贯彻始终
7.敏捷与DevOps下的单元测试
8.代码提交
9.嵌入式软件测试的难点
10.嵌入式软件测试的方法
二.白盒测试基本概念
1.静态测试与动态测试
2.精准测试
3.白盒测试基本概念-动态分析
3.1语句覆盖
3.2分支覆盖
3.3条件覆盖
3.4条件/分支覆盖
3.5MC/DC覆盖
3.6路径覆盖
3.7控制流覆盖
4.白盒测试基本概念-静态态分析
4.1MISRA C/C++
4.2代码错误
4.2.1功能层面错误
(1)有特征的错误
语法特征错误
边界行为特征错误
经验特征错误
(2)无特征的错误
算法错误
部分算法错误
4.2.2性能层面的错误
(1) 时间性能层面问题
(2) 空间性能层面问题
三.C语言单元测试框架CUNIT
1.C语言单元测试工具
2.安装配置mingw(Windows)
3.安装配置msys2(Windows)
4.下载并且编译CUNIT
5.建立测试文件和被测文件
6.查看测试结果
7.安装配置IDE
8.CUNIT介绍
8.1四种运行模式
8.1.1Basic
8.1.2Automated
8.1.3Console
8.1.4Curses
8.2头文件
8.3断言
8.4CUNIT架构
8.5通用步骤
8.5.1测试主体
8.5.2加入CU_TestInfo
8.5.3suite_init/clean、suite_setup\teardown
8.5.4CU_SuiteInfo suites
8.5.5CU_initialize_registry
8.5.6CU_register_suites
8.5.7选择四种运行模式
8.5.8CU_cleanup_registry
8.6案例
8.6.1排序
(1)冒泡排序
(2)快速排序
8.6.2文件的读写
8.6.3交换变量值
返回结构体
9.数据驱动及测试数据
四.白盒测试覆盖率工具——GCOV、LCOV
1.圈复杂度
2.扇入扇出
3.GCOV、LCOV安装
4.GCOV、LCOV运行
5.测试报告
五.语法规范检查SonaQube
1.JDK 11的安装
2.SonaQube支持的数据库
3.MS SQL Server安装
4.postgresql安装
5.SonaQube安装
6.SonaQube配置
7.sonar-scanner安装及运行
六.TDD实践
1.TDD简介
1.1需求变更带来的
1.2注册(测试桩)
2.项目实战