嵌入式系统软件测试-OS test

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2013-7-14
24
测试环境-硬件模拟测试环境
使用与产品的嵌入式系统硬件指令兼容 的CPU,设计研制与之严格时序及逻辑等价的测 试平台,以硬件或软件手段实现测试信息的设 定和记录等功能。


优点:接近真实的运行环境,可记录部 分中间结果. 缺点:难于统计覆盖率,响应时间测试 不够准确,记录数据受硬件条件的限制。
测试案例-测试计划


软件配置项划分 测试定义 测试/管理工具的确定 测试环境定义 3
测试案例-测试设计

单元测试 集成测试 确认测试 系统测试
测试说明文档 测试基准 部分或整体 关键模块的选择 分步骤集成 结构测试和功能测试
系统集成和验收测试虽然不属于软件 工程过程的研究范围,也不是由软件开 发人员来进行的,但却是嵌入式系统测 试不可回避的。在软件设计和测试阶段 采用的步骤能够大大增加软件成功地在 复杂系统中进行集成的可能性,但却不 能解决系统集成的所有问题。
2013-7-14
17
嵌入式软件测试工具


静态测试工具 动态测试工具
模块集成 软件与硬件集成 软件配置项确认测试 软件集成测试
软件配置项集成 软件系统确认测试 软件系统测试
系统测试
真实系统测试 软件系统与硬件集成 系统验收测试
2013-7-14
11
测试设计-确认测试
检验所开发的软件能否满足功能和性能需求。
与通用软件的确认测试不完全一致 软件配置项级确认测试 系统级确认测试-验收测试 广度上有所要求(重视强度测试、安全性测试、可恢复 性测试… )
6
测试设计-单元测试
旨在发现程序模块的编码和逻辑错误。


要重视静态分析和代码审查 确定软件单元粒度 用例设计的方法取决于被测单元的特点 性能测试(中断处理、实时性)
2013-7-14
7
测试设计-关于代码审查
人工测试技术在检查某些编码错 误时,有着特殊的功效,它常常能 够找出利用计算机不容易发现的错 误。人工测试至今仍是一种行之有 效的测试方法。一个对照实验发现, 人工走查和审查会平均能查出被测 程序的38%错误,IBM代码审查会的 查错效率高达80%。
2013-7-14
29
嵌入式软件测试案例



测试流程/测试策略 测试计划 测试设计 测试评审 测试实现 测试实施 测试评价 测试配置管理 第三方测试
30
2013-7-14
测试案例-测试流程
代码 软件产品 软件需 求文档
回归测试
软件设 计文档
更改 报告
系 统 分 析
系 统 设 计
2013-7-14
18
测试工具-主要功能

静态测试工具测试软件调研报告.doc
-编程标准验证(Program Standards Verification) -数据流分析技术(Data Flow Analysis) -质量度量(Quality Metrics)信息 -代码可视化显示(Code Visualisation)
2013-7-14
15
测试设计-与通用软件系统测试的区别
通用软件的系统测试要求在各种系统硬 件(兼容机)和软件环境(操作系统)中完 成测试,而嵌入式系统测试则要求在特定的 硬件系统和接口环境(真实环境)中进行。 系统安装测试的概念有所区别。 多数嵌入式系统无GUI测试。
2013-7-14
16
测试设计-概述
2013-7-14
34
测试案例-测试实现

测试工具 测试脚本(测试步骤的计算机表示) 测试环境
2013-7-14
35
测试案例-测试用例的复用



低层被测对象的测试用例或其部分内容可 以复用在对高层被测对象的测试中。如: 部件确认测试阶段可以复用单元测试阶段的测 试输入; 部件确认测试阶段的测试用例组可以复用在配 臵项集成测试阶段和配臵项确认测试阶段中; 配臵项确认测试阶段的测试用例组可以复用在 系统集成测试阶段和系统验收测试中。
28
2013-7-14
测试环境-基本要求

测试是可以重复的,可以进行回归测试
测试是为了发现软件中的缺陷,由于错误 出现经常是有条件的,在经过调试以后,为了 验证缺陷是否消失,就要使用错误出现时的测 试用例进行回归测试;回归测试时,不仅要使 用先前出现错误时的测试用例,还要重复所有 的测试,以避免调试引进的新缺陷。作为测试 环境就必须满足测试输入可重复、避免随机产 生测试用例的情形。
2013-7-14 9
测试设计-集成测试
检验与软件设计相关的程序结构问题;着 重于测试软件模块间的接口和模块所体现的功 能验证。

发现部分设计缺陷 分步骤逐步完成,增量过程 较多使用黑盒测试 辅助测试系统 软件与硬件的部分集成
2013-7-14 10
测试设计-软件集成测试流程
软件模块测试 软件单元测试
对整个嵌入式系统进行考验的一系列不同 的测试,每个测试都有不同的目的,所有的 测试都是为了整个系统成分能正常地集成到 一起以完成分配的功能。
2013-7-14
14
测试设计-系统测试/验收测试

最终在系统一级进行的确认测试 有顾客(用户)参加的测试
环境试验 可靠性测试 压力测试 …
功能测试 性能测试 恢复测试 安全测试
2013-7-14
12
测试设计-与通用软件测试的区 别
没有可移植性、兼容性等的测试要求; 多数嵌入式系统也没有人机接口的测 试要求; 由于嵌入式系统的软件与硬件系统密 切相关,确认测试完成并不表明软件测试 的结束; 软件最终的确认测试是完成系统集成 测试以后的系统验收测试。
2013-7-14
13
测试设计-系统集成测试
软件测试工程师培训
嵌入式系统软件测试
2013-7-14
1
综述
不存在一个适合于所有软件的通用的测试 方法和测试程序,必须以具体项目的特点和要 求为基础,综合考虑测试活动要素及工程限制, 制定和选择适当的目标、计划和规程,以保证 测试质量和软件质量。 本次讲课内容:结合实际测试实例,介绍 与实时嵌入式系统软件测试相关的技术要点。
ClearCase工具 不同级别的测试评审 测试用例库 测试问题报告
2013-7-14
39
测试案例-第三方测试

单元测试

使用工具进行静态度量 工具和人工结合代码走读 在第二方测试环境下 变换测试用例 复现测试用例
40

软件配置项确认测试

2013-7-14
总结




编程人员要有意识地学习和掌握测试工具,而 不能认为是测试人员的事。 在软件测试中应该根据实际情况实施测试,无 需刻意追求使用测试工具。 实现软件工程和软件测试,更多地是软件流程 管理,不只是强调软件开发(编程)质量。 有了环境和工具并不意味完成了测试。 软件工程应加强软件流程的有序性和有效性管 理,而不应该片面追求大而全的瀑布模型。
2013-7-14 8
测试设计-关于时间特性测试
实时系统中对软件运行实时性有严格的 要求。有些软件测试工具提供了时间测试的功 能,使用的软件插桩可能会影响时间测试精度, 但只要被测试的模块的时间特性在允许的余量 范围(比如30%)中,测试结果是有效的。 自行编制驱动软件,使用时钟来测试模块 运行时间也是行之有效的方法。 模块的时间特性是一个统计数值而不是只 靠一次测试得到的结果。
CSC
单元、部件、
集成单元成部件
配置项集成测试
CSCI
部件、配置项
组装部件成配置项
配置项确认测试
CSCIV
配置项、子系统
确认配置项的功能和性能
系统集成测试
SYS
子系统,系统
动态协调开发环境下的各 子系统
系统验收测试 2013-7-14
SYSV
子系统,系统,关 键配置项
确认系统的功能和性能
实际运行环境中满足用 户需求的系统 32
25
2013-7-14
测试环境-全数字仿真测试环境
使用软件方法模拟被测试软件的运行环境, 并记录软件运行的输入/输出结果和中间数据。 优点:测试时便于根据测试用例设臵各种输入, 可通过记录的数据进行精度分析、覆盖率统计, 便于修改和进行回归测试。 缺点:难以发现与硬件相关的问题,难于准确 测试软件的响应时间。平台正确性影响到测试 结果。
2013-7-14
19
测试工具-主要功能

动态测试工具测试软件调研报告.doc
-代码覆盖率(Code Coverage) -自动产生测试外壳程序(test harness) (单元测试阶段) -性能分析 -内存分析 -执行追踪分析(TRACE)
2013-7-14
20
测试工具-比较

测试工具推荐.doc 嵌入式软件测试工具比较.doc
2013-7-14
2
要点

嵌入式软件的特点 嵌入式软件测试设计 嵌入式软件测试工具 嵌入式软件测试环境 嵌入式软件测试案例
2013-7-14
3
嵌入式软件的特点
是基于Host/Target方法进行开发的,软 件实际运行在特定的硬件环境下。 专用用户接口 实时信号/强实时性 软件与硬件并行开发 对代码规模有限制 难以测试 可靠性要求高 …


2013-7-14
26
测试环境-概述
嵌入式系统在完成测试的过程中, 可能使用多种测试技术,完成不同方面 的测试。对于大型复杂嵌入式系统,可 根据需要建立多种测试环境,有时这样 的系统本身就是一个复杂的综合系统 .
2013-7-14
27
测试环境-基本要求

测试输入是可以控制的 测试输出应尽量能够通过自动化的 方法记录和显示;对于不能自动记录测 试结果的测试,只要测试输入是可以控 制的,根据测试用例组织测试,实时记 录测试结果。各种形式的记录数据都是 事后整理和分析的依据。
2013-7-14 4
嵌入式软件的特点

与用户的接口依赖于系统硬件 使用实时或专用操作系统
2013-7-14
5
嵌入式软件测试设计
每个级别的测试有不同的内容,发现不同方 面的软件缺陷。



单元测试 集成测试 确认测试 系统集成测试 系统测试/验收测试
2013-7-14
语句、结构 单元、部件 配置项、子系统 系统、大系统
软 件 编 码 单 元 测 试
软 件 集 成 测 试
软 件 配 置 管 理
中 间 状 态
问 题 报告
配 置 项 集 成 测 试
软 件 确 认 测 试
系 统 集 成 测 试
系 统 验 收 测 试
\
配置项测试 计划/说明
配置项测 试报告
确认测试 计划/说明
确认测 试报告
系统测试 计划/说明
验收测 试报告
2013-7-14
23
测试环境-系统联试测试环境


优点:最真实的测试环境,易于发现由软件造 成的软件接口与系统接口的不一致性问题,可 检验软件、硬件复合的性能,及在特定的物理 环境下系统硬件是否能保证软件的正常运行。 缺点:对于大型综合系统,实际测试涉及多个 单位,难于保证测试时间;设备本身的限制, 无法提供支持测试用例的手段。
2013-7-14
36
测试案例-测试实施

软件测试记录:



测试运行结果的计算机表示 测试比较结果的计算机表示 测试日志 软件问题报告
2013-7-14
37
测试案例-测试评价

软件测试报告

测试结果的统计信息 测试结果的分析/评判
2013-7-14
38
测试案例-配臵管理

2013-7-14
21
嵌入式软件测试环境
解决嵌入式软件测试过程中执行结果不易 观察的问题.

逻辑仿真测试环境 系统联试测试环境 硬件模拟测试环境 全数字仿真测试环境
22
2013-7-14
测试环境-逻辑仿真测试环境


优点:可分解、记录任意中间数据状态,执行、 中断和暂停任意指令,记录各语句、分支和循 环的覆盖情况和执行次数等项功能均易于解决, 是一种常用有效的测试和调试技术手段。 缺点:难于产生严格意义上的时序关系,当软 件包含与外部接口相关的时序操作时,难以有 效进行测试,测试时难于发现由被测软件造成 的与硬件相关的故障,工具本身的正确性直接 影响测试结果。
2013-7-14 41
谢谢!
2013-7-14 42
2013-7-14
xxxx软件测试流程
31
测试案例-测试阶段
阶 段 单元测试 标识 CSU 单元 被测对象 目 的 获得可组装的单元 完成后产品状态 可执行的单元 部件环境中可执行的部 件 配置项级环境中可执行 的配置项 仿真环境中满足软件需 求的配置项 实际运行环境中满足用 户需求的子系统
部件集成测试
相关文档
最新文档