4006-998-758
3000+课程任你选择
C语言单元测试
研发学院 TDD实践 SonaQube C语言 开课时间:2021-07-03
顾翔

1997年毕业于北京工业大学,毕业后即从事软件测试工作,曾经在炎黄新星网络科技有限公司、中兴通讯股份有限公司、意法半导体(中国)有限公司和爱立信通信(中国)有限公司担任软件测试工程师,软件测试经理等职务,积累了丰富的软件研发测试的理论和实践经验。现专职从事软件开发与测试、大数据以及云计算相关的培训工作。


查看老师详情
课程内容

一.单元测试概要


   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.项目实战


返回上一级