[信息与通信]嵌入式软件系统测试技术.ppt

上传人:音乐台 文档编号:2000828 上传时间:2019-01-30 格式:PPT 页数:95 大小:1.08MB
返回 下载 相关 举报
[信息与通信]嵌入式软件系统测试技术.ppt_第1页
第1页 / 共95页
[信息与通信]嵌入式软件系统测试技术.ppt_第2页
第2页 / 共95页
[信息与通信]嵌入式软件系统测试技术.ppt_第3页
第3页 / 共95页
亲,该文档总共95页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《[信息与通信]嵌入式软件系统测试技术.ppt》由会员分享,可在线阅读,更多相关《[信息与通信]嵌入式软件系统测试技术.ppt(95页珍藏版)》请在三一文库上搜索。

1、,嵌入式软件系统测试技术,北京航空航天大学 可靠性与系统工程学院,提 纲,I. 意义,II. 级别,III. 定义,IV. 内容,V. 过程,VI. 方法,VII. 工具,某歼击机惯导系统经地面联试及试飞三年,仍发现时序、逻辑和软/硬件接口16个错误。,I.系统测试的意义,某无人机飞控系统在系统测试中发现软件问题50个,其中关键错误25个: 当发动机空中停车后,系统不能进行发动机启动; 进入失速状态后,飞机失去控制; 链路中断又恢复,飞机不接受控制,不能着陆,越飞越远。,I.系统测试的意义,某飞行控制系统关键问题: 飞机即将撞山或者撞地时,若倾斜角大于度,飞行员不接通侧保,那么系统不会执行“防

2、撞自动拉起”和“低限自动拉起”功能,这将导致飞机撞山或者撞地。,I.系统测试的意义,某型飞机8个关键软件的系统测试发现软件错误218个。 某型飞机已完成设计定型,发现关键和重要问题49处。,I.系统测试的意义,单元测试 部件测试 配置项测试 系统测试 FROM:GJB/Z141-2004军用软件测试指南,II.系统测试的级别,软件开发过程及各阶段的测试,II.系统测试的级别,测试整个硬件和软件系统的过程。以验证系统是否满足规定的需求。 -软件工程术语 GB/T 11457-1995 为评价系统是否符合规定需求而对完整的、集成的系统进行的测试。 -IEEE软件工程术语表1990,III.系统测试

3、的定义,为验证和确认系统是否达到其原始目标而对集成的硬件和软件系统进行测试的活动。 -军用软件验证和确认 GJB5234-2004 为了验证和确认系统是否符合初始目标而对集成的软、硬件系统进行的测试活动。 -IEEE软件验证与确认标准 1998,III.系统测试的定义,概括地说: 系统测试是为判断系统是否符合规定 而对集成的软、硬件系统进行的测试活动。,需求,III.系统测试的定义,用户对系统质量的要求!,什么是需求?,III.系统测试的定义,系统质量通过系统的外在行为表现。 不同的质量强调系统外在行为的不同方面,什么是系统质量?,III.系统测试的定义,国军标军用软件质量度量中的质量模型,I

4、II.系统测试的定义,计 算 器 的 各 种 质 量,III.系统测试的定义,系统测试是判断系统的输入、输出行为是否符合规定要求的活动。,系统测试的内涵,III.系统测试的定义,系统测试的原理,III.系统测试的定义,军用软件测试指南依据军用软件质量度量质量模型确定测试内容。,IV.系统测试的内容,GJB5236 -2004与 传统测 试内容 之间的 对应关系,IV.系统测试的内容,测试用例设计的过程是系统测试过程中一个非常重要的环节,它要求从测试的角度对测试计划中的测试需求进行功能和各种特性的细化,确定出与被测功能相关的输入/输出变量。 继而判断这些变量如何从测试环境中通过硬件接口输入被测软

5、件,以及如何从被测软件的输出中得到。在测试说明中需要最终确定出本次测试要测试的系统功能、每一个功能涉及的输入/输出变量以及这些变量取值的等价类划分等。,系统测试用例设计方法,IV.系统测试的内容,从软件文档中提取测试需求; 软件需求-测试需求 分析系统的输入和输出; 根据测试需求生成测试用例。,系统测试用例设计,IV.系统测试的内容,提取测试需求-从软件的需求规格说明和其他相关文档提取测试需求的过程是一个寻找原子系统功能的过程(一种在系统层次上可以观察得到的端口输入和输出事件的行动)。测试需求最终体现为测试定义及其测试类型。 分析输入和输出-对每一个测试定义分析其需要的输入和产生的输出,确定出

6、输入空间和输出空间。 生成测试用例-采用等价类划分,边界值分析,因果图,判定表,猜错法等生成测试用例。 下面按测试类型分析系统测试用例设计的方法。,系统测试用例设计,IV.系统测试的内容,1)功能测试,功能测试是对软件需求规格说明中的功能需求逐项进行的测试,以验证其功能是否满足要求。 一般要求: 用正常值的等价类输入数据值测试; 用非正常值的等价类输入数据值测试; 进行每个功能的合法边界值和非法边界值输入的测试; 用一系列真实的数据类型和数据值运行,测试超负荷、饱和及其他“最坏情况”的结果; 在配置项测试时对配置项控制流程的正确性、合理性等进行验证。 测试用例实例,IV.系统测试的内容,2)性

7、能测试,性能测试是对软件需求规格说明中的性能需求逐项进行的测试,以验证其性能是否满足要求。 一般要求 测试在获得定量结果时程序计算的精确性(处理精度); 测试其时间特性和实际完成功能的时间(响应时间); 测试为完成功能所处理的数据量; 测试程序运行所占用的空间; 测试其负荷潜力; 测试配置项各部分的协调性; 在系统测试时测试软件性能和硬件性能的集成; 在系统测试时测试系统对并发事物和并发用户访问处理能力。 测试用例实例,IV.系统测试的内容,3)接口测试,接口测试是对软件需求规格说明中的接口需求逐项进行的测试。 一般要求 测试所有外部接口,检查接口信息的格式及内容; 对每一个外部输入/输出接口

8、必须做正常和异常情况的测试; 测试硬件提供的接口是否便于使用; 测试系统特性(如数据特性、错误特性、速度特性)对软件功能、性能特性的影响; 对所有的内部接口的功能、性能进行测试。 测试用例实例,IV.系统测试的内容,4)人机交互界面测试,人机交互界面测试是对所有人机交互界面提供的操作和显示界面进行的测试,以检验是否满足用户的要求。 一般要求 测试操作和显示界面及界面风格与软件需求规格说明中要求的一致性和符合性; 以非常规操作、误操作、快速操作来检验人机界面的健壮性; 测试对错误命令或非法数据输入的检测能力与提示情况; 测试对错误操作流程的检测与提示; 对照用户手册或操作手册逐条进行操作和观察。

9、 测试用例实例,IV.系统测试的内容,5)强度测试,强度测试是强制软件运行在不正常到发生故障的情况下(设计的极限状态到超出极限),检验软件可以运行到何种程度的测试。 一般要求 提供最大处理的信息量; 提供数据能力的饱和实验指标; 提供最大存储范围(如常驻内存、缓冲、表格区、临时信息区); 在能力降级时进行测试; 进行其他健壮性测试(测试在人为错误下的反应,如寄存器数据跳变、错误的接口状态); 通过启动软件过载安全装置(如,临界点警报、过载溢出功能、停止输入、取消低速设备等)生成必要条件,进行计算过载的饱和测试。 测试用例实例,IV.系统测试的内容,6)余量测试,余量测试是对软件是否达到需求规格

10、说明中要求的余量的测试。若无明确要求时,一般至少留有20%的余量。 一般要求 全部存储量的余量; 输入、输出及通道的余量; 功能处理时间的余量。 测试用例实例,IV.系统测试的内容,7)可靠性测试,可靠性测试是在真实的或仿真的环境中,为做出软件可靠性估计而对软件进行的功能测试(其输入覆盖和环境覆盖一般大于普通的功能测试),可靠性测试中必须按照运行剖面和使用的概率分布随机地选择测试用例。,IV.系统测试的内容,8)安全性测试,安全性测试是检验软件中已存在的安全性、安全保密性措施是否有效的测试。测试应尽可能在符合实际使用的条件下进行。 一般要求 对安全性关键的软件部件,必须单独测试安全性需求; 在

11、测试中全面检验防止危险状态措施的有效性和每个危险状态下的反映; 对设计中用于提高安全性的结构、算法、容错、冗余及中断处理等方案,必须进行针对性测试; 对软件处于标准配置下其处理和保护能力的测试; 应进行对异常条件下系统/软件的处理和保护能力的测试(以表明不会因为可能的单个或多个输入错误而导致不安全状态) 对输入故障模式的测试;,IV.系统测试的内容,8)安全性测试(续),必须包含边界、界外及边界结合部的测试; 对“0”、穿越“0”以及从两个方向趋近于“0”的输入值的测试; 必须包括在最坏情况配置下的最小输入和最大输入数据率的测试; 对安全性关键的操作错误的测试; 对具有防止非法进入软件并保护软

12、件的数据完整性能力的测试; 对双工切换、多机替换的正确性和连续性的测试; 对重要数据的抗非法访问能力的测试。 测试用例实例,IV.系统测试的内容,9)恢复性测试,恢复性测试是对有恢复或重置(reset)功能的软件的每一类导致恢复或重置的情况,逐一进行的测试,以验证其恢复或重置功能。恢复性测试是要证实在克服硬件故障后,系统能否正常地继续进行工作,且不对系统造成任何损害。 一般要求 探测错误功能的测试; 能否切换或自动启动备用硬件的测试; 在故障发生时能否保护正在运行的作业和系统状态的测试; 在系统恢复后,能否从最后记录下来的无错误状态开始继续执行作业的测试。 测试用例实例,IV.系统测试的内容,

13、10)边界测试,边界测试是对软件处在边界或端点情况下运行状态的测试。 一般要求 软件的输入域或输出域的边界或端点的测试; 状态转换的边界或端点的测试; 功能界限的边界或端点的测试; 性能界限的边界或端点的测试; 容量界限的边界或端点的测试。 测试用例实例,IV.系统测试的内容,11)数据处理测试,数据处理测试是对完成专门数据处理功能所进行的测试。 一般要求 数据采集功能的测试; 数据融合功能的测试; 数据转换功能的测试; 剔除坏数据功能的测试; 数据解释功能的测试。 测试用例实例,IV.系统测试的内容,12)安装性测试,安装性测试是对安装过程的是否符合安装规程的测试,以发现安装过程中的错误。

14、一般要求 不同配置下的安装和卸载测试; 安装规程的正确性的测试。 测试用例实例,IV.系统测试的内容,13)容量测试,容量测试是检验软件的能力最高能达到什么程度的测试。 一般要求 测试到在正常情况下软件的最高能力,如:响应时间以及并发处理个数等。 测试用例实例,IV.系统测试的内容,14)互操作性测试,互操作性测试是为验证不同软件之间的互操作能力而进行的测试。 一般要求: 必须同时运行两个或多个不同的软件; 软件之间发生互操作。 测试用例实例,IV.系统测试的内容,15)敏感性测试,敏感性测试是为发现在有效输入类中可能引起某种不稳定性或不正常处理的某些数据的组合而进行的测试。 一般要求: 发现

15、有效输入类中可能引起某种不稳定性的数据组合的测试; 发现有效输入类中可能引起某种不正常处理的数据组合的测试。,IV.系统测试的内容,16)标准符合性测试,验证软件与相关国家标准或规范(如军用标准、国家标准、行业标准以及国际标准)一致性的测试。 一般要求: 建立标准符合性评价准则; 逐一验证符合指定标准的能力。,IV.系统测试的内容,17)兼容性测试,验证软件在规定条件下与若干个实体共同使用或实现数据格式转换时能满足有关要求能力的测试。 一般要求: 验证软件在规定条件下与若干个实体共同使用时满足有关要求能力; 验证软件在规定条件下与若干个实体实现数据格式转换时能满足有关要求能力的测试。,IV.系

16、统测试的内容,18)中文本地化测试,验证软件在不降低软件原有能力的条件下,处理中文能力的测试。 一般要求: 测试软件使用中文的能力; 测试软件处理中文的能力; 测试软件兼容中文的能力; 在中文的环境下,软件原有的功能和能力的测试。,IV.系统测试的内容,整个测试过程分为两个阶段,测试准备和测试执行。 测试准备过程包括:制定系统测试计划,建立系统测试环境,生成系统测试用例。 测试执行过程包括测试运行,分析测试结果数据并生成软件问题清单、进行回归测试并生成测试报告。,V.系统测试的过程,制定系统测试计划,生成系统测试用例,建立系统测试环境,测试运行,收集数据,测试结果分析,测试文档编制,回归测试,

17、软件修改之后,测试准备,测试执行,测试方案评审,系统测试需求分析,回归测试的目标有两个: 检查测试出的软件问题是否得到了正确的修改; 保证被测软件在被修改之后,各项功能依然正确(未引入新的缺陷)。 一般来说,应该对修改的部分进行针对性的测试保证其符合需求,随后还要运行一系列的测试确认现有功能仍然符合需求。,V.系统测试的过程,在工程实践中使用的回归测试有多种策略: 通过进行用例的相关性分析,找到与软件修改部分相关的测试用例进行测试; 在不进行任何分析的前提下对测试用例的全集进行测试; 必要时可能会生成新的测试用例专门用来进行回归测试。,V.系统测试的过程,等价类划分 边界值分析 因果图 判定表

18、 猜错法,VI.系统测试的方法,等价类划分,等价类划分方法 把程序的输入划分成若干部分,然后从每个部分中选取少数代表性数据当作测试用例。 等价类 是指某个输入域的子集合,其中各个输入数据对于揭露程序中的错误都是等效的。 并假定:测试某等价类的代表值就等价于对这一类其它值的测试。如果某个等价类中的一个输入条件作为测试数据进行测试查出了错误,那么使用这一等价类中的其它输入条件进行测试也会查出同样的错误,反之亦然。,有效等价类 是指对于程序的规格说明来说,是合理的,有意义的输入数据集合。 无效等价类 是指对于程序的规格说明来说,是不合理的,无意义的输入数据集合。,划分等价类的原则,1.如果输入条件规

19、定了取值范围,或值的个数,则可以确立一个有效等价类和两个无效等价类。如:输入从1到99,则有效等价类为199; 2.如果输入条件规定了输入的集合,或者是规定了“必须如何”的条件,这时可确立一个有效等价类和一个无效等价类。如:输入为a,b,c,则有效等价类为a,b,c;无效等类为非a,b,c; 3.如果输入条件是一个布尔量,则可以确定一个有效等价类和一个无效等价类;,例:输入三个数作为三角形的一边,判断此三角形为合法三角形,边界值分析,如果输入条件规定了取值范围,则可选择正好等于边界值,刚刚在边界范围内或刚刚超越边界外的值作为测试数据。例: 取值范围为-100N100 可取的边界值为-100,1

20、00,-105, 105,-95,95,因果图方法,因果图是一种形式语言,用自然语言描述的规格说明可以转换为因果图。 因果图实质上是一种数字逻辑电路(一个组合的逻辑网络),但没有使用标准的电子学符号,而是使用了简化的符号。 因果图很好的弥补了边界值分析和等价类分析中未对输入条件的组合进行分析的弱点。,判定表方法,因果图与判定表均要使用判定表。 例:若问题要求:“维修记录不全或已运行10年以上的机器如果功率大于50马力,应给予优先的维修处理。”,猜错法,错误猜测主要是一项依赖于直觉的非正规的过程,因此很难描述该方法的过程,其基本思想是列举出可能犯的错误或错误易发情况的清单,然后依据清单来编写测试

21、用例。,STTES的现状与问题 STTES的原理 典型STTES介绍 STTES的发展趋势,VII.嵌入式软件系统测试工具(STTES),嵌入式软件的运行环境同硬件有着密切的关系,使嵌入式软件的系统测试变得非常困难。测试方法、手段匮乏,存在低水平测试重复的现象,主要原因是缺乏比较好的测试环境的支撑。,STTES的现状与问题,VII.嵌入式软件系统测试工具(STTES),STTES的现状与问题,功能简单、测试能力不足,许多边界、异常情况无法或很难测试,而这些又是容易引起软件失效的地方。,功能性,数据收集,使用性,性能要求,成本,通用性,VII.嵌入式软件系统测试工具(STTES),STTES的现

22、状与问题,实时能力不足,难以满足嵌入式软件实时性测试的要求。,性能要求,功能性,数据收集,使用性,成本,通用性,VII.嵌入式软件系统测试工具(STTES),使用不便,有的需要对程序做大的改动才能完成某次测试。而且多数是文字界面,不直观形象。,STTES的现状与问题,使用性,性能要求,功能性,数据收集,成本,通用性,VII.嵌入式软件系统测试工具(STTES),STTES的现状与问题,数据收集不完全, 分析处理的手段不丰富。,数据收集,性能要求,功能性,使用性,成本,通用性,VII.嵌入式软件系统测试工具(STTES),实物测试成本很大,有时甚至会损坏设备,极端情况下会引起人的伤亡。,成本,性

23、能要求,功能性,数据收集,通用性,使用性,STTES的现状与问题,VII.嵌入式软件系统测试工具(STTES),功能专一,通用性差。,通用性,性能要求,功能性,数据收集,成本,使用性,STTES的现状与问题,VII.嵌入式软件系统测试工具(STTES),结论,定义,局限性,真实环境,测试环境类型:真实环境,直接将整个系统(包括硬件平台和嵌入式软件)和其交联的物理设备真实的建立连接,形成闭环进行测试。,VII.嵌入式软件系统测试工具(STTES),结论,定义,局限性,真实环境,构建这样一个环境需要高昂的费用,它的测试运行也需要高额费用; 嵌入式软件一旦在实际环境下出错,有可能会影响其它交联系统,

24、甚至对其它系统及整个系统造成无法弥补的损失,也可能会危及人的安全; 许多测试情况无法用真实环境来实现。,测试环境类型:真实环境,VII.嵌入式软件系统测试工具(STTES),定义,局限,真实环境,结论,无法对软件进行充分的测试。,测试环境类型:真实环境,VII.嵌入式软件系统测试工具(STTES),结论,定义,优势,是指能对嵌入式软件进行自动的、实时的、非侵入性的闭环测试系统。它能够逼真的模拟被测软件运行所需的真实物理环境的输入和输出:能够组织被测软件的输入,来驱动被测软件运行,同时接收被测软件的输出结果。,半实物仿真,测试环境类型:真实环境,VII.嵌入式软件系统测试工具(STTES),拓宽

25、测试范围,增强测试过程的可控性,Add Your Text,适应系统不同阶段的测试,在绝大多数场合,采用嵌入式系统的真实运行环境来对嵌入式软件进行测试,无论从安全性方面还是经济性方面考虑都是不可行的; 仿真环境能测试在罕见的特殊条件下嵌入式软件的行为。,仿真测试环境的优势,VII.嵌入式软件系统测试工具(STTES),拓宽测试范围,增强测试过程的可控性,Add Your Text,适应系统不同阶段的测试,一般而言,在仿真环境下,被测软件的运行更加容易,也更灵活,易于评估被测系统的行为特性; 仿真环境下,更容易获取被测系统的响应和中间结果。,仿真测试环境的优势,VII.嵌入式软件系统测试工具(S

26、TTES),拓宽测试范围,增强测试过程的可控性,Add Your Text,适应系统不同阶段的测试,在系统开发阶段的早期,可以利用仿真模型代替真实系统建立目标系统的仿真运行环境,对目标系统进行测试; 当某些交联系统开发完成之后,又可以采用真实系统替代仿真模型进行测试,提高了仿真测试环境对系统不同开发阶段的适应。,仿真测试环境的优势,VII.嵌入式软件系统测试工具(STTES),适配嵌入式系统的硬件接口,满足嵌入式软件的时间精度,与嵌入式系统的闭环交联,实时反馈测试状态,友好方便的测试数据编辑,支持嵌入式软件的数据格式,高精度的数据采集,嵌入式软件测试对STTES的要求,VII.嵌入式软件系统测

27、试工具(STTES),STTES的原理与发展趋势,VII.嵌入式软件系统测试工具(STTES),系统质量通过系统的外在行为表现。 不同的质量强调系统外在行为的不同方面,什么是系统质量?,STTES的原理,VII.嵌入式软件系统测试工具(STTES),系统测试是判断系统的输入、输出行为是否符合规定要求的活动。,系统测试的内涵,STTES的原理,VII.嵌入式软件系统测试工具(STTES),STTES的原理,VII.嵌入式软件系统测试工具(STTES),STTES对输入、输出的内部处理,VII.嵌入式软件系统测试工具(STTES),一般航电系统结构图,VII.嵌入式软件系统测试工具(STTES),

28、每个航电系统都与多个航电系统存在通信关系,采用仿真策略的主要原因: 真实设备寿命有限或者无法获得。,VII.嵌入式软件系统测试工具(STTES),VII.嵌入式软件系统测试工具(STTES),STTES的实时特性区分,VII.嵌入式软件系统测试工具(STTES),STTES的两大组件,静态模型,VII.嵌入式软件系统测试工具(STTES),STTES非实时组件的关键类,非实时组件最大的特点: 可配置性,VII.嵌入式软件系统测试工具(STTES),STTES实时组件的关键类,VII.嵌入式软件系统测试工具(STTES),任务类的子类,VII.嵌入式软件系统测试工具(STTES),单一速率调度策

29、略 (RMS:Rate Monotonic Scheduling) 最早截止期优先调度策略 (EDF:Earliest Deadline First),动态模型,VII.嵌入式软件系统测试工具(STTES),RMS,VII.嵌入式软件系统测试工具(STTES),RMS,VII.嵌入式软件系统测试工具(STTES),EDF,VII.嵌入式软件系统测试工具(STTES),EDF,VII.嵌入式软件系统测试工具(STTES),SBRMS的调度原理,VII.嵌入式软件系统测试工具(STTES),ADS2 RT-LAB RT-Tester GESTE DSI,典型STTES介绍,VII.嵌入式软件系统测

30、试工具(STTES),趋势之一:自动化,什么工作自动化完成?什么工作手工完成? 通过原理分析解决! 实现技术是什么? MDA,代码自动生成及运行,可视化技术,VII.嵌入式软件系统测试工具(STTES) STTES发展趋势,趋势之二:迅速构建,实现技术是什么? 领域工程,组件技术,模式。,VII.嵌入式软件系统测试工具(STTES) STTES发展趋势,趋势之三:更完善的功能与质量,复杂人机交互软件及运行环境的仿真。 实时中间件。 分布式计算(多处理器)。 人工智能技术。,VII.嵌入式软件系统测试工具(STTES) STTES发展趋势,课 后 作 业-3 阐述嵌入式软件系统测试环境(工具)的国内外研究现状、主要技术方法总结(含优缺点分析)及发展趋势,形成不少于6页的技术报告。 要求: 1.报告应不少于6页 2.列出主要的参考文献(英文文献数量应不低 于30) 3.两周后发到,谢 谢,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1