首页
›
嵌入式基础与RISC-V
›
005-嵌入式软件架构设计
›
《嵌入式可测试性分层架构与Mock测试体系》
VIP10
本课程属于:005-嵌入式软件架构设计
嵌入式基础与RISC-V · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
嵌入式可测试性分层架构与Mock测试体系
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
课程导论
为什么可测试性设计是嵌入式架构的基石… · 引出DFT(Design for T…
课程导论
为什么可测试性设…
02
分层架构基础
经典三层架构(HAL · OSAL · App)回顾
分层架构基础
HAL
03
依赖倒置原则(DIP)
高层模块不应依赖低层模块 · 两者都应依赖抽象。实战
DIP
依赖倒置原则
04
接口隔离原则(ISP)
胖接口的危害 · 如何拆分出细粒度的测试桩接口
ISP
接口隔离原则
05
控制反转(IoC)与依赖注入(DI)
手动DI vs 轻量级容器 · 在资源受限MCU上的实现取舍
IoC
DI
06
硬件抽象层(HAL)设计
定义标准化的MCU外设接口(GPIO · UART · SPI)
HAL
硬件抽象层
07
模拟外设与测试桩(Mock/Stub)
编写一个可注入的Flash驱动Stu… · 用于单元测试
Mock/Stub
模拟外设
08
回调函数与事件驱动架构
用函数指针实现松耦合 · 便于在测试中替换回调逻辑
回调函数
事件驱动架构
09
状态机与可测试性
分层状态机设计 · 将状态转移逻辑与动作执行分离 · 便于单步测试
状态机
可测试性
10
配置与参数化设计
将硬编码常量改为运行时配置结构体 · 测试时注入不同参数覆盖边界
配置
参数化设计
11
模块间通信机制
消息队列与发布-订阅模式 · 如何隔离模块依赖以便单独测试
模块间通信机制
消息队列
12
时间与定时器抽象
封装系统Tick · 测试时使用虚拟时间加速或回放
时间
定时器抽象
13
错误处理与日志接口
定义统一的错误码和日志回调 · 测试时捕获并断言错误行为
错误处理
日志接口
14
数据流与管道架构
将数据处理拆分为Filter链 · 每个Filter可独立测试
数据流
管道架构
15
面向测试的API设计原则
命令-查询分离(CQS) · 让函数要么做事要么回答 · 不要两者都做
API
面向测试的
16
链接时替换(Link-Time Substitution)
利用链接器特性 · 在不修改源码的情况下替换目标文件进行…
Link-Time
Substitution
17
条件编译与测试钩子
合理使用#ifdef · 在测试版本中暴露内部状态 · 但避免污染生产代码
条件编译
测试钩子
18
持续集成中的自动化测试
搭建PC端仿真测试环境(如使用QEM… · 将测试嵌入CI流水线
持续集成
自动化测试
19
代码覆盖率分析与优化
语句 · 分支 · MC/DC覆盖率的嵌入式实践
代码覆盖率分析
优化
20
内存与资源泄漏检测
封装malloc/free · 测试时统计分配次数 · 检测泄漏
内存
资源泄漏检测
21
中断与并发测试策略
将中断处理程序设计为“快进快出 · 核心逻辑放在任务级 · 便于同步测试
并发测试策略
断处理程序设计为…
22
通信协议栈的可测试性
分层协议栈(物理层 · 链路层 · 应用层)
通信协议栈的可测…
分层协议栈
23
Bootloader与固件升级的可测试性
模拟Flash分区 · 测试回滚与校验逻辑
Bootloader
固件升级的可测试…
24
传感器驱动框架
定义统一的Sensor抽象层(ini… · 支持模拟传感器数据注入
传感器驱动框架
Sensor
25
低功耗管理的可测试性
抽象电源管理接口 · 测试时模拟进入/退出睡眠模式
低功耗管理的可测…
抽象电源管理接口
26
看门狗与安全机制
设计可禁用的看门狗抽象 · 测试时避免复位干扰
看门狗
安全机制
27
遗留代码重构
如何给意大利面条式代码添加测试防护网 · 逐步提取分层架构
遗留代码重构
如何给意大利面条…
28
实战案例
智能家居网关——从单体架构到分层可测…
实战案例
智能家居网关
29
实战案例
车载CAN节点——基于DFT的通信与…
实战案例
CAN
30
课程总结与架构评估矩阵
如何用可测试性指标(如测试点注入率 · 模块耦合度)量化评估你的架构
课程总结
架构评估矩阵
所属VIP或分类
同VIP:嵌入式可测试架构与高内聚模块重构
同VIP:嵌入式实时系统状态机框架与代码复用
同VIP:嵌入式实时系统驱动与OS层可测试性设计