课程背景
嵌入式系统是指用于执行独立功能的专用计算机系统。它由包括微处理器、定时器、微控制器、存储器、传感器等一系列微电子芯片与器件,和嵌入在存储器中的微型操作系统、控制应用软件组成,共同实现诸如实时控制、监视、管理、移动计算、数据处理等各种自动化处理任务。嵌入式系统以应用为中心,以微电子技术、控制技术、计算机技术和通讯技术为基础,强调硬件软件的协同性与整合性,软件与硬件可剪裁,以满足系统对功能、成本、体积和功耗等要求。
较简单的嵌入式系统仅有执行单一功能的控制能力,比如说单片机的应用,在唯一的ROM 中仅有实现单一功能控制程序,无微型操作系统。复杂的嵌入式系统,例如个人数字助理(PDA)、手持电脑(HPC)等,具有与PC 几乎一样的功能。实质上与PC 的区别仅仅是将微型操作系统与应用软件嵌入在ROM、RAM 和/或FLASH存储器中,而不是存贮于磁盘等载体中。很多复杂的嵌入式系统又是由若干个小型嵌入式系统组成的。
课程收益对嵌入式软件整体进行熟悉和运用
课程对象
资深嵌入式软件测试人员、嵌入式软件测试测试组长、嵌入式软件测试测试经理、质量保证人员和嵌入式软件需求分析人员等
课程目标
本课程通过嵌入式软件介绍,嵌入式软件测试基础,嵌入式软件测试生命周期,嵌入式软件测试技术,嵌入式软件测试管理,嵌入式软件测试工具介绍,嵌入式软件测试环境介绍,结合数字机顶盒的的案例以及部分练习对嵌入式软件整体进行介绍。
课程大纲
内容介绍
备注
第一天上午
案例需求介绍:机顶盒系统
练习需求介绍:自动化洗衣机
本案例分析及练习内容贯穿整个课程始终
1,嵌入式软件介绍
1.1嵌入式软件定义
1.2嵌入式软件平台
1.3嵌入式软件特点
1.4嵌入式软件分类
1.5嵌入式系统硬件基础知识
1.6嵌入式系统软件件基础知识
讨论:IOS, 安卓属于嵌入式操作系统吗?
1.7 嵌入式软件工程
讨论:嵌入式软件工程与普通软件工程有啥区别
1.8 嵌入式软件质量设计
讨论:如何提高嵌入式软件质量
理论:60%
案例:20%
讨论:20%
2,嵌入式软件测试基础
2.1 嵌入式软件测试的特点
2.2 嵌入式软件统一测试模型
2.3 嵌入式软件目标机环境测试和宿主机环境测试
2.4 嵌入式软件的测试步骤概述
2.4.1 系统平台测试
2.4.2 单元模块测试
2.4.3 集成测试
2.4.4 系统测试
2.4.5 确认测试
讨论:嵌入式测试与普通测试区别
理论:40%
案例:40%
讨论:20%
第一天下午
3,嵌入式软件测试生命周期
3.1 V模型和多V模型
3.1.1 软件开发V模型
3.1.2 嵌入式软件开发V模型
3.1.3 嵌入式软件开发多V模型
3.2 需求分析阶段
3.3 概要设计阶段
3.4 详细设计阶段
3.5 编码和测试执行阶段
3.5.1 单元/模块测试阶段
3.5.2 集成/系统测试阶段
3.5.3 确认测试阶段
3.6 迭代模型
3.7 嵌入式软件的测试
3.7.1 单元测试
3.7.2 集成测试
练习:画出下面集成图的关联矩阵
3.7.3 确认测试
3.7.4 系统测试
3.8 嵌入式软件测试策略总结
讨论:自动化洗衣机系统软件测试生命周期各个阶段如何开展测试工作?
理论:40%
案例:40%
讨论:20%
第二天上午
4,嵌入式软件测试技术
4.1 软件静态测试
4.1.2 静态分析
分享练习
4.2.2 边界值分析
4.2.4 错误推测法测试
4.2.6决策树
分享练习
理论:10%
案例分析:40%
练习:50%
第二天下午
4.3白盒测试技术
4.3.1 语句覆盖率
4.3.2分支覆盖率
4.3.3判断覆盖率
4.3.4路径覆盖率
4.3.5 MC/DC覆盖率
4.3.6控制流测试率
练习
4.4测试分类
4.4.1 功能测试
4.4.2 性能测试
4.4.3 压力测试
4.4.4 GUI测试
4.4.5 错误恢复
4.4.6 接口测试
4.4.7 余量测试
4.4.8 容量测试
4.4.9数据处理测试
4.4.10安全性测试
4.4.11安装新测试
4.4.12随机测试
4.4.13回归测试
练习
分享练习
5.3 测试设计
5.3.1 软件设计评审
5.3.2 测试设计
5.3.3 测试方案设计
5.4 测试用例设计
5.4.1 编写测试用例的步骤
5.4.2 测试用例的编写要求
5.4.3 测试用例编写/设计技术
5.4.4 测试用例模板
练习
分享练习
5.6 软件测试缺陷管理
5.6.1 软件缺陷跟踪过程
5.6.2 软件缺陷报告
讨论:介绍贵公司的缺陷管理过程
分享讨论
理论:30%
案例:40%
练习:30%
第三天下午
6,嵌入式软件测试环境
6.1 嵌入式软件测试环境综述
6.1.1 嵌入式软件仿真测试环境
6.1.2 嵌入式软件测试环境的体系结构
6.1.3 交叉测试方式
6.1.4 插桩技术
6.2 各测试阶段需要的测试环境
6.2.1 模型阶段
6.2.2 原型阶段
6.2.3 临近生产阶段
6.2.4 开发后阶段
6.3 嵌入式软件测试环境的建立
6.4 嵌入式软件测试环境建立实例
6.5 讨论:针对一个自动化洗衣机嵌入式软件,如何设计测试环境
6.6 分享讨论结果
理论:30%
案例:50%
讨论:20%
7,测试工具
7.1静态分析工具:QAC/QAC++ 产品介绍
7.2C/C++单元测试工具(Cantata)
7.3McCabe IQ
7.4 Meta Compilation
7.5 LOGISCOPE
7.6 CodeTest
7.7Tessy
7.8Goanna
理论:30%
案例:70%
8,嵌入式测试中的确认测试与回归测试
理论:30%
案例:70%
9总结
课程背景
嵌入式系统是指用于执行独立功能的专用计算机系统。它由包括微处理器、定时器、微控制器、存储器、传感器等一系列微电子芯片与器件,和嵌入在存储器中的微型操作系统、控制应用软件组成,共同实现诸如实时控制、监视、管理、移动计算、数据处理等各种自动化处理任务。嵌入式系统以应用为中心,以微电子技术、控制技术、计算机技术和通讯技术为基础,强调硬件软件的协同性与整合性,软件与硬件可剪裁,以满足系统对功能、成本、体积和功耗等要求。
较简单的嵌入式系统仅有执行单一功能的控制能力,比如说单片机的应用,在唯一的ROM 中仅有实现单一功能控制程序,无微型操作系统。复杂的嵌入式系统,例如个人数字助理(PDA)、手持电脑(HPC)等,具有与PC 几乎一样的功能。实质上与PC 的区别仅仅是将微型操作系统与应用软件嵌入在ROM、RAM 和/或FLASH存储器中,而不是存贮于磁盘等载体中。很多复杂的嵌入式系统又是由若干个小型嵌入式系统组成的。
课程收益对嵌入式软件整体进行熟悉和运用
课程对象
资深嵌入式软件测试人员、嵌入式软件测试测试组长、嵌入式软件测试测试经理、质量保证人员和嵌入式软件需求分析人员等
课程目标
本课程通过嵌入式软件介绍,嵌入式软件测试基础,嵌入式软件测试生命周期,嵌入式软件测试技术,嵌入式软件测试管理,嵌入式软件测试工具介绍,嵌入式软件测试环境介绍,结合数字机顶盒的的案例以及部分练习对嵌入式软件整体进行介绍。
嵌入式软件测试产品介绍
类型
产品名称
产地
综合仿真测试系统
FireBlade
***
综合故障注入设备
IceBlade
***
测试用例设计工具
BenderRBT
美国
源代码分析工具
QAC
英国
Goanna
澳大利亚
McCabe
美国
CasePlayer
日本
单元/配置项测试工具
Cantata
英国
Asmtester
***
嵌入式软件随机故障诊断工具
Smart
以色列
Memory
Analyzer
目标码测试工具
Systemverify
***
较差运行时间与堆栈分析工具
Bound-T
芬兰
可靠性预测与分析工具
Softrel
美国
FPGA 测试工具 VCS
Leda
美国
Formality
PrimeTime
配置管理工具
ClearCase
美国
测试管理工具
Tplan
英国