嵌入式硬件 软件测试,嵌入式系统软硬件功能测试方法及性能评估研究
随着嵌入式系统硬件体系结构的变化,嵌入式系统的发展趋势向嵌入式系统高端,即嵌入式软件系统转移,具体体现在嵌入式操作系统趋于多样和应用软件日渐复杂。由于嵌入式系统软硬件功能界限模糊,研究如何进行系统测试和进行可靠性评估来保证嵌入式系统的产品质量具有重要意义。
首先,这里需要明确嵌入式系统的系统测试定义,是将开发的软件系统(包括嵌入式操作系统和嵌入式应用软件)、硬件系统和其它相关因素(如人员的操作、数据的获取等)综合起来,对整个产品进行的全面测试。嵌入式系统的系统测试比PC系统软件测试要困难得多,主要体现如下:
① 测试软件功能依赖不需编码的硬件功能,快速定位软硬件错误困难;
② 强壮性测试、可知性测试很难编码实现;
③ 交叉测试平台的测试用例、测试结果上载困难;
④ 基于消息系统测试的复杂性,包括线程、任务、子系统之间的交互,并发、容错和对时间的要求;
⑤ 性能测试、确定性能瓶颈困难;
⑥ 实施测试自动化技术困难。
1、测试方法
根据Goodenough和Gerhart提出的软件测试充分性准则可知,软件测试具有非复合性的特点,也就是说,即使以软件所有成分都进行了 充分的测试,也并不意味着整个软件的测试已经充分。所以,即使通过了需求测试、设计测试、编码测试,并不意味着已经完全了充分的测试,还要进行软硬件全面 测试,即系统测试。正确的系统测试方法能设计出良好的测试事例,而良好的测试事例是测试成功的关键。测试事例质量特性主要有以下几点。
检验性:检测软件缺陷的有效性,是否能发现缺陷或至少可能发现缺陷。
可仿效性:可以支持测试多项内容,减少测试事例的数量。
开销:测试事例的执行、分析和调试是否经济。
修改性:每次软件修改后对测试事例的维护成本。
测试方法不仅要保证测试事例具有发现缺陷的高可移植性,而且还要保证测试事例设计的经济有效。因此,在实际测试工作中,将嵌入式系统的测试方法 分类如下:根据测试是否动态运行被测程序分为静态测试方法和动态测试方法;根据测试阶段分为需求测试方法、设计测试方法、编码测试(单元测试、集成测试) 方法及系统测试方法;根据测试目的分为功能测试、性能测试、可靠性测试(容错性、可恢复性、成熟度测试*及信息安全保护等测试。参看图1嵌入式软件测试方法对照。其中“√”代表相关性。
所有这些方法的具体定义这里不一一介绍。由于不同的嵌入式系统面向的应用不同,测试方法的侧重也很不相同。本文后面将对一 个具体的便携式信息处理嵌入式系统的系统测试方法详细说明。
嵌入式硬件 软件测试,嵌入式系统软硬件功能测试方法及性能评估研究相关推荐
- 嵌入式硬件Linux,嵌入式linux硬件什么要求
大部分使用者初次接触linux系统电脑时,都不知道电脑里面的硬件到底是什么,和外设硬件又是什么.为此学习啦小编为大家整理推荐了相关的知识,希望大家喜欢. 嵌入式linux硬件要求的详细说明 lscpu ...
- FPGA学习之嵌入式硬件系统(SOPC)概述(软硬件设计)
FPGA学习之嵌入式硬件系统(SOPC)概述(软硬件设计) 首先我们知道FPGA可以实现充当完整微处理器的逻辑,并且提供许多灵活性选项.下图体现出FPGA器件为何是现场可编辑门阵列器件. 为了使基于F ...
- 嵌入式系统硬件构成-嵌入式系统硬件体系结构
嵌入式系统核心板组成 嵌入式系统硬件平台结构主要分为2大部分:一部分为系统主板,为嵌入式最小系统,包括ARM CPU.flash存储器.SDRAM.串口.键盘等最基本部分,如上所示.另一部分为系统扩展 ...
- 嵌入式Linux初始化硬件RTC,嵌入式Linux系统中的快速启动技术研究
嵌入式Linux系统主要特点在于使用Bootloader替代了桌面系统的BIOS,同时对系统进行了规模上的裁剪,但硬件上的劣势往往导致系统启动速度较慢,而嵌入式产品使用者又对系统的开机速度比较敏感,样 ...
- 【回眸】牛客网刷刷刷!嵌入式软件中也会遇到的嵌入式硬件,通讯,通讯协议专题(一)
前言 最近继续刷题,看看嵌入式软件还需要了解一些嵌入式硬件中的通讯协议和常用接口协议 比如说SPI CAN I2C 通讯协议专题 1.波特率 波特率= 每秒传送的字符数 * 字符位数.串口的工作模式为 ...
- 嵌入式硬件基础知识汇总<附带与硬件密切相关的软件介绍>
嵌入式硬件基础 1,存储器 1.1 概念 1.2,存储器结构模型 1.3,存储器性能指标 1.4,嵌入式存储器类型 1.4.1,只读存储器 1.4.2,随机存储器 1.4.3,双端口RAM 1.4.4 ...
- 嵌入式硬件构件与底层驱动构件基本规范
嵌入式硬件构件与底层驱动构件基本规范 构件化设计 嵌入式硬件构件 核心构件 中间构件 描述需求接口 描述供给接口 终端构件 嵌入式底层驱动构件 底层驱动构件的规范 底层驱动构件的封装规范 构件设计的基 ...
- 嵌入式硬件学习之嵌入式软件和硬件的区别
你知道嵌入式软件和硬件的区别吗?实际上嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分.通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板.例如我们身边的手表.微波炉.录像机.汽 ...
- 嵌入式硬件设计-常见处理器介绍
一.嵌入式处理器 嵌入式处理器是嵌入式系统的核心,是控制.辅助系统运行的硬件单元.范围极其广阔,从最初的4位处理器,仍在大规模应用的8位单片机,到最新的受到广泛青睐的32位,64位嵌入式CPU. 世界 ...
最新文章
- SVN提示被锁定的解决方法(转)
- Maven:No goals have been specified for this build. You must specify a valid lifecycle phase
- CListCtrl 使用技巧
- 按15分钟取数据_【数量技术宅|金融数据分析系列分享】套利策略的价差序列计算,恐怕没有你想的那么简单...
- MIT Kimera阅读笔记
- elasticsearch 安装( 阿里云ECS )、远程访问、启动报错处理
- javascript中依赖属性(Dependency Property)的实现
- 95-140-134-源码-transform-KeyedStream的intervalJoin
- java图片上传并解析,详解SpringMVC实现图片上传以及该注意的小细节
- 22号大更新网站大面积降权的原因分析
- linux route配置网关,Linux使用route配置路由
- 关于JavaScript中的事件代理(例子:ul中无数的li上添加点击事件)
- B站上的github视频教程笔记(包含两个B站视频,我觉得看这两个B站视频,github从原理到操作都可以会了)
- Mac 远程 屏幕共享 screen sharing
- win10卸载电脑管家就蓝屏_卸载电脑管家时为什么蓝屏
- p20 021 函数:我的地盘听我的
- 避免计算机更新,macOS更新关闭技巧,避免Mac电脑会一直跳出更新提示
- ********广度优先搜索*********
- 每日一狗 · 比利牛斯山犬
- 更多python内容请移步