一种可复用的嵌入式软件测试开发方法和系统的制作方法

文档序号:6334778阅读:204来源:国知局
专利名称:一种可复用的嵌入式软件测试开发方法和系统的制作方法
技术领域
本发明涉及嵌入式软件测试领域、测试开发和测试设计领域。
技术背景 近年来,随着嵌入式计算机的广泛应用,嵌入式软件的应用规模在不断增长,这主 要体现在1、嵌入式软件的代码量逐渐增加。例如,美国F22战斗机的机载软件已达200多万 行语句,而国内航空装备的状况也相类似,我国新研制研发的军用飞机中,其飞控系统、火 控系统、发动机燃油调节系统,甚至弹射救生系统等均采用了由软件实现其控制功能,逐步 取代了原有的机械、液压或光学设备,在某些新研飞机中,机载软件已超过百万行源代码。2、众多的嵌入式系统往往需要协同工作,构成一个大系统。例如,我国某新型战斗 机中的机载嵌入式计算机数量超过了 100台,彼此之间需要交互大量数据协同工作。伴随这些嵌入式系统的规模不断增长和复杂度不断增大,暴露出的问题也逐渐增 多,越来越多的目光投向了嵌入式软件测试领域,使得嵌入式软件测试已成为软件测试领 域研究的热点。由于嵌入式软件的复杂性,在工程实践中,受被测软件的特点、测试资源及测试要 求等因素的影响,针对嵌入式软件的测试环境也会不断发生变化,即针对不同被测软件,甚 至针对相同被测软件的不同测试要求,往往都要重新开发一个测试环境,从而导致了测试 环境专用化,而专用化的环境存在如下问题1、复用性低测试环境设计中缺乏对复用的考虑,测试环境的生命随着测试结束 而结束,造成资源浪费;2、可靠性低因为使用周期短,专用的测试环境,其本身大多未经过充分的测试;3、测试效果差不可靠的测试环境很难保证测试的正确性和效率。为解决上述问题,一个有效的方法是采用通用嵌入式软件测试环境,通用嵌入式 软件测试环境一般应包括测试开发系统和测试执行系统两部分。为了达到通用性,测试开 发系统需进行全面的需求分析,但新需求总是会被不断地提出,而设计中无法预计所有潜 在的需求,所以有必要研究如何能让测试开发系统有能力跟踪需求变化,本发明通过具有 良好复用性的测试开发系统解决上述问题。

发明内容
目前,国内外众多嵌入式软件测试开发系统大多是专用的,不能满足测试开发系 统在复用性、通用性和可维护性等方面的需求,因此,本发明所提供的可复用的嵌入式软件 测试开发系统,解决了如下几个问题1、采用软件框架技术,提高嵌入式软件测试开发系统的复用性和通用性,使之具 备良好的扩展能力,为自动化的嵌入式软件测试奠定基础。2、开发操作简便、易快速掌握的可视化的测试开发系统,以便快速、方便地生成符合要求的测试配置信息和测试数据。3、应对嵌入式软件测试开发系统的体系结构进行深入分析,理清嵌入式软件测试 开发系统的冷点和热点,解决测试开发系统中的核心问题。
4、对测试开发系统应提供的功能进行深入分析,以保证测试开发系统的工程适用 性。本发明公开的是一种可复用的嵌入式软件测试开发系统。本发明将软件工程领域 的软件框架技术引入嵌入式软件测试开发系统设计中,充分利用插件式框架技术的模块式 开发方式和强大的扩展功能,通过识别和定义嵌入式软件测试开发系统的内核、基础插件 和应用插件的设计,实现了一种可复用的嵌入式软件测试开发系统。通过利用该测试开发 系统可完成测试开发工作,为嵌入式软件的自动化测试奠定基础。该系统的设计基于微内核插件式框架技术。首先将嵌入式软件测试开发系统定义 为三层结构,包括内核、基础插件层和应用插件层。其中内核包含了测试开发系统的所有内 核和基本规范,基础插件层建立在内核之上,为面向问题域的应用插件提供通用服务,而应 用插件层建立在前两层之上,提供面向嵌入式软件测试开发的应用插件。在完成内核和基 础插件层设计的基础上,通过对应用插件层的测试配置插件、交联环境建模插件、测试脚本 开发插件、测试面板开发插件和测试任务管理插件的分析与设计,从而完成整个嵌入式软 件测试开发系统的设计。本发明所提出嵌入式软件测试开发系统,能够利用插件式框架技术的模块式开发 方式和强大的扩展功能,有效提高嵌入式软件测试开发系统的复用性,并提供给测试人员 一种可视化的测试开发方法,从而完成测试前的准备工作。选用微内核插件式框架作为整个系统设计的基础,微内核插件式框架的核心只提 供插件管理功能,使得系统开发相比巨内核的开发更加容易,各插件能够提供的功能范围 更加广泛。该系统内核规范和各插件扩展点的设计采用基于通用数据格式XMUExtensible Markup Language)进行存储,便于系统功能扩展。采用包括内核、基础插件层和应用插件层的三层结构,其中内核和基础插件层是 领域无关的,而应用插件层是直接面向嵌入式测试开发问题域的。提供给用户以操作简便、易快速掌握的、可视化的方式完成嵌入式软件测试开发, 方便地完成测试前的准备工作。该系统所生成的测试配置信息和测试数据不受限于特定的测试平台,具备较好的 通用性和可维护性。该系统可完成包括嵌入式软件测试配置、交联环境建模、测试脚本开发、测试面板 开发和测试任务管理功能,从而保证测试开发工作的完整性。所生成的测试配置信息和测试数据以通用标记语言XML进行存储,测试人员通过 二次开发,可完成嵌入式软件自动化测试。本发明提供一种嵌入式软件测试开发的方法,其包括如下步骤(1)加载测试方案,所述测试方案是根据对被测嵌入式软件文档的分析,按照被测 软件的特点以及测试要求,明确测试开发工作的输入而形成的;(2)测试环境配置,根据测试方案对嵌入式软件自动化测试环境的通用参数进行配置,以使得所生成的测试环境配置更好地适配自动化测试平台;(3)交联环境建模,即完成交联设备仿真模型的构建,生成所述交联设备仿真模型 的信息;(4)测试脚本开发,即调用所述交联设备仿真模型的信息,组织测试过程,选用测 试脚本语言,生成测试脚本;(5)测试面板开发,使用测试面板插件,以可视化的虚拟仪表方式允许用户通过拖 拽建立测试显示面板;(6)测试任务管理,使用测试任务管理插件,以测试单元的方式灵活地组织每次测 试所需的仿真模型文件、测试脚本文件,测试面板文件等信息;(7)生成基于XML格式的测试配置信 息及测试数据的描述;(8)交由自动化测试平台执行,即将已生成的XML格式的测试配置信息及测试数 据加载到特定测试平台,可驱动测试过程,完成嵌入式软件的自动化测试。本发明提供的一种嵌入式软件测试开发的方法,其特征还在于步骤(1)中所述被测嵌入式软件文档可以包括软件需求规格说明、软件设计文 档、软件接口控制文档或软件用户手册等。步骤(1)中所述测试要求包括被测软件的可测功能、性能、安全性、接口要求信 肩、ο步骤(2)中所述嵌入式软件自动化测试环境的通用参数包括系统调度时钟周期 设置、总线类型及数量设置、测试执行系统最大内存设置等信息。步骤(3)中所述交联环境建模可以采用可视化的方式来完成,所述交联设备仿真 模型信息包括仿真模型标识、仿真模型与被测系统的连接方式、仿真模型的变量信息。步骤(4)中所述测试脚本开发是在可视化开发环境下,按照测试人员的意图自由 组织测试过程,采用结构化编程语言编程,并且在完成所述测试脚本的编程后,对其进行语 法检查,确保所述测试脚本的正确性。步骤(5)中所述虚拟仪表包括数码管显示、指针式表盘、曲线显示框、柱状显示、 0N/0F开关显示、下拉列表显示的虚拟仪表。本发明提供一种嵌入式软件测试开发的系统,其特征在于包括用于加载测试方案的装置,所述测试方案是根据对被测嵌入式软件文档的分析, 按照被测软件的特点以及测试要求,明确测试开发工作的输入而形成的;用于测试环境配置的装置,其根据测试方案对嵌入式软件自动化测试环境的通用 参数进行配置,以使得所生成的测试环境配置更好地适配自动化测试平台;用于交联环境建模的装置,用于完成交联设备仿真模型的构建,生成所述交联设 备仿真模型的信息;用于测试脚本开发的装置,其调用所述交联设备仿真模型的信息,组织测试过程, 选用测试脚本语言,生成测试脚本;用于测试面板开发的装置,其使用测试面板插件,以可视化的虚拟仪表的方式允 许用户通过拖拽建立测试显示面板;用于测试任务管理的装置,其使用测试任务管理插件,以测试单元的方式灵活地 组织每次测试所需的仿真模型文件、测试脚本文件,测试面板文件等信息;
生成基于XML格式的测试配置信息及测试数据的描述的装置;交由自动化测试平台执行,即将已生成的XML格式的测试配置信息及测试数据加 载到特定测试平台,可驱动测试过程,完成嵌入式软件的自动化测试的装置。根据本发明提供的一种嵌入式软件测 试开发的系统,其特征还在于所述被测嵌入式软件文档可以包括软件需求规格说明、软件设计文档、软件接口 控制文档或软件用户手册等。所述测试要求包括被测软件的可测功能、性能、安全性、接口要求信息。所述嵌入式软件自动化测试环境的通用参数包括系统调度时钟周期设置、总线类 型及数量设置、测试执行系统最大内存设置等信息。所述交联环境建模可以采用可视化的方式来完成,所述交联设备仿真模型信息包 括仿真模型标识、仿真模型与被测系统的连接方式、仿真模型的变量信息。所述测试脚本开发是在可视化开发环境下,按照测试人员的意图自由组织测试过 程,采用结构化编程语言编程,并且在完成所述测试脚本的编程后,对其进行语法检查,确 保所述测试脚本的正确性。所述虚拟仪表包括数码管显示、指针式表盘、曲线显示框、柱状显示、0N/0F开关显 示、下拉列表显示的虚拟仪表。


图1示出了本发明所开发的嵌入式软件测试开发系统界面图。图2示出了嵌入式软件测试开发系统的体系结构及扩展点的设计。图3示出了利用本发明进行嵌入式软件测试开发的过程。图4示出了嵌入式软件测试开发中交联环境建模的流程5示出了嵌入式软件测试脚本开发的流程图。图6示出了嵌入式软件测试面板开发的流程。图7示出了嵌入式软件测试单元开发的流程图。
具体实施例方式为了便于本领域普通技术人员理解和实施本发明,下面结合附图对本发明作进一 步详细、深入地描述,应当理解,此处所描述的实施仅用于说明和解释本发明,并不用于限 定本发明。1.本发明采用目前软件工程领域最新研究成果,引入软件框架技术,发挥框架技 术在模块式开发方式和强大的扩展功能方面的优势,提高嵌入式软件测试开发系统复用性 和扩展能力。2.通过采用微内核插件式框架作为嵌入式软件测试开发系统设计的基础,使得 该系统开发相比巨内核而言,更加容易,各插件能够提供的功能范围更加广泛,具体说明如 下1)将嵌入式软件测试开发系统设计为包含内核、基础插件层和应用插件层的三层 结构,基于上述各层,测试人员可以根据新的需求建立扩展插件,或通过框架本身提供的扩 展点扩展新的功能。
2)三层结构中,内核和基础插件层是领域无关的,应用插件层是直接面向嵌入式 测试开发问题域的,从而保证了层与层之间的接口改动仅受限于被改动层的影响,具有良 好的可移植性和可扩展性。
3)系统内核规范和各插件扩展点的设计采用基于通用标记语言XML进行存储,便 于系统功能扩展。3.根据通用嵌入式软件测试开发系统的功能分析,将应用插件层细化为测试配置 插件、交联环境建模插件、测试脚本开发插件、测试面板开发插件和测试任务管理插件,保 证了测试开发系统的功能完整性和通用性。4.本发明生成的测试配置信息和测试数据以通用标记语言XML进行存储,测试人 员可通过二次开发,完成嵌入式软件自动化测试。图3中示出了利用本发明进行嵌入式软件测试开发的具体工作流程,具体说明如 下1)加载测试方案F01:本部分实现测试方案的加载功能,是后续测试开发工作的依据,实现该功能的前 提根据对被测嵌入式软件文档(如软件需求规格说明、软件设计文档、软件接口控制文档 及软件用户手册等)的分析,按照被测软件的特点以及测试要求,获取被测软件的可测功 能、性能、安全性、接口要求等信息,明确测试开发工作的输入,形成测试方案。2)测试环境配置F02 本发明允许测试人员根据测试方案对嵌入式软件自动化测试环境的通用参数进 行配置,如系统调度时钟周期设置、总线类型及数量设置、测试执行系统最大内存设置等信 息等,以便于所生成的测试环境配置更好地适配自动化测试平台。3)交联环境建模F03 嵌入式软件所处的运行环境往往是比较复杂的,涉及多个交联设备、多种I/O接 口及多种通讯协议。交联环境建模是完成嵌入式软件闭环仿真测试的基础,只有完整、逼真 的形成被测系统外围的交联环境仿真,才能完成对被测系统的实时、闭环测试。本发明提供 了对被测嵌入式软件进行交联环境仿真的功能,允许用户采用可视化的方式完成交联设备 仿真模型的构建,交联设备仿真模型信息主要包括仿真模型标识、仿真模型与被测系统的 连接方式、仿真模型的变量信息等。图4给出了嵌入式软件测试开发中交联环境建模的流 程图。4)测试脚本开发F04 嵌入式软件自动化测试中,测试用例将最终转换为驱动测试执行的测试脚本。测 试脚本是形式化的测试用例表现形式,可以在特定测试平台上运行。本发明提供了测试脚 本的可视化开发环境,能够允许测试人员按照其的是意图自由组织测试过程,测试脚本生 成过程需要调用已经生成的交联设备仿真模型信息,测试脚本语言可选用常用的结构化编 程语言(如C语言等)。此外,完成脚本编程后还需对测试脚本进行语法检查,以保证脚本 的正确性。图5给出了嵌入式软件测试脚本开发的流程图。5)测试面板开发F05 为了便于测试人员实时观察测试过程中的数据,本发明提供了基于测试面板插 件,以可视化的虚拟仪表方式允许用户通过拖拽建立测试显示面板。本发明提供了常用的虚拟仪表种类有数码管显示、指针式表盘、曲线显示框、柱状显示、ON/OF开关显示、下拉列 表显示等9种虚拟仪表。测试面板开发过程需要调用已经生成的交联设备仿真模型信息, 以完成各虚拟仪表所关联的模型变量信息。图6给出了嵌入式软件测试面板开发的流程。
6)测试任务管理F06 针对特定被测嵌入式系统,测试人员往往会生成多个交联环境的仿真模型文件、 测试脚本文件,测试面板文件,而一次测试通常不需要把所有生成的上述文件全部纳入测 试运行范围,因此需要对测试任务进行有序的组织和管理。本发明提供的测试任务管理插 件允许测试人员以测试单元的方式灵活地组织每次测试所需的仿真模型文件、测试脚本文 件,测试面板文件等信息。图7给出了嵌入式软件测试单元开发的流程。7)基于XML的插件扩展规范及数据存储F07 XML(Extensible Markup Language)是一种通用标记语言。XML 提供了一种结构 化的元数据表示方法,具有平台和语义无关性、开放性和可扩展性等特点。本发明将嵌入式 软件测试开发系统的内核规范和各插件扩展点的设计,以及测试配置信息及测试数据采用 基于XML的方式进行存储,大大提高了测试开发系统的复用性、通用性和可维护性。表1给 出了测试开发系统插件扩展规范的XML描述。表2给出了测试配置信息及测试数据的XML 存储格式。表1插件扩展规范的XML描述
< xml version="2.0" encoding= "UTF-8" > < ?ESTDEF version="0.1 "?> <plugin
id= "PluginID" <!--插件对外的唯一标识--> name="PlugName “ <!--插件名称--> version="PlugVersion “ class="PlugClass "> 〈requires〉< import plugin="pluginNeeded"/> <!-依赖其它插
件-->
〈/requires〉 <!-下面是扩展点扩展的描述 〈extension
point= “ExtensionPoint ">
〈/extension〉 </plugin>表2测试数据的XML存储格式
权利要求
一种嵌入式软件测试开发的方法,其特征在于包括如下步骤(1)加载测试方案,所述测试方案是根据对被测嵌入式软件文档的分析,按照被测软件的特点以及测试要求,明确测试开发工作的输入而形成的;(2)测试环境配置,根据测试方案对嵌入式软件自动化测试环境的通用参数进行配置,以使得所生成的测试环境配置更好地适配自动化测试平台;(3)交联环境建模,即完成交联设备仿真模型的构建,生成所述交联设备仿真模型的信息;(4)测试脚本开发,即调用所述交联设备仿真模型的信息,组织测试过程,选用测试脚本语言,生成测试脚本;(5)测试面板开发,使用测试面板插件,以可视化的虚拟仪表方式允许用户通过拖拽建立测试显示面板;(6)测试任务管理,使用测试任务管理插件,以测试单元的方式灵活地组织每次测试所需的仿真模型文件、测试脚本文件,测试面板文件等信息;(7)生成基于XML格式的测试配置信息及测试数据的描述;(8)交由自动化测试平台执行,即将已生成的XML格式的测试配置信息及测试数据加载到特定测试平台,可驱动测试过程,完成嵌入式软件的自动化测试。
2.根据权利要求1中所述的方法,其特征在于步骤(1)中所述被测嵌入式软件文档可以包括软件需求规格说明、软件设计文档、软 件接口控制文档或软件用户手册等。
3.根据权利要求1中所述的方法,其特征在于步骤(1)中所述测试要求包括被测软件的可测功能、性能、安全性、接口要求信息。
4.根据权利要求1所述的方法,其特征在于步骤(2)中所述嵌入式软件自动化测试环境的通用参数包括系统调度时钟周期设置、 总线类型及数量设置、测试执行系统最大内存设置等信息。
5.根据权利要求1所述的方法,其特征在于步骤(3)中所述交联环境建模可以采用可视化的方式来完成,所述交联设备仿真模型 信息包括仿真模型标识、仿真模型与被测系统的连接方式、仿真模型的变量信息。
6.根据权利要求1所述的方法,其特征在于步骤(4)中所述测试脚本开发是在可视化开发环境下,按照测试人员的意图自由组织 测试过程,采用结构化编程语言编程,并且在完成所述测试脚本的编程后,对其进行语法检 查,确保所述测试脚本的正确性。
7.根据权利要求1所述的方法,其特征在于步骤(5)中所述虚拟仪表包括数码管显示、指针式表盘、曲线显示框、柱状显示、0N/0F 开关显示、下拉列表显示的虚拟仪表。
8.一种嵌入式软件测试开发的系统,其特征在于包括用于加载测试方案的装置,所述测试方案是根据对被测嵌入式软件文档的分析,按照 被测软件的特点以及测试要求,明确测试开发工作的输入而形成的;用于测试环境配置的装置,其根据测试方案对嵌入式软件自动化测试环境的通用参数 进行配置,以使得所生成的测试环境配置更好地适配自动化测试平台;用于交联环境建模的装置,用于完成交联设备仿真模型的构建,生成所述交联设备仿 真模型的信息;用于测试脚本开发的装置,其调用所述交联设备仿真模型的信息,组织测试过程,选用 测试脚本语言,生成测试脚本;用于测试面板开发的装置,其使用测试面板插件,以可视化的虚拟仪表的方式允许用 户通过拖拽建立测试显示面板;用于测试任务管理的装置,其使用测试任务管理插件,以测试单元的方式灵活地组织 每次测试所需的仿真模型文件、测试脚本文件,测试面板文件等信息;生成基于XML格式的测试配置信息及测试数据的描述的装置;交由自动化测试平台执行,即将已生成的XML格式的测试配置信息及测试数据加载到 特定测试平台,可驱动测试过程,完成嵌入式软件的自动化测试的装置。
9.根据权利要求8中所述的系统,其特征在于所述被测嵌入式软件文档可以包括软件需求规格说明、软件设计文档、软件接口控制 文档或软件用户手册等。
10.根据权利要求8中所述的系统,其特征在于所述测试要求包括被测软件的可测功能、性能、安全性、接口要求信息。
11.根据权利要求8中所述的系统,其特征在于所述嵌入式软件自动化测试环境的通用参数包括系统调度时钟周期设置、总线类型及 数量设置、测试执行系统最大内存设置等信息。
12.根据权利要求8中所述的系统,其特征在于所述交联环境建模可以采用可视化的方式来完成,所述交联设备仿真模型信息包括 仿真模型标识、仿真模型与被测系统的连接方式、仿真模型的变量信息。
13.根据权利要求8中所述的系统,其特征在于所述测试脚本开发是在可视化开发环境下,按照测试人员的意图自由组织测试过程, 采用结构化编程语言编程,并且在完成所述测试脚本的编程后,对其进行语法检查,确保所 述测试脚本的正确性。
14.根据权利要求8中所述的系统,其特征在于所述虚拟仪表包括数码管显示、指针式表盘、曲线显示框、柱状显示、0N/0F开关显示、 下拉列表显示的虚拟仪表。
全文摘要
本发明涉及一种可复用的嵌入式软件测试开发方法和系统,其通过加载测试方案;配置测试环境;构建交联环境模型,生成所述交联设备仿真模型的信息;通过测试脚本的开发,组织测试过程,选用测试脚本语言,生成测试脚本;使用测试面板插件,以可视化的虚拟仪表的方式允许用户通过拖拽建立测试显示面板;使用测试任务管理插件,以测试单元的方式灵活地组织每次测试所需的仿真模型文件、测试脚本文件,测试面板文件等信息;生成基于XML格式的测试配置信息及测试数据的描述;即将已生成的XML格式的测试配置信息及测试数据加载到特定测试平台,可驱动测试过程,完成嵌入式软件的自动化测试。
文档编号G06F11/36GK101968770SQ20101052682
公开日2011年2月9日 申请日期2010年11月1日 优先权日2010年11月1日
发明者倪红英, 刘斌, 张国良, 殷永峰 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1