全文预览已结束
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
收稿日期 2007 03 01 作者简介 徐应诗 1978 男 海南澄迈人 博士生 主要研究方向为嵌 入式软件仿真测试环境 故障注入技术研究 基于故障注入的仿真测试方法过程框架 徐应诗 刘 斌 阮 镰 北京航空航天大学 工程系统工程系 北京 100083 摘要 在嵌入式系统组成特性和嵌入式软件测试抽象分析基础上 提出了一种基于故障注入的嵌入式软件仿真测试方法 结合故障注入试验过程特点 将故障分析 故障建模和故障注入技术有效地应用于嵌入式软件仿真测试过程中 并对该方 法的测试过程框架进行了探讨 关键词 嵌入式软件 故障注入 仿真测试 故障建模 中图分类号 TP311 5 文献标识码 A 文章编号 1000 8829 2007 10 0050 03 A Process Framework of Si mulation TestingM ethod Based on Fault Injection XU Y ing sh i LI U B in RUAN Lian Depart ment of System Engineering of Engineering Technology Beihang University Beijing 100083 China Abstract Based on abstractanalysis of the composing of e mbedded system and testing ofembedded soft ware a method of embedded soft ware si mulation testing based on fault injection is presented Considering the characteristicsof fault injection experi ment the fault analysis faultmodeling and fault injection technologies are applied to the process of embedded software si mulation testing and the process fra mework of testing is discussed K ey words embedded software fault injection si mulation testing faultmodeling 高可靠性对于安全 关键的嵌入式系统来说是一个重要的 问题 目前 嵌入式系统广泛采用容错技术来提高系统的可靠 性 现代容错技术中包括对硬件故障的容错 越来越多可由软 件容错来实现 嵌入式系统中软件的可信性评估变得更加重 要 1 文献 2 指出 影响到系统失效的因素中硬件因素从 50 降到 10 然而软件因素从 33 增长到了 62 有关软件 缺陷的研究中 文献 3 对 1200个软件缺陷进行因果关系分 析 得出软件中组件内部故障 组件功能故障和组件外部接口故 障分别占 10 30 和 60 由于软件组件化技术的应用 软 件开发周期的后续阶段中组件接口故障相对于其他类型故障占 据主要地位 具有容错机制的安全 关键性嵌入式软件 要求软件能够在 多种给定失效情景下仍能够正常或降级运行 嵌入式系统外部 通信协议的设计必须要正确满足系统的时限和安全属性要求 传统的黑盒测试 也称基于规格测试 主要关注于系统的输入 输出行为和功能特性 其测试数据约束于软件规格中的功能属 性 4 对于具有容错机制的关键 安全嵌入式软件的验证 不 仅需要通过仿真建模方法模拟目标系统运行所需的交联环境 而且还需要在故障注入技术支持下实现在多种失效情景下对目 标系统进行测试 因此 如何通过故障注入技术和仿真测试方 法的结合 为基于故障注入的嵌入式软件测试提供有效的解决 方案是目前仍需解决的问题 基于故障注入的仿真测试方法是在嵌入式软件仿真测试研 究基础上 结合故障注入过程的特点 将故障分析 故障建模和 故障注入技术有效应用于嵌入式软件仿真测试过程当中 有效 扩大被测系统的测试空间 进一步提高嵌入式软件测试的充分 性 1 嵌入式软件测试抽象 1 1 嵌入式系统概念组成抽象 嵌入式系统作为软硬件完整结合的一体 对实时性有着不 同程度要求 如硬实时 软实时系统 从系统组成角度分析 嵌 入式系统具有分布式特征 系统的运行需要在满足一定的交联 环境条件的情况下才能进行 从测试角度 可将整个网络系统分为目标系统 UUT和交联 环境系统 E两部分 目标系统 UUT 是作为整个系统中的一个 分系统 而交联环境系统 E是由与目标系统交联的其他分系统 组成 图 1描述了嵌入式系统组成结构 对系统组成单元模块 进行了抽象定义 嵌入式软件 S 即为嵌入式设备开发与设计的应用程序 软件 用 S代表 系统服务 C 即支持嵌入式软件运行 具有多层组成结构 的系统服务平台 包括操作系统 内存接口 硬件 I O 接口和驱 动等等 用 C代表 交联环境 E 代表与运行目标软件的系统交互的交联设 备系统 1 2 嵌入式软件测试抽象 软件测试的目的之一是尽可能发现软件中的缺陷 从另外 一个角度理解 软件测试应有助于人们加深入认识软件实际行 为与预期行为的差异 为了充分地对软件进行测试 要求对软 50 测控技术 2007年第 26卷第 10期 件的输入 输出空间做出完整的抽象分析 嵌入式软件测试抽 象如图 2所示 其基本构成包括嵌入式软件 S 测试规格 R 和软 件的输入 输出空间 软件预期行为可依据测试规格 R 得到 而软件真实行为则需要根据软件实际运行情况才可获知 图 1 嵌入式系统概念组成抽象 图 2 嵌入式软件测试抽象 软件测试输入 输出转化关系中 由软件真实输出失效集 OF映射到相应的输入空间的子集合 定义为导致真实失效的故 障输入集合 IF 由于正常输入集合 IN中软件实现错误等因素也 可能导致系统功能执行失败 因此由输出失效集 OF映射的故 障输入集合 IF跨越集合正常输入空间 IN和异常输入空间 IA 即集合 IN和 IA均存在可能导致输出失效集 OF的输入 IF 容错机制评估与改进 基于故障注入的仿真测试方法可 用于对作为目标系统组成部分的容错机制的有效性进行评估 测试反馈结果可为容错机制的进一步改进提供依据 故障预测 有助于对目标系统故障行为进行预测 包括 容错机制故障覆盖率的评估等 2 2 方法原理 基于故障注入的嵌入式软件仿真测试方法是通过仿真建模 方式对目标系统运行的交联环境实现交联环境仿真 为 UUT 运 行时提供负载激励 同时采用设备间故障注入技术 实现对外部 总线消息通信 信号传输进行故障注入 模拟潜在故障来改变目 标系统的行为 实现 UUT在预期失效情景下的测试 图 3为基于故障注入的嵌入式软件仿真测试原理图 嵌入 式软件仿真测试中由于测试代价 效率等因素的限制 通常对目 标系统的交联环境系统采用仿真的方式模拟 即真实交联环境 E将由通过仿真建模实现的交联环境仿真 E 在负载激励 S作用 下 如目标系统的控制流经过被注入故障的通信接口 故障被 激活 将可能导致失效 3 基于故障的仿真测试方法过程框架 3 1 测试过程总体框架 基于故障注入的仿真测试过程框架如图 4所述 T代表测 试团队 D代表开发团队 T 根据软件规格文档以及开发团队 D 的技术支持下 完成系统的故障规格分析 并提出相关失效情景 列表 开发团队对提交的失效情景进行审查与分析 确定实现 该失效情景的相关接口 向 T 返回 FIP 故障注入点 列表 测 试团队 T最终依据以上信息完成故障注入方案确定和仿真模型 的建立 整个测试活动可以分为 4个阶段 如图 4所示 通常 软件第三方测试由完全脱离开发单位的独立机构来 进行软件测试 开发团队可能并不希望源代码公开 而测试人员 也可能希望在不受限于源代码设计情况下开展测试 基于故障 注入的仿真测试过程框架的研究使得测试团队 开发团队双方 联合测试变得可能 整个测试可在开发团队技术支持下 测试人 员可实现以最小限度了解源代码情况下完成测试 3 2 故障规格分析 故障规格分析与定义是在软件设计规格分析的基础上 对 51 基于故障注入的仿真测试方法过程框架 被测系统可能出现的故障模式集合进行定义 对故障模式的基 本属性 故障模式之间的内部关系以及故障模式与系统功能 结 构 测试的外部关系进行分析 作为测试中的故障抽样 故障仿 真 故障注入和故障评估的依据 图 4 基于故障注入的仿真测试过程框架 图 5为故障分析框架 三层 模型 可用于指导故障规格分 析工作的开展 整个故障分析层次框架分为 3个层次 模式层 是整个系统故障分析中的基础 表示故障模式的基本属性 故障 表现等基本信息 中间层由不同故障模式之间的关系集合构成 具体表示故障模式之间的等效 映射内部关系 因此称之为关系 层 系统中故障模式不仅本身具有基本属性 故障模式之间存在 内部等效关系 而且对系统的功能 硬件结构 测试等系统特性 也存在密切相关性 因此故障分析框架中的最顶层称之为特征 层 图 5 故障分析框架 三层 模型 3 2 1 模式层 模式层以故障模式为基本分析对象 定义了故障域范围 各 种类型故障模式的基本属性以及该故障模式的相关故障注入 仿真技术 故障模式是一系列表示所有可能发生的失效行为的 故障或故障类的抽象集合 故障模式定义是故障分析的基础部 分 同时也是为特定目标系统建立故障模式库的首要步骤 故障域定义界定了针对特定目标系统需要分析的故障对象 空间与范围 同时描述了这个范围内故障域划分依据和组成关 系 故障域的确定是故障分析过程中产生具体故障模式知识的 首要一步 故障模式基本属性定义为故障分析框架中故障描述 与分析提供了原则 故障模式基本属性是用以描述不同故障域 的不同类型故障的基本共同属性 例如故障类型 位置等基本信 息 从某种意义上讲 故障属性定义的抽象程度决定了故障分 析框架能在何种抽象级别对故障进行分析 3 2 2 关系层 考虑到由于故障注入技术和手段的限制 存在着不便注入 的故障模式 如果能通过获得与其等效的故障模式 则能为不可 注入故障模式的替代故障选择提供很大的帮助 另外 利用基 本故障模式作为组合单元 通过故障组合思想可实现复杂故障 的模拟 因此故障分析框架中的关系层主要定义了各种故障模 式之间的传播关系 等效 组合和映射关系 构成了故障模式关 系集合 故障分析框架的关系层是依据模式层中的基本故障模 式而构建 是在故障模式基本属性之上进一步细化的故障模式 间内在关系的描述 它以具体的形式表示出了框架对故障注入 故障仿真领域所能提供的等价解决方案 对测试中的故障数据 生成 故障仿真和故障注入起到指导作用 3 2 3 特征层 根据抽样统计理论 故障样本集的代表性不仅体现在样本 量上 还体现在样本的结构上 因此 故障分析框架中的特征层 是在关系层基础上 定义了故障模式与系统功能 硬件结构 测 试特性之间的外部关系 目的在于确定故障集抽样选取准则 建 立充分性度量和准则 用来衡量故障样本集在典型特性构成上 对 UUT故障模式集合的代表性 为建立故障样本集提供依据 关系层侧重于描述故障模式集合的内部等效 映射关系 而特征 层则侧重于描述故障模式集合与系统应用特性的外部关系 作 为测试中的故障抽样的依据 3 3 失效情景建立 为实现对嵌入式软件容错机制进行有效测试 测试团队 T 应对目标系统可能出现的潜在故障情况建立失效情景 失效情 景建立需要描述系统中可能导致系统失效的故障 触发事件和 系统相关状态等因素 建立失效情景时 测试人员需要综合考虑诸多因素 如故障 注入对象 需要针对哪些接口 任务进行注入 类型 时间和故 障类型等 另外 为了更全面地建立失效情景 测试人员需要了 解两方面信息 该系统问题历史和软件设计规格 基于系统问 题历史的失效场景主要检查当前软件版本是否已经对原有导致 问题的故障有效解决 基于软件设计规格的失效情景主要针对 系统体系结构和规格需求 考虑潜在故障是否会导致系统发生 失效 总线失效情景例子举例如下 总线消息通信缓冲区 BUFF变满 在总线消息传输中某关键消息出现破坏情况 如校验位 跳转 总线消息实时性响应发生一定延迟 3 4 故障注入方案确定 开发团队 D需要考虑外部总线消息通信 信号传输情况 为测试团队 T所提交的每个失效情景确定故障注入的相关接口 FIP fault injection point 即将每种故障映射到具体特定硬件通 道 软件组件或可能的代码位置 开发团队 D 具体开展步骤如 下 对于给定的每个失效情景 开发团队 D 采用 SFMEA soft ware failure mode and effect analysis 方法 对每种失效情景 中的故障模式与影响进行分析 根据对目标系统功能 结构特性分析 确定可能导致该失 效情景的 FIP信息 该调用点可用于故障注入 并建立 FIP位 置的功能 结构映射关系 下转第 56页 52 测控技术 2007年第 26卷第 10期 LDRR0 OS IntCtxSwFlag See ifwe need to do a context switch LDRR1 R0 CMPR1 1 BEQOS IntCtxSw Yes Sw itch to H igher Priority Task LDM FDSP R0 R3 R12 LR No Restore registers of interrupted task s stack SUBSPC LR 4 Return from I RQ 4 系统测试 为了使 uC OS 可以正常运行 除了上述必须的移植工作 外 硬件初始化和配置文件也是必须的 为了验证 uC OS 移 植成功 需要看移植代码是否能正常工作 首先不加任何应用 代码来测试移植好的 uC OS 也就是说先测试内核自身的运 行情况是否良好 这样做的原因有两个 首先不希望将事情复 杂化 其次是如果测试时发现问题 可以明白是移植本身的问 题 而不是代码产生了问题 内核运行良好时 再添加应用任 务就会比较容易一些 通过以下 4个步骤测试移植代码的运 行 确保 ADS编译器和连接器的正常工作 验证 OSTaskStkInit 和 OSStart H ighRdy 函数的正确 运行 验证 OSCtxSw 函数 验证 OSIntCtxSw 和 OST ickIsr 函数的正确运行 加载完内核以后 就要对内核初始化 然后创建一个简单 LCD显示的任务 加载后 LCD 正常显示 测试成功 内核正常 运转 5 结束语 RTOS的使用使得应用程序的设计过程大为简化 并且程 序的可读性 可靠性 可扩展性有很大的改善 本研究从实际出 发 给出一种源代码开放的嵌入式实时操作系统 uC OS 在微 处理器 LH79520上的移植方案 移植后的操作系统经过测试 运行稳定 并达到了实时系统的要求 参考文献 1 Jean J L uC OS 源码公开的实时嵌入式操作系统 M 邵 贝贝 译 北京 中国电力出版社 2001 2 王田苗 嵌入式系统设计与实例开发 M 北京 清华大学出版社 2002 3 马忠梅 马广云 徐英慧 田泽 ARM 嵌入式处理器结构与应用基 础 M 北京 北京航空航天大学出版社 2002 4 周立功 ARM 与嵌入式系统基础教程 M 北京 北京航空航天 大学出版社 2004 上接第 52页 明确目标系统处理该故障所采用的检测 恢复动作 根据开发团队 D提交的失效情景审查和故障注入点反馈 测试团队 T 最终完成每种失效情景的故障注入方案 故障注入 方案应提供 4部分信息 目标系统故障注入点 FIP信息 根据 FIP与目标系统功能 结构映射关系 注入故障而导 致的可能失效 目标系统对该 FIP注入故障所采取的相应检测 恢复动 作 可触发该 FIP 描述负载激励输入的测试用例 3 5 仿真模型建模 仿真模型建模是整个测试过程的关键阶段 是完成后续测 试的基础 仿真模型建模包括故障仿真建模和交联环境仿真建 模两部分 故障仿真建模是在故障规格分析与定义的基础上 针对故 障规格中定义的故障特征 故障关系 结合测试的需要进一步抽 取出故障仿真规格 据此产生指导故障注入的故障仿真模型 故障仿真模型实现测试时与交联环境仿真进行同步协作 对故 障的触发 前置 后置条件进行监视与同步控制 驱动故障注入 过程 交联环境仿真建模是在交联环境特性分析基础上 根据被 测软件以及交联环境的需求信息而建立的仿真模型 交联环境 模型主要描述被测软件的环境信息 包括被测软件与交联设备 之间的输入输出时序关系 输入 输出数据的逻辑特性和物理特 性 由于交联环境对于目标系统的行为起到至关重要的作用 所以在仿真建模阶段为被测软件的交联环境进行建模是十分必 要的 4 结束语 仿真建模方法在嵌入式软件开发和测试领域中已经得到了 广泛的应用 本研究在嵌入式软件仿真测试方法研究的基础 上 结合故障注入试验过程特点 将故障分析 故障建模和故障 注入技术有效应用于嵌入式软件仿真测试过程中 提出了一种 基于故障注入的嵌入式软件仿真测试方法 并对其测试过程框 架进行了深入研究 以便实现对整个软件测试过程进行规范化 实施与管理 使得测试 开发团队双方有效地联合完成测试 基 于故障注入的仿真测试是一种扩大软件测试空间 提高软件测 试充分性的有效方法 参考文献 1 Littlewood B Dependability assess ment of software based syste m s state
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023年江门市特岗教师招聘真题汇编附答案解析
- 2025新余市国有资产经营有限责任公司招聘4人(公共基础知识)综合能力测试题附答案解析
- 2025下半年河南鹤壁市农业科学院招聘高层次人才1人备考题库附答案解析(夺冠)
- 2025中国人寿保险股份有限公司福建福州市仓山区支公司招聘考试模拟卷带答案解析
- 2025福建泉州桂华中心幼儿园后勤岗位人员招聘1人备考题库及答案解析(夺冠)
- 2026鄂尔多斯达拉特旗招聘15名基层卫生工作人员(公共基础知识)综合能力测试题附答案解析
- 2026广东“百万英才汇南粤”-广州市从化区教育局第一次招聘事业单位编制教师229人备考题库带答案解析
- 2025广东南粤银行广州分行招聘备考题库及答案详解一套
- 2025浙江杭州市建德市公安局集中招聘警务辅助人员35人备考题库完整参考答案详解
- 2026中国建设银行总部校园招聘备考题库及答案详解(易错题)
- 2025江苏南京市市场监督管理局所属事业单位招聘工作人员6人考试历年真题汇编带答案解析
- 2025贵州黔西南州水资源开发投资(集团)有限公司招聘3人备考题库有答案详解
- 战略大单品课件
- 2025年安康杯知识竞赛题库及答案
- 餐饮业店长服务与销售绩效考评表
- 2025年《反恐主义法》知识考试题库及答案解析
- 《2025新版检验检测机构管理评审报告》
- JG/T 368-2012钢筋桁架楼承板
- 【MOOC】理解马克思-南京大学 中国大学慕课MOOC答案
- 化学电源基础:第1章 化学电源概论
- 第一章-生涯与职业意识的建立
评论
0/150
提交评论