一种嵌入式软件自动化回归测试方法技术

技术编号:26845376 阅读:15 留言:0更新日期:2020-12-25 13:07
本发明专利技术公开了一种嵌入式软件自动化回归测试方法,包括:建立自动化测试平台、自动化影响性分析、需求更改、设计与编码更改、测试更改、缺陷管理以及知识库更新。本发明专利技术通过实现需求、设计、编码、测试、执行不分离,能够使项目变更得到迅速响应;通过实现追踪矩阵的自动建立,能够快速实现影响域分析,避免遗漏,从而提高软件质量;通过实现回归测试自动化,能够提高测试效率、减少成本、缩短项目周期;通过实现文档的自动生成,能够减少人力成本、提高文档规范性。

【技术实现步骤摘要】
一种嵌入式软件自动化回归测试方法
本专利技术属于软件测试领域,具体涉及一种嵌入式软件自动化回归测试方法。
技术介绍
软件测试是依据软件需求文档、软件详细设计文档和软件接口设计文档,完成对软件功能、性能、边界、接口、强度、可靠性、安全性、恢复性、人机交互等的测试。软件测试活动包括文档审查、静态分析、代码审查、单元测试、集成测试、配置项测试和系统测试。军用软件测试过程中,需要按照GJB438B军用软件开发文档通用要求产生大量文档,包括软件测试计划、软件测试说明、软件测试报告、软件测试用例集、软件测试记录等。软件测试的目的是尽可能早的发现软件中存在的缺陷,保证软件质量。软件维护阶段,软件代码通常会有多个版本升级。版本升级原因包括系统需求更改、软件需求更改、软件设计错误、完善设计、测试问题、质量问题归零、质量问题举一反三或其他原因引起的更改。软件版本升级入SVN代码版本控制库后,测试人员需要对其进行回归测试,保证升级后的软件质量。软件回归测试过程中,传统的静态测试测试方法包括静态分析、代码审查、代码走查等,静态分析和代码审查通常需要借助第三方测试工具完成,需要大量繁琐的界面操作。当前机载嵌入式软件研制维护阶段,当系统需求、软件需求或软件接口设计文档发生变更后,软件测试人员往往不能在第一时间获取到变更后的新需求,导致测试工作滞后。目前文档的编制、测试结果的记录都不能完全脱离手工方式。因此会占用较大量的人力资源。软件回归测试过程中,传统的静态测试方法需要大量繁琐的界面操作,效率较低。专利技术内容本专利技术的目的是提供一种嵌入式软件自动化回归测试方法,将需求开发与管理、设计开发与管理、测试管理集成到一个统一平台,用以解决现有回归测试方法效率低、不能及时响应、流程繁琐等问题。为了实现上述任务,本专利技术采用以下技术方案:一种嵌入式软件自动化回归测试方法,包括以下步骤:步骤1,建立自动化测试平台,所述平台包括需求开发与管理模块、设计开发与管理模块、测试管理模块以及自动生成追踪矩阵模块;其中,需求开发与管理模块用于根据系统需求、软件需求,按功能分解需求,将需求原子化处理;设计开发与管理模块用于逐项开展软件详细设计、软件接口设计、软件编码实现以及设计追踪管理;测试管理模块用于开展测试策划、测试用例编制、测试执行、测试结果记录、缺陷管理和回归测试;自动生成追踪矩阵模块用于建立追踪矩阵;步骤2,自动化影响性分析自动化测试平台依据输入,通过追踪矩阵进行影响性分析;根据追踪矩阵中记录的映射关系,标识出受影响的需求数据元、详细设计数据元、接口设计数据元、各测试项数据元、各测试用例数据元;步骤3,需求更改判断是否存在软件需求的更改,若存在,则更改软件需求的需求数据元,并更新所述的追踪矩阵;若不存在,则执行步骤4;步骤4,设计、编码更改判断是否存在软件设计更改;若存在,则更改对应的详细设计数据元、接口设计数据元,并更改对应的软件源码数据元;若不存在更改,则判断是否存在软件源码更改;如存在,则更改对应的软件源码数据元;如软件源码数据元、详细设计数据元、接口设计数据元发生了变化,则更新所述的追踪矩阵;步骤5,测试更改包括静态测试和动态测试;如软件需求的需求数据元更改,则需要执行动态测试和静态测试;如果仅软件源码数据元发生更改,则仅需执行静态测试;步骤6,缺陷管理对于测试过程中发现的缺陷,软件测试人员录入自动化测试平台,生成测试缺陷报告单;平台根据设定的缺陷类型,选择性推送至软件设计和开发人员,并提醒其对缺陷进行处理;步骤7,知识库更新分别对各测试用例数据元和软件缺陷建立知识库,将各测试用例数据元加入测试用例库;对于由软件设计和开发人员确认更改后的典型缺陷,加入典型缺陷库。进一步地,所述静态测试包括静态分析、代码审查、代码走查;代码发生变更,自动触发执行自动化静态分析和代码审查;通过python脚本调用SVN软件版本库自动获取版本更改前后的差异代码,再通过python脚本调用第三方静态分析工具,对差异代码自动执行静态分析;通过脚本调用第三方代码审查工具,对差异代码自动执行代码审查,最后人工方式对代码走查;所述动态测试,测试人员根据需求更改数据元,变更测试项、变更测试用例、执行动态测试,记录回归测试结果。进一步地,所述自动化测试平台包括需求开发与管理模块、设计开发与管理模块、测试管理模块以及自动生成追踪矩阵模块,其中:所述需求开发与管理模块包括需求分解单元、需求追踪管理单元;其中:需求分解单元用于根据用户提出的用户需求建立系统需求以及软件需求,将系统需求、软件需求作为输入,按照所述系统需求、软件需求所要实现的功能,对系统需求、软件需求进行分解处理,并将分解后的需求进行原子化处理,从而建立需求数据元;需求追踪管理单元用于根据软件需求追踪系统需求,建立软件需求和系统需求之间需求的映射关系;所述设计开发与管理模块包括软件详细设计单元、软件接口设计单元、软件编码实现单元、设计追踪管理单元,其中:软件详细设计单元用于根据所述的软件需求的需求数据元逐项展开对应于所述需求数据元的功能设计,形成详细设计数据元;软件接口设计单元用于根据所述的软件需求的需求数据元逐项展开对应于所述需求数据元的接口设计,形成接口设计数据元;软件编码实现单元用于根据所述详细设计数据元、接口设计数据元通过编码进行软件详细设计和软件接口设计,从而形成软件源码数据元;设计追踪管理单元用于建立详细设计数据元到软件需求的需求数据元之间的映射关系、软件源码数据元到所述详细设计数据元之间的映射关系;软件源码数据元到接口设计数据元之间的映射关系;测试管理模块包括测试策划单元、测试用例编制单元、测试追踪管理单元、测试执行单元、测试结果记录单元、缺陷管理单元、回归测试单元,其中:测试策划单元用于根据软件需求的需求数据元建立软件系统测试项数据元和软件配置项测试项数据元;依据所述详细设计数据元、接口设计数据元建立软件集成测试项数据元和软件单元测试项数据元;测试用例编制单元用于根据系统测试项数据元编制系统测试用例数据元;依据配置项测试项数据元编制配置项测试用例数据元;依据集成测试项数据元编制集成测试用例数据元,依据单元测试项数据元编制单元测试用例数据元;测试追踪管理单元用于建立软件单元测试项数据元到详细设计数据元和接口设计数据元之间的映射关系,建立软件集成测试项数据元到详细设计数据元和接口设计数据元之间的映射关系,建立软件配置项测试项数据元到软件需求的需求数据元之间的映射关系,建立软件系统测试项数据元到系统需求的需求数据元之间的映射关系,并建立各测试用例数据元到对应的测试项数据元之间的映射关系;测试执行单元用于按照各测试用例数据元规定的执行步骤,执行对应的测试用例;测试结果记录单元用于记录各测试用例数据元执行后的结果,并与预期结果比较,根据比较结果的不同执行对应本文档来自技高网...

【技术保护点】
1.一种嵌入式软件自动化回归测试方法,其特征在于,包括以下步骤:/n步骤1,建立自动化测试平台,所述平台包括需求开发与管理模块、设计开发与管理模块、测试管理模块以及自动生成追踪矩阵模块;其中,需求开发与管理模块用于根据系统需求、软件需求,按功能分解需求,将需求原子化处理;设计开发与管理模块用于逐项开展软件详细设计、软件接口设计、软件编码实现以及设计追踪管理;测试管理模块用于开展测试策划、测试用例编制、测试执行、测试结果记录、缺陷管理和回归测试;自动生成追踪矩阵模块用于建立追踪矩阵;/n步骤2,自动化影响性分析/n自动化测试平台依据输入,通过追踪矩阵进行影响性分析;根据追踪矩阵中记录的映射关系,标识出受影响的需求数据元、详细设计数据元、接口设计数据元、各测试项数据元、各测试用例数据元;/n步骤3,需求更改/n判断是否存在软件需求的更改,若存在,则更改软件需求的需求数据元,并更新所述的追踪矩阵;/n若不存在,则执行步骤4;/n步骤4,设计、编码更改/n判断是否存在软件设计更改;若存在,则更改对应的详细设计数据元、接口设计数据元,并更改对应的软件源码数据元;若不存在更改,则判断是否存在软件源码更改;如存在,则更改对应的软件源码数据元;如软件源码数据元、详细设计数据元、接口设计数据元发生了变化,则更新所述的追踪矩阵;/n步骤5,测试更改/n包括静态测试和动态测试;如软件需求的需求数据元更改,则需要执行动态测试和静态测试;如果仅软件源码数据元发生更改,则仅需执行静态测试;/n步骤6,缺陷管理/n对于测试过程中发现的缺陷,软件测试人员录入自动化测试平台,生成测试缺陷报告单;平台根据设定的缺陷类型,选择性推送至软件设计和开发人员,并提醒其对缺陷进行处理;/n步骤7,知识库更新/n分别对各测试用例数据元和软件缺陷建立知识库,将各测试用例数据元加入测试用例库;对于由软件设计和开发人员确认更改后的典型缺陷,加入典型缺陷库。/n...

【技术特征摘要】
1.一种嵌入式软件自动化回归测试方法,其特征在于,包括以下步骤:
步骤1,建立自动化测试平台,所述平台包括需求开发与管理模块、设计开发与管理模块、测试管理模块以及自动生成追踪矩阵模块;其中,需求开发与管理模块用于根据系统需求、软件需求,按功能分解需求,将需求原子化处理;设计开发与管理模块用于逐项开展软件详细设计、软件接口设计、软件编码实现以及设计追踪管理;测试管理模块用于开展测试策划、测试用例编制、测试执行、测试结果记录、缺陷管理和回归测试;自动生成追踪矩阵模块用于建立追踪矩阵;
步骤2,自动化影响性分析
自动化测试平台依据输入,通过追踪矩阵进行影响性分析;根据追踪矩阵中记录的映射关系,标识出受影响的需求数据元、详细设计数据元、接口设计数据元、各测试项数据元、各测试用例数据元;
步骤3,需求更改
判断是否存在软件需求的更改,若存在,则更改软件需求的需求数据元,并更新所述的追踪矩阵;
若不存在,则执行步骤4;
步骤4,设计、编码更改
判断是否存在软件设计更改;若存在,则更改对应的详细设计数据元、接口设计数据元,并更改对应的软件源码数据元;若不存在更改,则判断是否存在软件源码更改;如存在,则更改对应的软件源码数据元;如软件源码数据元、详细设计数据元、接口设计数据元发生了变化,则更新所述的追踪矩阵;
步骤5,测试更改
包括静态测试和动态测试;如软件需求的需求数据元更改,则需要执行动态测试和静态测试;如果仅软件源码数据元发生更改,则仅需执行静态测试;
步骤6,缺陷管理
对于测试过程中发现的缺陷,软件测试人员录入自动化测试平台,生成测试缺陷报告单;平台根据设定的缺陷类型,选择性推送至软件设计和开发人员,并提醒其对缺陷进行处理;
步骤7,知识库更新
分别对各测试用例数据元和软件缺陷建立知识库,将各测试用例数据元加入测试用例库;对于由软件设计和开发人员确认更改后的典型缺陷,加入典型缺陷库。


2.根据权利要求1所述的嵌入式软件自动化回归测试方法,其特征在于,所述静态测试包括静态分析、代码审查、代码走查;代码发生变更,自动触发执行自动化静态分析和代码审查;通过python脚本调用SVN软件版本库自动获取版本更改前后的差异代码,再通过python脚本调用第三方静态分析工具,对差异代码自动执行静态分析;通过脚本调用第三方代码审查工具,对差异代码自动执行代码审查,最后人工方式对代码走查;
所述动态测试,测试人员根据需求更改数据元,变更测试项、变更测试用例、执行动态测试,记录回归测试结果。


3.根据权利要求1所述的嵌入式软件自动化回归测试方法,其特征在于,所述自动化测试平台包括需求开发与管理模块、设计开发与管理模块、测试管理模块以及自动生成追踪矩阵模块,其中:
所述需求开发与管理模块包括需求分解单元、需求追踪管理单元;其中:
需求分解单元用于根据用户提出的用户需求建立系统需求以及软件需求,将系统需求、软件需求作为输入,按照所述系统需求、软件需求所要实现的功能,对系统需求、软件需求进行分解处理,并将分解后的需求进行原子化处理,从而建立需求数据元;
需求追踪管理单元用于根据软件需求追踪系统需求,建立软件需求和系统需求之间需求的映射关系;
所述设计开发与管理模块包括软件详细设计单元、软件接口设计单元、软件编码实现单元、设计追踪管理单元,其中:
软件详细设计单元用于根据所述的软件需求的需求数据元逐项展开对应于所述需求数据元的功能设计,形成详细设计数据元;
软件接口设计单元用于根据所述的软件需求的需求数据元逐项展开对应于所述需求数据元的接口设计,形成接口设计数据元;
软件编码实现单元用于根据所述详细设计数据元、接口设计数据元通过编码进行软件详细设计和软件接口设计,从而形成软件源码数据元;
设计追踪管理单元用于建立详细设计数据元到软件需求的需求数据元之间的映射关系、软件源码数据元到所述详细设计数据元之间的映射关系;软件源码数据元到接口设计数据元之间的映射关系;
测试管理模块包括测试策划单元、测试用例编制单元、测试追踪管理单元、测试执行单元、测试结果记录单元、缺陷管理单元、回归测试单元,其中:<...

【专利技术属性】
技术研发人员:苗晓旭胡玉露刘经纬屈晓光曾佩杰
申请(专利权)人:中国直升机设计研究所
类型:发明
国别省市:江西;36

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

1