课程适合人群:
使用C语言开发产品代码的软件工程师、白盒测试工程师
本课程重点解答&解决:
介绍单元测试的基本概念
全面介绍白盒覆盖率内容,包括:语句、分支、条件、MC/DC、路径以及控制流覆盖
介绍静态代码扫描技术
介绍如何在Window和Linux环境搭建C语言编译环境
介绍C语言单元测试工具:CUNIT
介绍C语言覆盖率分析工具GCOV、LCOV
介绍如何在Window和Linux下搭建C语言质量扫描工具SonarQube
了解TDD技术并且对TDD技术进行实战
本课程亮点+核心价值介绍:
全面介绍白盒覆盖率
介绍C语言单元测试工具:CUNIT
介绍如何在Window和Linux下搭建质量扫描工具SonarQube
了解TDD技术并且对TDD技术进行实战
课程大纲:
课长2天
1.单元测试概要
介绍单元测试
单元测试在传统开发模式中的地位
单元测试在敏捷开发模式中的地位
TDD
测试桩和驱动
测试应该贯彻始终
敏捷与DevOps下的单元测试
代码提交
嵌入式软件测试的难点
嵌入式软件测试的方法
2.白盒测试基本概念
静态测试与动态测试
精准测试
白盒测试基本概念-动态分析
语句覆盖
分支覆盖
条件覆盖
条件/分支覆盖
MC/DC覆盖
路径覆盖
控制流覆盖
白盒测试基本概念-静态态分析
MISRA C/C++
代码错误
功能层面错误
有特征的错误
语法特征错误
边界行为特征错误
经验特征错误
无特征的错误
算法错误
部分算法错误
性能层面的错误
时间性能层面问题
空间性能层面问题
3 C语言单元测试工具
Windows下安装C语言运行环境
安装配置MinGW
安装配置msys2
安装配置IDE
下载并且编译CUnit
在Windows下安装
在Linux下安装
建立被测文件和测试文件
Windows下运行测试文件
Linux下运行测试文件
运行结果
查看测试报告
CUnit介绍
CUnit的四种运行模式
头文件
断言
CUnit架构
通用步骤
案例
指针操作
返回结构体
文件的读写操作
4.白盒测试覆盖率工具
圈复杂度
扇入扇出
GCOV、LCOV安装
GCOV、LCOV运行
测试报告
LCOV工具在Jenkins中的应用
5.语法规范检查SonaQube
JDK 11的安装
SonaQube支持的数据库
MS SQL Server安装
postgresql安装
SonaQube安装
SonaQube配置
sonar-scanner安装及运行
6.TDD实践
TDD简介
需求变更带来的