基于软件工程化的嵌入式软件自动化测试系统的制作技术
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图片简介:
本技术介绍了一种基于软件工程化的嵌入式软件自动化测试系统,包括需求开发与管理模块、设计开发与管理模块以及测试管理模块,通过软件工程化将需求开发与管理、设计开发与管理、测试管理集成到一个统一平台进行管理。
平台集成独立的三方软件,实现需求、设计、编码、测试、执行不分离。
通过驱动脚本,实现测试自动化执行;同时,该方法实现了文档的自动生成、自动统计功能,实现了追踪矩阵的自动建立,能够快速实现影响域分析,避免遗漏,从而提高软件质量。
技术要求
1.一种基于软件工程化的嵌入式软件自动化测试系统,其特征在于,包括需求开发与管理模块、设计开发与管理模块以及测试管理模块,其中:
所述需求开发与管理模块包括需求分解单元、需求追踪管理单元;其中:
需求分解单元用于根据用户提出的用户需求建立系统需求以及软件需求,将系统需求、软件需求作为输入,按照所述系统需求、软件需求所要实现的功能,对系统需求、软件需求进行分解处理,并将分解后的需求进行原子化处理,从而建立需求数据元;
需求追踪管理单元用于根据软件需求追踪系统需求,建立软件需求和系统需求之间需求的映射关系;
所述设计开发与管理模块包括软件详细设计单元、软件接口设计单元、软件编码实现单元、设计追踪管理单元,其中:
软件详细设计单元用于根据所述的软件需求的需求数据元逐项展开对应于所述需求数据元的功能设计,形成详细设计数据元;
软件接口设计单元用于根据所述的软件需求的需求数据元逐项展开对应于所述需求数据元的接口设计,形成接口设计数据元;
软件编码实现单元用于根据所述详细设计数据元、接口设计数据元通过编码进行软件详细设计和软件接口设计,从而形成软件源码数据元;
设计追踪管理单元用于建立详细设计数据元到软件需求的需求数据元之间的映射关系、软件源码数据元到所述详细设计数据元之间的映射关系;软件源码数据元到接口设计数据元之间的映射关系;
测试管理模块包括测试策划单元、测试用例编制单元、测试追踪管理单元、测试执行单元、测试结果记录单元、缺陷管理单元、回归测试单元,其中:
测试策划单元用于根据软件需求的需求数据元建立软件系统测试项数据元和软件配置项测试项数据元;依据所述详细设计数据元、接口设计数据元建立软件集成测试项数据元和软件单元测试项数据元;
测试用例编制单元用于根据系统测试项数据元编制系统测试用例数据元;依据配置项测试项数据元编制配置项测试用例数据元;依据集成测试项数据元编制集成测试用例数据元,依据单元测试项数据元编制单元测试用例数据元;
测试追踪管理单元用于建立软件单元测试项数据元到详细设计数据元和接口设计数据元之间的映射关系,建立软件集成测试项数据元到详细设计数据元和接口设计数据元之间的映射关系,建立软件配置项测试项数据元到软件需求的需求数据元之间的映射关系,建立软件系统测试项数据元到系统需求的需求数据元之间的映射关系,并建立各测试用例数据元到对应的测试项数据元之间的映射关系;
测试执行单元用于按照各测试用例数据元规定的执行步骤,执行对应的测试用例;
测试结果记录单元用于记录各测试用例数据元执行后的结果,并与预期结果比较,根据比较结果的不同执行对应的处理方式;
缺陷管理单元用于针对执行失败的测试用例数据元,确定存在的软件缺陷,形成缺陷数据元并按照模板生成问题报告单,以使软件设计开发人员根据所述问题报告单进行问题的修复;
回归测试单元用于对于已修复的问题,如果系统需求的需求数据元、软件需求的需求数据元、详细设计数据元、接口设计数据元发生改变时,根据映射关系追踪并标识出受影响的测试项数据元和测试用例数据元,以使测试人员对受影响的测试项数据元和测试用例数据元进行增补或更改。
2.根据权利要求1所述的基于软件工程化的嵌入式软件自动化测试系统,其特征在于,所述软件自动化测试系统还包括自动生成追踪矩阵模块,用于根据各映射关系建立追踪矩阵,并进行展现。
3.根据权利要求1所述的基于软件工程化的嵌入式软件自动化测试系统,其特征在于,所述建立软件需求和系统需求之间需求的映射关系,包括:
建立软件需求的需求数据元与系统需求的需求数据元之间的映射关系。
4.根据权利要求1所述的基于软件工程化的嵌入式软件自动化测试系统,其特征在于,所述建立各测试用例数据元到对应的测试项数据元之间的映射关系,包括:
建立系统测试用例数据元到软件系统测试项数据元之间的映射关系、建立配置项测试用例数据元到软件配置项测试项数据元之间的映射关系、建立集成测试用例数据元到软件集成测试项数据元之间的映射关系、建立单元测试用例数据元到软件单元测试项数据元之间的映射关系。
5.根据权利要求1所述的基于软件工程化的嵌入式软件自动化测试系统,其特征在于,所述测试执行单元用于按照各测试用例数据元规定的执行步骤,执行对应的测试用例,包括:
执行系统测试用例数据元的系统测试,包括:通过驱动脚本启动第三方系统测试工具,自动读取系统测试用例数据元并执行,输出测试结果;
执行配置项测试用例数据元的配置项测试,包括:通过驱动脚本启动第三方配置项测试工具,自动读取配置项测试用例数据元并执行,输出测试结果;
执行集成测试用例数据元的集成测试,包括:通过驱动脚本启动第三方集成测试工具,自动读取集成测试用例数据元并执行,输出测试结果;
执行单元测试用例数据元的单元测试,通过驱动脚本启动第三方单元测试工具,自动读取单元测试用例数据元并执行,输出测试结果。
6.根据权利要求1所述的基于软件工程化的嵌入式软件自动化测试系统,其特征在于,所述与预期结果比较,根据比较结果的不同执行对应的处理方式,包括:
如果执行结果与预期结果相同,则执行成功,判定为通过;如果执行结果与预期结果不同,则执行失败,判定为不通过;各测试结果为测试结果数据元,依据测试结果数据元按照模板形成测试记录,并自动统计测试用例数和测试问题数。
7.根据权利要求1所述的基于软件工程化的嵌入式软件自动化测试系统,其特征在于,在回归测试单元中对于已修复的问题,如系统需求的需求数据元、软件需求的需求数据元、详细设计数据元、接口设计数据元未发生改变,则重新执行之前失败的测试用例数据元,并将执行结果记录到问题报告单中。
8.根据权利要求1所述的基于软件工程化的嵌入式软件自动化测试系统,其特征在于,所述需求开发与管理模块、设计开发与管理模块、测试管理模块中均包括用于进行功能记录的自动生成文档单元。
技术说明书
基于软件工程化的嵌入式软件自动化测试系统
技术领域
本技术属于军用软件测试领域,具体涉及一种用于直升机机载软件研发、测试的基于软件工程化的嵌入式软件自动化测试系统。
背景技术
随着嵌入式软件复杂度的日益增高,嵌入式软件的研发周期逐渐变长,研发成本逐渐增高。
软件测试是保证软件质量不可或缺的重要环节,测试的有效性直接关系到软件的质量。
如何在有限的研发周期内保证软件质量,是软件测试人员永恒的课题。
软件测试是依据软件需求文档、软件详细设计文档和软件接口设计文档,完成对软件功能、性能、边界、接口、强度、可靠性、安全性、恢复性、人机交互等的测试。
软件测试活动包括文档审查、静态分析、代码审查、单元测试、集成测试、配置项测试和系统测试。
军用软件测试过程中,需要按照GJB438B军用软件开发文档通用要求产生大量文档,包括软件测试计划、软件测试说明、软件测试报告、软件测试用例集、软件测试记录等。
软件测试的目的是尽可能早的发现软件中存在的缺陷,保证软件质量。
当前直升机机载软件研制实际情况中,往往需要经过需求、设计、测试多轮迭代,才能最终完成软件研制。
在一段时间内需求处于不断变更状态,设计、测试也需要根据需求的变更而变更。
当前机载嵌入式软件研制过程中,当系统需求、软件需求或软件接口设计文档发生变更后,软件测试人员往往不能在第一时间获取到变更后的新需求,导致测试工作的滞后,进而影响整个项目的进度;另外,目前文档的编制、测试结果的记录都不能完全脱离手工方式。
因此会占用较大量的人力资源。
现有技术中没有能实现从需求、设计、测试直至软件研制完成的一套系统,给软件的测试、研制工作带来很大难度。
技术内容
本技术的目的是提供一种基于软件工程化的嵌入式软件自动化测试系统,通过软件工程化将需求开发与管理、设计开发与管理、测试管理集成到一个统一平台进行管理,为直升机机载软件的测试、开发提供支持。
为了实现上述任务,本技术采用以下技术方案:
一种基于软件工程化的嵌入式软件自动化测试系统,包括需求开发与管理模块、设计开发与管理模块以及测试管理模块,其中:
所述需求开发与管理模块包括需求分解单元、需求追踪管理单元;其中:
需求分解单元用于根据用户提出的用户需求建立系统需求以及软件需求,将系统需求、软件需求作为输入,按照所述系统需求、软件需求所要实现的功能,对系统需求、软件需求进行分解处理,并将分解后的需求进行原子化处理,从而建立需求数据元;
需求追踪管理单元用于根据软件需求追踪系统需求,建立软件需求和系统需求之间需求的映射关系;
所述设计开发与管理模块包括软件详细设计单元、软件接口设计单元、软件编码实现单元、设计追踪管理单元,其中:
软件详细设计单元用于根据所述的软件需求的需求数据元逐项展开对应于所述需求数据元的功能设计,形成详细设计数据元;
软件接口设计单元用于根据所述的软件需求的需求数据元逐项展开对应于所述需求数据元的接口设计,形成接口设计数据元;
软件编码实现单元用于根据所述详细设计数据元、接口设计数据元通过编码进行软件详细设计和软件接口设计,从而形成软件源码数据元;
设计追踪管理单元用于建立详细设计数据元到软件需求的需求数据元之间的映射关系、软件源码数据元到所述详细设计数据元之间的映射关系;软件源码数据元到接口设计数据元之间的映射关系;
测试管理模块包括测试策划单元、测试用例编制单元、测试追踪管理单元、测试执行单元、测试结果记录单元、缺陷管理单元、回归测试单元,其中:
测试策划单元用于根据软件需求的需求数据元建立软件系统测试项数据元和软件配置项测试项数据元;依据所述详细设计数据元、接口设计数据元建立软件集成测试项数据元和软件单元测试项数据元;
测试用例编制单元用于根据系统测试项数据元编制系统测试用例数据元;依据配置项测试项数据元编制配置项测试用例数据元;依据集成测试项数据元编制集成测试用例数据元,依据单元测试项数据元编制单元测试用例数据元;
测试追踪管理单元用于建立软件单元测试项数据元到详细设计数据元和接口设计数据元之间的映射关系,建立软件集成测试项数据元到详细设计数据元和接口设计数据元之间的映射关系,建立软件配置项测试项数据元到软件需求的需求数据元之间的映射关系,建立软件系统测试项数据元到系统需求的需求数据元之间的映射关系,并建立各测试用例数据元到对应的测试项数据元之间的映射关系;
测试执行单元用于按照各测试用例数据元规定的执行步骤,执行对应的测试用例;
测试结果记录单元用于记录各测试用例数据元执行后的结果,并与预期结果比较,根据比较结果的不同执行对应的处理方式;
缺陷管理单元用于针对执行失败的测试用例数据元,确定存在的软件缺陷,形成缺陷数据元并按照模板生成问题报告单,以使软件设计开发人员根据所述问题报告单进行问题的修复;
回归测试单元用于对于已修复的问题,如果系统需求的需求数据元、软件需求的需求数据元、详细设计数据元、接口设计数据元发生改变时,根据映射关系追踪并标识出受影响的测试项数据元和测试用例数据元,以使测试人员对受影响的测试项数据元和测试用例数据元进行增补或更改。
进一步地,所述软件自动化测试系统还包括自动生成追踪矩阵模块,用于根据各映射关系建立追踪矩阵,并进行展现。
进一步地,所述建立软件需求和系统需求之间需求的映射关系,包括:
建立软件需求的需求数据元与系统需求的需求数据元之间的映射关系。
进一步地,所述建立各测试用例数据元到对应的测试项数据元之间的映射关系,包括:
建立系统测试用例数据元到软件系统测试项数据元之间的映射关系、建立配置项测试用例数据元到软件配置项测试项数据元之间的映射关系、建立集成测试用例数据元到软件集成测试项数据元之间的映射关系、建立单元测试用例数据元到软件单元测试项数据元之间的映射关系。
进一步地,所述测试执行单元用于按照各测试用例数据元规定的执行步骤,执行对应的测试用例,包括:
执行系统测试用例数据元的系统测试,包括:通过驱动脚本启动第三方系统测试工具,自动读取系统测试用例数据元并执行,输出测试结果;
执行配置项测试用例数据元的配置项测试,包括:通过驱动脚本启动第三方配置项测试工具,自动读取配置项测试用例数据元并执行,输出测试结果;
执行集成测试用例数据元的集成测试,包括:通过驱动脚本启动第三方集成测试工具,自动读取集成测试用例数据元并执行,输出测试结果;
执行单元测试用例数据元的单元测试,通过驱动脚本启动第三方单元测试工具,自动读取单元测试用例数据元并执行,输出测试结果。
进一步地,所述与预期结果比较,根据比较结果的不同执行对应的处理方式,包括:
如果执行结果与预期结果相同,则执行成功,判定为通过;如果执行结果与预期结果不同,则执行失败,判定为不通过;各测试结果为测试结果数据元,依据测试结果数据元按照模板形成测试记录,并自动统计测试用例数和测试问题数。
进一步地,在回归测试单元中对于已修复的问题,如系统需求的需求数据元、软件需求的需求数据元、详细设计数据元、接口设计数据元未发生改变,则重新执行之前失败的测试用例数据元,并将执行结果记录到问题报告单中。
进一步地,所述需求开发与管理模块、设计开发与管理模块、测试管理模块中均包括用于进行功能记录的自动生成文档单元。
本技术提出了一种基于软件工程化的嵌入式软件自动化测试系统,该系统通过软件工程化将需求开发与管理、设计开发与管理、测试管理集成到一个统一平台进行管理。
平台集成独立的三方软件,实现需求、设计、编码、测试、执行不分离。
通过驱动脚本,实现测试自动化执行。
同时,该方法实现了文档的自动生成、自动统计功能,实现了追踪矩阵的自动建立,与现有技术相比,具有以下技术特点:
1.通过实现需求、设计、编码、测试、执行不分离,能够使项目变更得到迅速响应;
2.通过实现测试自动化执行,能够提高测试效率,减少成本,缩短项目周期;
3.通过实现文档的自动生成、自动统计,能够减少人力成本,提高文档规范性;
4.通过实现追踪矩阵的自动建立,能够快速实现影响域分析,避免遗漏,从而提高软件质量。
附图说明
图1为本技术系统的整体结构示意图。
具体实施方式
本技术提出了一种基于软件工程化的嵌入式软件自动化测试系统,该方法通过软件工程化将需求开发与管理、设计开发与管理、测试管理集成到一个统一平台进行管理。
平台集成独立的三方软件,实现需求、设计、编码、测试、执行不分离。
通过驱动脚本,实现测试自动化执行。
同时,该方法实现了文档的自动生成、自动统计功能,实现了追踪矩阵的自动建立。
本技术方法具体涉及系统需求、软件需求、软件详细设计、软件接口设计、软件源代码、测试策划、测试设计、测试执行、测试结果记录、缺陷管理和回归测试等。
具体如下:
一种基于软件工程化的嵌入式软件自动化测试系统,包括需求开发与管理模块、设计开发与管理模块以及测试管理模块,其中:
1.需求开发与管理模块
包括需求分解单元、需求追踪管理单元;其中:
需求分解单元用于根据用户提出的用户需求建立系统需求以及软件需求,所述系统需求是指软件对所运行系统的需求,包括性能、运行环境、操作系统等;将系统需求、软件需求作为输入,按照所述系统需求、软件需求所要实现的功能,对系统需求、软件需求进行分解处理,并将分解后的需求进行原子化处理,从而建立需求数据元。
本方案中,数据元是指对应的功能点、操作、函数等;例如,对于软件需求的需求数据元,其中的每个需求数据元可以指软件需求所要实现的功能点,例如某软件需求要实现数据处理、数据分析的功能,则可将数据处理、数据分析分别作为一个需求数据元。
对于各测试项的数据元,每个数据元可以是指该测试项中的一个测试需求,该测试需求对应于软件需求的需求数据元;对于各测试用例数据元;测试项数据元与测试用例数据元存在一对多的关系,一个测试项对应于多个测试用例。
例如一个测试项需求为“翻页”功能,则对应的测试用例数据元则是针对于测试项需求设计的对应测试例,例如“上翻”、“下翻”等。
需求追踪管理单元用于根据软件需求追踪系统需求,建立软件需求和系统需求之间需求的映射关系,包括:建立软件需求的需求数据元与系统需求的需求数据元之间的映射关系。
所述需求开发与管理模块还可以包括自动生成文档单元,用于根据需求数据元,按照模板自动生成软件需求规格说明文档。
2.设计开发与管理模块
包括软件详细设计单元、软件接口设计单元、软件编码实现单元、设计追踪管理单元,其中:
软件详细设计单元用于根据所述的软件需求的需求数据元逐项展开对应于所述需求数据元的功能设计,形成详细设计数据元;其中,详细设计包括:“设计名称”、“设计输入”、“设计输出”、“设计描述”等。
软件接口设计单元用于根据所述的软件需求的需求数据元逐项展开对应于所述需求数据元的接口设计,形成接口设计数据元;其中,接口设计包括:“数据传输”、“数据项名称”、“数据大小”、“数据顺序”和“具体含义”等。
软件编码实现单元用于根据所述详细设计数据元、接口设计数据元通过编码进行软件详细设计和软件接口设计,从而形成软件源码数据元;
设计追踪管理单元用于建立详细设计数据元到软件需求的需求数据元之间的映射关系、软件源码数据元到所述详细设计数据元之间的映射关系;软件源码数据元到接口设计数据元之间的映射关系。
该模块还可以进一步包括自动生成文档单元:依据详细设计数据元,按照模板自动生成软件详细设计文档;依据接口设计数据元,按照模板自动生成软件接口设计文档。
3.测试管理模块
包括测试策划单元、测试用例编制单元、测试追踪管理单元、测试执行单元、测试结果记录单元、缺陷管理单元、回归测试单元,其中:
测试策划单元用于根据软件需求的需求数据元建立软件系统测试项数据元和软件配置项测试项数据元;依据所述详细设计数据元、接口设计数据元建立软件集成测试项数据元和软件单元测试项数据元;并可以依据测试项数据元按照模板自动生成软件测试计划文档。
测试用例编制单元用于根据系统测试项数据元编制系统测试用例数据元;依据配置项测试项数据元编制配置项测试用例数据元;依据集成测试项数据元编制集成测试用例数据元,依据单元测试项数据元编制单元测试用例数据元;依据测试用例数据元按照模板自动生成软件测试说明文档和软件测试用例集文档。
测试追踪管理单元用于建立软件单元测试项数据元到详细设计数据元和接口设计数据元之间的映射关系,建立软件集成测试项数据元到详细设计数据元和接口设计数据元之间的映射关系,建立软件配置项测试项数据元到软件需求的需求数据元之间的映射关系,建立软件系统测试项数据元到系统需求的需求数据元之间的映射关系,并建立各测试用例数据元到对应的测试项数据元之间的映射关系,具体为:建立系统测试用例数据元到软件系统测试项数据元之间的映射关系、建立配置项测试用例数据元到软件配置项测试项数据元之间的映射关系、建立集成测试用例数据元到软件集成测试项数据元之间的映射关系、建立单元测试用例数据元到软件单元测试项数据元之间的映射关系。