当前位置:文档之家› 嵌入式系统软件测试-OS_test

嵌入式系统软件测试-OS_test


2020/4/9
12
测试设计-与通用软件测试的区 别
没有可移植性、兼容性等的测试要求; 多数嵌入式系统也没有人机接口的测 试要求; 由于嵌入式系统的软件与硬件系统密 切相关,确认测试完成并不表明软件测试 的结束; 软件最终的确认测试是完成系统集成 测试以后的系统验收测试。
2020/4/9
13
测试设计-系统集成测试
10
测试设计-软件集成测试流程
软件单元测试 软件集成测试 软件系统测试
软件模块测试
模块集成 软件与硬件集成 软件配置项确认测试
软件配置项集成 软件系统确认测试
系统测试
真实系统测试 软件系统与硬件集成 系统验收测试
2020/4/9
11
测试设计-确认测试
检验所开发的软件能否满足功能和性能需求。
与通用软件的确认测试不完全一致 软件配置项级确认测试 系统级确认测试-验收测试 广度上有所要求(重视强度测试、安全性测试、可恢复 性测试… )
2020/4/9
6
测试设计-单元测试
旨在发现程序模块的编码和逻辑错误。
要重视静态分析和代码审查 确定软件单元粒度 用例设计的方法取决于被测单元的特点 性能测试(中断处理、实时性)
2020/4/9
7
测试设计-关于代码审查
人工测试技术在检查某些编码错 误时,有着特殊的功效,它常常能 够找出利用计算机不容易发现的错 误。人工测试至今仍是一种行之有 效的测试方法。一个对照实验发现, 人工走查和审查会平均能查出被测 程序的38%错误,IBM代码审查会 的查错效率高达80%。
模块的时间特性是一个统计数值而不是只靠 一次测试得到的结果。
2020/4/9
9
测试设计-集成测试
检验与软件设计相关的程序结构问题;着 重于测试软件模块间的接口和模块所体现的功 能验证。
发现部分设计缺陷
分步骤逐步完成,增量过程
较多使用黑盒测试
辅助测试系统
软件与硬件的部分集成
2020/4/9
优点:接近真实的运行环境,可记录部 分中间结果.
缺点:难于统计覆盖率,响应时间测试 不够准确,记录数据受硬件条件的限制。
2020/4/9
25
测试环境-全数字仿真测试环境
使用软件方法模拟被测试软件的运行环境, 并记录软件运行的输入/输出结果和中间数据。 优点:测试时便于根据测试用例设置各种输入, 可通过记录的数据进行精度分析、覆盖率统计, 便于修改和进行回归测试。 缺点:难以发现与硬件相关的问题,难于准确 测试软件的响应时间。平台正确性影响到测试 结果。
缺点:对于大型综合系统,实际测试涉及多个 单位,难于保证测试时间;设备本身的限制, 无法提供支持测试用例的手段。
2020/4/9
24
测试环境-硬件模拟测试环境
使用与产品的嵌入式系统硬件指令兼容 的CPU,设计研制与之严格时序及逻辑等价的测 试平台,以硬件或软件手段实现测试信息的设
定和记录等功能。
2020/4/9
39
测试案例-第三方测试
单元测试
使用工具进行静态度量 工具和人工结合代码走读
软件配置项确认测试
在第二方测试环境下 变换测试用例 复现测试用例
2020/4/9
40
总结
编程人员要有意识地学习和掌握测试工具,而 不能认为是测试人员的事。
在软件测试中应该根据实际情况实施测试,无 需刻意追求使用测试工具。
仿真环境中满足软件需 求的配置项
系统集成测试
SYS 子系统,系统
动态协调开发环境下的各 实际运行环境中满足用
Hale Waihona Puke 子系统户需求的子系统
系统验收测试 2020/4/9
SYSV
子系统,系统,关 键配置项
确认系统的功能和性能
实际运行环境中满足用 户需求的系统
32
测试案例-测试计划
软件配置项划分 测试定义 测试/管理工具的确定 测试环境定义 人员组织形式 时间/进度安排
2020/4/9
29
嵌入式软件测试案例
测试流程/测试策略 测试计划 测试设计 测试评审 测试实现 测试实施 测试评价 测试配置管理 第三方测试
2020/4/9
30
测试案例-测试流程
软件需 软件设 求文档 计文档








\
代码
更改 报告




编 码 单 元
集 成 测



2020/4/9
4
嵌入式软件的特点
与用户的接口依赖于系统硬件 使用实时或专用操作系统
2020/4/9
5
嵌入式软件测试设计
每个级别的测试有不同的内容,发现不同方面 的软件缺陷。
单元测试 集成测试 确认测试
语句、结构 单元、部件 配置项、子系统 系统、大系统
系统集成测试
系统测试/验收测试
2020/4/9
33
测试案例-测试设计
单元测试 集成测试 确认测试 系统测试
测试说明文档 测试基准 部分或整体 关键模块的选择 分步骤集成 结构测试和功能测试
2020/4/9
34
测试案例-测试实现
测试工具 测试脚本(测试步骤的计算机表示) 测试环境
2020/4/9
35
测试案例-测试用例的复用
2020/4/9
19
测试工具-主要功能
动态测试工具测试软件调研报告.doc
-代码覆盖率(Code Coverage) -自动产生测试外壳程序(test harness)
(单元测试阶段) -性能分析 -内存分析 -执行追踪分析(TRACE)
2020/4/9
20
测试工具-比较
测试工具推荐.doc 嵌入式软件测试工具比较.doc
系统集成和验收测试虽然不属于软件工 程过程的研究范围,也不是由软件开发 人员来进行的,但却是嵌入式系统测试 不可回避的。在软件设计和测试阶段采 用的步骤能够大大增加软件成功地在复 杂系统中进行集成的可能性,但却不能 解决系统集成的所有问题。
2020/4/9
17
嵌入式软件测试工具
静态测试工具 动态测试工具
2020/4/9
26
测试环境-概述
嵌入式系统在完成测试的过程中, 可能使用多种测试技术,完成不同方面 的测试。对于大型复杂嵌入式系统,可 根据需要建立多种测试环境,有时这样 的系统本身就是一个复杂的综合系统 .
2020/4/9
27
测试环境-基本要求
测试输入是可以控制的
测试输出应尽量能够通过自动化的方 法记录和显示;对于不能自动记录测试 结果的测试,只要测试输入是可以控制 的,根据测试用例组织测试,实时记录 测试结果。各种形式的记录数据都是事 后整理和分析的依据。
2020/4/9
21
嵌入式软件测试环境
解决嵌入式软件测试过程中执行结果不易 观察的问题.
逻辑仿真测试环境 系统联试测试环境 硬件模拟测试环境 全数字仿真测试环境
2020/4/9
22
测试环境-逻辑仿真测试环境
优点:可分解、记录任意中间数据状态,执行、 中断和暂停任意指令,记录各语句、分支和循 环的覆盖情况和执行次数等项功能均易于解决, 是一种常用有效的测试和调试技术手段。
软件测试工程师培训
嵌入式系统软件测试
2020/4/9
1
综述
不存在一个适合于所有软件的通用的测试 方法和测试程序,必须以具体项目的特点和要 求为基础,综合考虑测试活动要素及工程限制, 制定和选择适当的目标、计划和规程,以保证 测试质量和软件质量。
本次讲课内容:结合实际测试实例,介绍 与实时嵌入式系统软件测试相关的技术要点。
36
测试案例-测试实施
软件测试记录:
测试运行结果的计算机表示 测试比较结果的计算机表示 测试日志 软件问题报告
2020/4/9
37
测试案例-测试评价
软件测试报告
测试结果的统计信息 测试结果的分析/评判
2020/4/9
38
测试案例-配置管理
ClearCase工具 不同级别的测试评审 测试用例库 测试问题报告
低层被测对象的测试用例或其部分内容可以 复用在对高层被测对象的测试中。如:
部件确认测试阶段可以复用单元测试阶段的测 试输入;
部件确认测试阶段的测试用例组可以复用在配 置项集成测试阶段和配置项确认测试阶段中;
配置项确认测试阶段的测试用例组可以复用在 系统集成测试阶段和系统验收测试中。
2020/4/9
实现软件工程和软件测试,更多地是软件流程 管理,不只是强调软件开发(编程)质量。
有了环境和工具并不意味完成了测试。 软件工程应加强软件流程的有序性和有效性管
理,而不应该片面追求大而全的瀑布模型。
2020/4/9
41
谢谢!
2020/4/9
42
2020/4/9
18
测试工具-主要功能
静态测试工具测试软件调研报告.doc
-编程标准验证(Program Standards Verification)
-数据流分析技术(Data Flow Analysis) -质量度量(Quality Metrics)信息 -代码可视化显示(Code Visualisation)
阶段
标识
被测对象
目的
完成后产品状态
单元测试 部件集成测试
CSU 单元 CSC 单元、部件、
获得可组装的单元 集成单元成部件
可执行的单元
部件环境中可执行的部 件
配置项集成测试 CSCI 部件、配置项
组装部件成配置项
配置项级环境中可执行 的配置项
配置项确认测试
相关主题