VIP20
本课程属于:025-形式化验证 芯片设计与FPGA · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录 咨询 / 购买

覆盖收敛瓶颈分析与调试策略

📚 共计 30 章节
01
覆盖收敛基础
什么是覆盖收敛、为什么重要、覆盖率的类型(行覆盖、分支覆盖、条件覆盖、路径覆盖)
基础核心概念
02
覆盖率收集工具
GCOV/LCOV 工具链介绍、安装与配置、生成覆盖率报告
工具GCOV
03
覆盖率数据解读
如何阅读覆盖率报告、常见指标(行覆盖率、函数覆盖率、分支覆盖率)、数据可信度分析
分析指标
04
低覆盖率根因分析
代码死区、测试用例缺失、测试环境差异、编译优化影响
根因调试
05
调试策略之日志注入
在关键分支添加日志、日志级别管理、日志与覆盖率关联分析
日志调试
06
调试策略之断言增强
静态断言与动态断言、断言覆盖的盲区、断言对性能的影响
断言验证
07
调试策略之Mock与Stub
隔离外部依赖、模拟复杂场景、Mock框架选型 (Google Mock, CMock)
Mock隔离
08
调试策略之Fuzz测试
Fuzz基本原理、集成到CI/CD、覆盖率引导的Fuzz (LibFuzzer, AFL)
Fuzz自动化
09
调试策略之代码插桩
手动插桩 vs 自动插桩、插桩对性能的开销、插桩数据采集
插桩性能
10
调试策略之回归测试
回归测试集设计、与覆盖率挂钩、自动化回归流程
回归自动化
11
瓶颈定位之热点函数
性能分析器 (perf, gprof) 使用、热点函数与覆盖率关系、优化优先级
性能热点
12
瓶颈定位之死代码识别
静态分析工具 (cppcheck, clang-tidy)、死代码清理流程、清理后的覆盖率变化
死代码静态分析
13
瓶颈定位之不可达路径
控制流图分析、不可达路径的数学证明、简化逻辑消除不可达
路径控制流
14
瓶颈定位之测试冗余
重复测试识别、测试最小化算法、Delta Debugging应用
冗余最小化
15
瓶颈定位之环境依赖
硬件差异、操作系统差异、第三方库版本差异导致的覆盖盲区
环境兼容性
16
高级分析之变异测试
变异算子、变异得分与覆盖率关系、工具 (PIT, MutPy)
变异高级
17
高级分析之符号执行
符号执行原理、工具 (KLEE, Angr)、生成高覆盖测试用例
符号执行KLEE
18
高级分析之污点分析
污点传播跟踪、与Fuzz结合、安全场景下的覆盖增强
污点安全
19
高级分析之差分测试
多版本对比、回归覆盖差异、跨项目覆盖迁移
差分回归
20
高级分析之覆盖率驱动的测试生成
自动生成测试用例、Randoop, EvoSuite实践
自动生成Randoop
21
CI/CD中的覆盖策略
流水线集成覆盖率门禁、增量覆盖 vs 全量覆盖、失败回滚机制
CI/CD门禁
22
覆盖收敛指标制定
团队级指标、模块级指标、红线与绿线策略、持续改进模型
指标管理
23
覆盖数据可视化
趋势图、热力图、火焰图与覆盖结合、Dashboard搭建
可视化Dashboard
24
覆盖数据仓库
数据存储选型 (InfluxDB, Prometheus)、历史数据对比、异常检测
存储时序
25
多语言覆盖挑战
C/C++、Java、Python、Go的覆盖工具差异、统一报告格式
多语言兼容
26
嵌入式系统覆盖
交叉编译覆盖、硬件在环测试、资源受限下的插桩策略
嵌入式交叉编译
27
分布式系统覆盖
微服务调用链覆盖、分布式追踪与覆盖结合、混沌工程中的覆盖
分布式追踪
28
安全关键系统覆盖
DO-178C/ISO 26262对覆盖的要求、MC/DC覆盖、认证文档生成
安全MC/DC
29
覆盖收敛实战案例一
某金融交易系统覆盖从30%到90%的优化历程
实战金融
30
覆盖收敛实战案例二
某自动驾驶感知模块覆盖瓶颈突破与调试策略复盘
实战自动驾驶