首页 > 我的课程 > 嵌入式软件测试咨询课程

“嵌入式软件测试培训课程”

课程方案

一、主讲老师

 顾翔

二、培训内容背景

嵌入式系统是指用于执行独立功能的专用计算机系统。它由包括微处理器、定时器、微控制器、存储器、传感器等一系列微电子芯片与器件,和嵌入在存储器中的微型操作系统、控制应用软件组成,共同实现诸如实时控制、监视、管理、移动计算、数据处理等各

种自动化处理任务。嵌入式系统以应用为中心,以微电子技术、控制技术、计算机技术和通讯技术为基础,强调硬件软件的协同性与整合性,软件与硬件可剪裁,以满足系统对功能、成本、体积和功耗等要求。

最简单的嵌入式系统仅有执行单一功能的控制能力,比如说单片机的应用,在唯一的ROM 中仅有实现单一功能控制程序,无微型操作系统。复杂的嵌入式系统,例如个人数字助理(PDA)、手持电脑(HPC)等,具有与PC 几乎一样的功能。实质上与PC 的区别仅仅是将微型操作系统与应用软件嵌入在ROMRAM /FLASH存储器中,而不是存贮于磁盘等载体中。很多复杂的嵌入式系统又是由若干个小型嵌入式系统组成的。

三、课程介绍

本课程通过嵌入式软件介绍,嵌入式软件测试基础,嵌入式软件测试生命周期,嵌入式软件测试技术,嵌入式软件测试管理,嵌入式软件测试工具介绍,嵌入式软件测试环境介绍,结合数字机顶盒的案例以及部分练习对嵌入式软件整体进行介绍。

四、案例与练习内容

案例,练习内容:数字机顶盒

本案例分析及练习内容贯穿整个课程始终

五、培训对象

资深嵌入式软件测试人员、嵌入式软件测试测试组长、嵌入式软件测试测试经理、质量保证人员和嵌入式软件需求分析人员等。

六、学员基础

至少有3-5年的相关工作经验

七、教学时间

3

八、课程内容

案例需求介绍:机顶盒系统

练习需求介绍:自动化洗衣机

I.嵌入式软件视频介绍

1,嵌入式软件介绍

1.1嵌入式软件定义

1.2嵌入式软件平台

1.3嵌入式软件特点、

1.4嵌入式软件分类

1.5嵌入式系统硬件基础知识

1.6嵌入式系统软件基础知识

讨论:IOS, 安卓属于嵌入式操作系统吗?

1.7 嵌入式软件工程

讨论:嵌入式软件工程与普通软件工程有啥区别

1.8 嵌入式软件质量设计

讨论:如何提高嵌入式软件质量

2,嵌入式软件测试基础

2.1 嵌入式软件测试的特点

2.2 嵌入式软件统一测试模型

2.3 嵌入式软件目标机环境测试和宿主机环境测试

2.4 嵌入式软件的测试步骤概述

2.4.1 系统平台测试

2.4.2 单元模块测试

2.4.3 集成测试

2.4.4 系统测试

2.4.5 确认测试

2.5如何提高嵌入式软件的可测性

2.6嵌入式软件测试策略
讨论:嵌入式测试与普通测试区别

2.7 嵌入式软件测试的内容

2.8 Temb测试方法

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 嵌入式软件测试策略总结

讨论:自动化洗衣机系统软件测试生命周期各个阶段如何开展测试工作?

4,嵌入式软件测试技术

4.1 软件静态测试

4.1.1业界编码规范

4.1.2 代码检查流程

4.1.3代码检查人员

4.1.4 代码检查类型

4.1.5 静态分析

练习

分享练习

4.2黑盒测试技术

4.2.1 等价类划分

4.2.2 边界值分析

4.2.3 决策表法

4.2.4 错误推测法测试

4.2.5 状态转换技术

4.2.6 决策树

练习

分享练习

4.3白盒测试技术

4.3.1 语句覆盖率

4.3.2 分支覆盖率

4.3.3 判断覆盖率

4.3.4 路径覆盖率

4.3.5 MC/DC覆盖率

4.3.6 控制流测试率

4.3.7 API测试

练习

分享练习

4.4 测试分类

4.4.1 功能测试

4.4.2 性能测试

4.4.3 易用性测试

4.4.4可靠性测试

4.4.5 稳定性测试

4.4.6压力测试

4.4.5恢复测试

4.4.7 接口测试

4.4.8 余量测试

4.4.9 容量测试

4.4.10数据处理测试

4.4.11安全性测试

4.4.12安装性测试

4.4.13安全性分析

4.4.14稀有事件测试

练习

分享练习

5,软件测试过程管理与实践

5.1 测试需求分析

5.1.1 原始需求提取

5.1.2 产品测试规格说明分析

5.1.3 测试规格说明分配分解

5.2 测试计划

5.2.1 任务分解与工作量估计

5.2.2 软件测试计划

5.2.3 测试计划制定

练习

分享练习

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.5 测试执行

5.5.1 编码阶段

5.5.2 稳定阶段

5.5.3 发布和验收阶段

5.5.4 测试执行日志

5.5.5 测试执行报告

5.5.6 测试总结报告

分享练习

5.6 软件测试缺陷管理

5.6.1 软件缺陷跟踪过程

5.6.2 软件缺陷报告

讨论:介绍贵公司的缺陷管理过程

分享讨论

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 分享讨论结果

7,测试工具

7.1测试工具介绍

7.2开源工具

7.2.1 Cppcheck

7.2.2 Splint

7.2.3 Valgrind

7.2.4 PMD

7.2.5 FindBugs

7.2.6 Checkstyle

7.2.7 PC-Lint

7.2.8 DÉCOR

7.2.9 iPlasma

7.3 商用工具

7.3.1QAC/QAC++

7.3.2C/C++单元测试工具(Cantata

7.3.3McCabe IQ

7.3.4 Meta Compilation

7.3.5 LOGISCOPE

7.3.6 CodeTest

7.3.7 Tessy

7.3.8 Goanna

7.3.9 Klocwork

7.2.10 PRQA

7.3.11CasePlayer

8,嵌入式测试中的确认测试与回归测试

9总结

参考读物

嵌入式软件测试规范

嵌入式软件测试技术[MISRA]

嵌入式软件测试技术[QUALITY]

嵌入式软件测试技术[基础篇]

如何评估嵌入式软件测试工具

 

投稿关闭窗口打印

软件测试