软件工具与环境论文.doc

上传人:壹****1 文档编号:544455072 上传时间:2023-06-25 格式:DOC 页数:4 大小:101.50KB
返回 下载 相关 举报
软件工具与环境论文.doc_第1页
第1页 / 共4页
软件工具与环境论文.doc_第2页
第2页 / 共4页
软件工具与环境论文.doc_第3页
第3页 / 共4页
软件工具与环境论文.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《软件工具与环境论文.doc》由会员分享,可在线阅读,更多相关《软件工具与环境论文.doc(4页珍藏版)》请在金锄头文库上搜索。

1、关于实时嵌入式软件测试研究与应用摘要:实时嵌入式软件是计算机软件测试领域的一个重要分支, 而保证实时嵌入式软件的质量是非常重要的。本文分析了嵌入式软件测试的总体结构和宿主机及目标机的体系结构,例举了脚本语言及其解释器的应用。关键词:实时嵌入式软件;软件测试;研究与应用;脚本 1 概 论计算机技术应用的不断普及,使得实时嵌入式软件在航空、航天、工业控制、交通、医疗和军事安全等诸多领域发挥着愈来愈重要的作用。不难看出,这些领域对软件的可靠性有很严格的要求,因为该领域的软件一旦失败,就会直接或间接影响人类的生命财产和生态环境的安危。所以,嵌入系统开发中软件的代码质量对产品的最终质量起到了决定性的作用

2、,但是事实上由于对软件开发缺乏科学的监管手段,开发的软件往往得不到很好的测试与分析,未经充分的测试就交付给用户使用,从而影响了软件的使用效果。随着嵌入式系统的发展,我们迫切需要一种工具或技术手段能够在软件开发的单板阶段、集成阶段、系统阶段等对嵌入式软件进行实时在线的测试与分析,以保证系统的性能和可靠性。针对这一需求,本文中提出一种对实时嵌入式软件进行测试的一种测试方法。2 实时嵌入式软件的特点2.1 实时性所谓实时性,即必须满足时间约束的特性。实时软件的处理速度并不一定非常快,重要的是需要准时和及时,如表1 所示。对于实时软件而言,其正确性不仅由系统的功能和行为特性决定,还依赖于系统的时间特性

3、。与非实时软件相比,时间特性是实时软件的一个重要方面,它是决定实时软件成功与否的关键因素之一。2.2 嵌入式特性所谓嵌入,即一个系统A 内置于一个更大的系统B中,则称为A嵌入于B。嵌入式软件系统的一个突出特点在于,通常只为软件提供执行环境(运行环境),而不提供软件的开发环境(宿主环境)。也就说,嵌入式软件的开发环境和运行环境是不一致的。正是这个不同,给嵌入式软件的测试带来了不少的麻烦。因为即使在宿主机环境下测试再充分,也不能说明在目标机环境下该软件运行不出问题。因而,嵌入式软件还面临着目标环境的测试。这不仅增加了测试的代价,而且还带来了嵌入式软件的测试策略问题,即哪些测试分配在宿主环境进行,哪

4、些测试分配到目标环境下进行。嵌入式系统中常见的类型恰恰又是实时系统。 表1 实时性特征要求实时软件响应输入的时刻在给定时刻(包括特定时刻或周期性)或在外部事件发生时刻(时间性)响应处理时间在给定的时间内必须完成响应的处理输出时间输出结果的时刻要满足对系统输出时间的要求3 实时嵌入式软件的测试实时嵌入式软件的突出特点在于其运行环境(目标机环境)和开发环境(宿主机环境)的不一致,这一特点也导致典型的实时嵌入式软件测试要从宿主机下载到目标机上进行测试。3.1 实时嵌入式软件测试的系统结构实时嵌入式软件测试的一般步骤是在主机上编写测试代码,然后把该代码编译加载到目标机,接着通过测试代理执行该测试目标代

5、码。测试工具运行在宿主机上,测试所需要的信息在目标机上产生,由于目标机的资源相对匮乏,测试所得的信息在目标机上不便分析,通过主机和目标机之间的通信把测试所得信息上传回主机,再由主机中的测试结果分析工具对测试信息进行分析。嵌入式测试系统基本结构如图1所示。 图1 嵌入式测试系统总体结构3.2 宿主机及目标机的结构如图2 所示,在宿主机方,在测试开始前制定测试计划,根据不同的测试目的选择相应的测试用例,生成测试脚本,通过脚本解释器实时解释非实时生成的测试命令,并将测试命令和数据通过目标服务器发送至被测目标系统;同时将从目标机上的测试代理获得测试结果数据后,可显示测试结果,以提示测试人员,还可以由测

6、试结果分析工具对测试结果进行分析,最后传送回测试结果数据库,并生成测试报告。通常宿主机上进行的测试是单元测试。如果被测单元所使用的是高级语言或与目标机相同的汇编语言,则可以直接在宿主机上进行测试;如果被测单元使用的汇编代码与目标机不同,则需要指令仿真器。在目标机方,测试代理接收测试命令后运行被测实时嵌入式应用软件,被测应用软件将测试后生成信息发送到测试代理中的一个专门任务的消息队列中,此任务负责在适当的时候将这些信息发送到宿主机方。同时目标服务器中也有负责接收测试所得信息的专门任务,它从目标机上的测试代理获得测试结果数据。无论在宿主机上进行的测试如何完善,在目标机上的测试仍然是不可替代的, 因

7、为有一些问题只能在目标机上测试才可以被确认和发现。4 脚本语言及脚本解释器4.1 脚本语言软件测试中,脚本技术的引入是实现软件测试自动化技术的有效手段。软件测试脚本化可以减少测试人员的工作量,提高软件测试的可维护性,实现软件测试过程中用户和被测软件之间的交互。同时由于解释性的脚本语言可移植性好,有利于实现跨平台,可提高脚本代码的可重用性,提高测试的可重复性。测试脚本是具有正规语法的数据和指令的集合。在软件测试过程中,测试脚本通常以文本形式存在,由测试脚本组织用户所施加的一系列软件执行动作,达到驱动被测软件运行的目的,从而完成测试。4.2 脚本解释器根据实时嵌入式软件测试脚本语言的设计,设计针对

8、该语言的解释器。脚本语言解释器是脚本语言的支撑,解释器设计的成功与否直接关系到能否实现脚本化的实时嵌入式软件测试。针对上述脚本语言设计中所提到的用户施加的测试命令及其特性,则需要处理测试中各命令的时间要求以及命令之间的并发同步等问题,解释器应由两部分组成,即控制部分和解释部分。控制部分的作用在于对测试脚本进行预处理,提取各种命令的执行脚本,生成按时间排列的命令表,然后根据实时调度时钟信号和条件判断触发解释部分的调用,借助在控制部分中的多命令处理方式可以保证测试中各种命令的并发和同步的处理,从而保证了实时嵌入式软件测试中对实时特性的要求;解释部分的工作原理是在控制部分按时钟信号触发后,加载需要解

9、释的脚本执行代码,脚本源代码首先由词法分析器进行词法分析,分离出标识符、关键字和变量名等,然后由语法分析器根据语法定义,分析源程序的语法正确性并根据语义执行相应的语义动作,最后生成测试命令并通过目标服务器下载到目标机上,以驱动被测软件的运行。5 小 结随着我国软件业的发展,作为软件质量保证的重要组成的软件测试已越来越受到重视,而软件测试自动化工具由于可以提高软件测试的有效性和效率。因此,软件测试自动化工具的开发已成为软件测试的一个重要研究领域。本文中实时嵌入式软件测试进行了研究,介绍了开发实时嵌入式软件测试自动化中的一种实现思想。参考文献1 于 洁, 杨海燕. 软件的可测试性设计J. 计算机工程与应用, 2006 (3): 124126.2 刘菲菲, 赵怀勋. 软件可测试性分析方法的研究J. 现代电子技术, 2007 (24): 3538.3 章 亮, 刘 斌. 嵌入式软件测试开发环境的框架设计J.北京航空航天大学学报, 2007 31 (3): 336340.4 Bart Broekman 著. 张君施, 张思宇译. Edwin Notenboom,Testing Embedded SoftwareM. 北京: 电子工业出版社,2006.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号