嵌入式软件自动化测试方法技术

技术编号:4291055 阅读:449 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种嵌入式软件自动化测试方法,是通过以下步骤实现的:编辑并建立测试用例库;在流程图编辑界面中建立测试流程框架;根据测试任务需求,在测试流程图中插入各种测试用例;利用脚本生成器将编辑的流程图转换为仿真测试平台上的测试序列;驱动仿真测试平台上的I/O与通讯接口,激励被测软件并接收回馈控制信号;本发明专利技术的有益效果是:可以进行开环测试与闭环测试;可以通过不断地加入接口模型来形成功能强大的外围环境仿真库及接口模块库,以减少后续的二次开发,使资源重复利用。

【技术实现步骤摘要】

本专利技术涉及一种软件测试,尤其涉及一种。
技术介绍
软件测试是软件开发工程项目的一个重要的环节。特别是在航空和航天等领域的嵌入式应用系统日趋复杂,嵌入式系统中软件的比重越来越大,而对嵌入式系统软件的可靠性,安全性,准确性和稳定性的要求也日趋严格。同时硬件发展的日益稳定,而软件故障却日益突出,因此对嵌入式系统的软件测试的重要性引起人们的高度重视。 软件测试的方法和技术是多种多样的,可以从不同的角度来分类。从是否需要执行被测软件的角度来看,可分为静态测试和动态测试;从测试是否针对系统的内部结构和具体实现算法的角度来看,可分为白盒测试和黑盒测试。黑盒测试的主要测试依据是软件需求。它着眼于软件的外部结构,不考虑程序的逻辑结构和内部特性,仅依据软件的需求规格说明书,在软件界面上检查程序的功能是否符合要求。 自动化测试是使用自动化测试的工具对软件单元或功能组件及整个系统集成起 来进行整体的测试。这种测试方法主要将注意力集中在利用自动测试工具来帮助提高那些 费劳力的测试的效率,从而提高软件质量。自动化测试流程至少应包含以下两个条件1、详 细的测试用例根据业务功能需求和设计文档编写的测试用例包含可预料的预期结果2、 独立的测试环境包含可恢复测试资料的测试环境,以便在应用程序每次更替后可以重复 执行这些预先编写好的测试用例。 大多数软件测试方法都可以直接或间接地用于嵌入式软件的测试,但是由于操作 系统的实时和嵌入式特性,嵌入式软件测试也面临一些特殊的问题。虽然日前已经有一些 针对嵌入式软件的测试和调试工具,但是在有些方面仍存在不足,包括许多任务操作系统 的并发、非侵入式的测试和调试、嵌入式系统的软件抽象等。对于嵌入式软件测试技术的研 究人选测试工具有待开发,仍须要做很多进一步的工作。 嵌入式软件的整个工作过程按照事先定义的流程自动运行,一般没有人工干预。 对这类软件的故障一般无法准确定位。为进一步验证软件的功能,性能,可靠性和安全性等 指标,就需要其进行确认测试。 确认测试又称为有效性测试。它的任务是验证软件的功能和性能及其他特性是否 与用户的要求一致。通过集成测试之后,软件已完全组装起来,接口方面的错误也已排除, 确认测试即可开始。确认测试应检查软件能否按合同要求进行工作,即是否满足软件需求 说明书中的确认标准。同时,对软件的真他需求,如可移植性、兼容性、出错自动恢复、可维 护性等,都要进行测试,确认是否满足要求。 现有的对嵌入式软件确认测试通常需要确定测试规程、设计测试用例、准备测试 环境等过程。其测试方法主要是用一套仿真器测试环境,将编写好的测试用例按照实现定 义的规则在仿真器环境上执行,并通过相应的接口对被测目标进行激励。因此从本质上来 说,这是一种黑盒测试。 目前航空航天嵌入式软件确认测试的测试环境主要有以下几种,一种是通常的硬件仿真测试环境;另一种是数字仿真测试环境。硬件仿真测试环境由于对不同的型号软件不能通用,常常造成测试工作不能顺利完成。全数字仿真测试环境就是使用计算机仿真的方式,构造嵌入式软件运行所需要的硬件环境及外部数据源,构成全数字的嵌入式软件运行环境,并在此环境上进行各种测试工作。现有的嵌入式软件数字仿真测试环境主要包括dSPACE和RT-LAB半实物仿真测试平台。这些测试环境的共同特点是通过实时运行的系统模型作为被测软件的控制对象模拟。然后通过在模型中加入需要运行的测试用例,通过驱动仿真测试平台上的对应的I/O与通讯接口来激励被测目标机上的软件,并采集被测目标机软件的反馈控制信号。 但是,这样的半实物仿真测试平台在使用中存在着如下不足 a)自动化测试过程不直观 在dSPACE和RT-LAB半实物仿真测试平台上,都需要编辑系统仿真模型。这些模型都是用Simulink来搭建,并将其转化为实时平台上运行的代码。这说明半实物仿真测试平台更侧重于系统的动力学与控制建模,但还缺乏对交联的被测控制器及其软件的开环测试能力与故障注入能力。不能很好的实现自动化测试。 b)缺乏对测试用例的管理能力 无论是dSPACE还是RT-LAB,都是侧重于对被测软件的控制对象系统的模拟。它们缺乏对测试用例的编辑,组织和执行的管理能力。在使用中,没有一个清晰的界面去控制怎样将测试用例按照测试计划规定的顺序和时刻执行。
技术实现思路
本专利技术需要解决的技术问题是提供了一种,旨在解决上述的问题。 为了解决上述技术问题,本专利技术是通过以下步骤实现的 编辑并建立测试用例库; 在流程图编辑界面中建立测试流程框架; 根据测试任务需求,在测试流程图中插入各种测试用例; 利用脚本生成器将编辑的流程图转换为仿真测试平台上的测试序列; 驱动仿真测试平台上的I/O与通讯接口,激励被测软件并接收回馈控制信号。 与现有技术相比,本专利技术的有益效果是由于采用流程图方式调度测试用例,可方便的描述被测软件的运行流程,对测试用例进行有效管理,方便进行自动化确认测试;不需要进行Simulink的建模工作,直接用流程图表示测试流程。可以进行开环测试与闭环测试;可以通过不断地加入接口模型来形成功能强大的外围环境仿真库及接口模块库,以减少后续的二次开发,使资源重复利用。附图说明 图1是整个软件测试系统组成; 图2是采用本专利技术应用在一个具体实施例中步骤2的流程 图3是采用本专利技术应用在一个具体实施例中步骤3的流程图。具体实施例方式下面结合附图和具体实施方式对本专利技术作进一步详细描述 本专利技术在半实物仿真测试平台的基础上,加入了流程图方式的测试用例管理功能。 本专利技术是通过以下步骤实现的 1.编辑并建立测试用例库; 2.在流程图编辑界面中建立测试流程框架; 3.根据测试任务需求,在测试流程图中插入各种测试用例; 4.利用脚本生成器将编辑的流程图转换为仿真测试平台上的测试序列; 5.驱动仿真测试平台上的I/O与通讯接口,激励被测软件并接收回馈控制信号。 制定测试用例 根据测试方案的要求,设计各种测试用例。测试用例分为以下几类-常规功能测试这类测试用例是用于测试功能好坏的常规测试,根据《软件需求规格文档》编制。由于是在半实物环境下工作,故这些测试用例偏重于I/O与通讯接口的测试。-性能测试这类性能测试侧重于对被测软件的注入某种指令的激励,然后通过接收到的控制信号来估算被测软件的相应速度。-边界测试确定输入和输出参数时,大多数情况下都是用边界值分析方法,采用边界值分析设计的测试用例发现程序错误能力最强。-异常和故障注入对可能的输入参数故障,操作故障,以及可能的通讯故障的模拟。 上述的测试用例用脚本语言做成功能模块的方式,存储成为测试用例库,可以从树形列表中浏览。 编制测试流程图 编制基于状态机的测试流程图,主要关注在测试状态转移的正确性。 流程图编辑器以图形的方式与用户交互。用户只需要简单地添加相应的图块并对该图块作一些基本设置,可以通过脚本产生工具转换成测试脚本,然后在仿真测试平台上顺序执行。 从图块的种类分,流程图主要有两大类 第一、一般图块 这类图块包括类似于一般流程图的起始块、执行块、判断块,内部没有特殊的设置,具体的函数体需要用户手动输入。 第二、特殊图块 这类图块是面向一些特定的应用,内部已经嵌入了特定功能体,不需要用户输入函数体,只要作少许的设置即可。本文档来自技高网
...

【技术保护点】
一种嵌入式软件自动化测试方法,是通过以下步骤实现的:编辑并建立测试用例库;在流程图编辑界面中建立测试流程框架;根据测试任务需求,在测试流程图中插入各种测试用例;利用脚本生成器将编辑的流程图转换为仿真测试平台上的测试序列;驱动仿真测试平台上的I/O与通讯接口,激励被测软件并接收回馈控制信号。

【技术特征摘要】

【专利技术属性】
技术研发人员:邹毅军
申请(专利权)人:上海科梁信息工程有限公司
类型:发明
国别省市:31[中国|上海]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1