CN112131116B - 一种嵌入式软件自动化回归测试方法 - Google Patents

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

Info

Publication number
CN112131116B
CN112131116B CN202011022176.9A CN202011022176A CN112131116B CN 112131116 B CN112131116 B CN 112131116B CN 202011022176 A CN202011022176 A CN 202011022176A CN 112131116 B CN112131116 B CN 112131116B
Authority
CN
China
Prior art keywords
test
software
data element
data elements
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011022176.9A
Other languages
English (en)
Other versions
CN112131116A (zh
Inventor
苗晓旭
胡玉露
刘经纬
屈晓光
曾佩杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Helicopter Research and Development Institute
Original Assignee
China Helicopter Research and Development Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Helicopter Research and Development Institute filed Critical China Helicopter Research and Development Institute
Priority to CN202011022176.9A priority Critical patent/CN112131116B/zh
Publication of CN112131116A publication Critical patent/CN112131116A/zh
Application granted granted Critical
Publication of CN112131116B publication Critical patent/CN112131116B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Abstract

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

Description

一种嵌入式软件自动化回归测试方法
技术领域
本发明属于软件测试领域,具体涉及一种嵌入式软件自动化回归测试方法。
背景技术
软件测试是依据软件需求文档、软件详细设计文档和软件接口设计文档,完成对软件功能、性能、边界、接口、强度、可靠性、安全性、恢复性、人机交互等的测试。软件测试活动包括文档审查、静态分析、代码审查、单元测试、集成测试、配置项测试和系统测试。军用软件测试过程中,需要按照GJB438B军用软件开发文档通用要求产生大量文档,包括软件测试计划、软件测试说明、软件测试报告、软件测试用例集、软件测试记录等。软件测试的目的是尽可能早的发现软件中存在的缺陷,保证软件质量。
软件维护阶段,软件代码通常会有多个版本升级。版本升级原因包括系统需求更改、软件需求更改、软件设计错误、完善设计、测试问题、质量问题归零、质量问题举一反三或其他原因引起的更改。软件版本升级入SVN代码版本控制库后,测试人员需要对其进行回归测试,保证升级后的软件质量。
软件回归测试过程中,传统的静态测试测试方法包括静态分析、代码审查、代码走查等,静态分析和代码审查通常需要借助第三方测试工具完成,需要大量繁琐的界面操作。
当前机载嵌入式软件研制维护阶段,当系统需求、软件需求或软件接口设计文档发生变更后,软件测试人员往往不能在第一时间获取到变更后的新需求,导致测试工作滞后。目前文档的编制、测试结果的记录都不能完全脱离手工方式。因此会占用较大量的人力资源。软件回归测试过程中,传统的静态测试方法需要大量繁琐的界面操作,效率较低。
发明内容
本发明的目的是提供一种嵌入式软件自动化回归测试方法,将需求开发与管理、设计开发与管理、测试管理集成到一个统一平台,用以解决现有回归测试方法效率低、不能及时响应、流程繁琐等问题。
为了实现上述任务,本发明采用以下技术方案:
一种嵌入式软件自动化回归测试方法,包括以下步骤:
步骤1,建立自动化测试平台,所述平台包括需求开发与管理模块、设计开发与管理模块、测试管理模块以及自动生成追踪矩阵模块;其中,需求开发与管理模块用于根据系统需求、软件需求,按功能分解需求,将需求原子化处理;设计开发与管理模块用于逐项开展软件详细设计、软件接口设计、软件编码实现以及设计追踪管理;测试管理模块用于开展测试策划、测试用例编制、测试执行、测试结果记录、缺陷管理和回归测试;自动生成追踪矩阵模块用于建立追踪矩阵;
步骤2,自动化影响性分析
自动化测试平台依据输入,通过追踪矩阵进行影响性分析;根据追踪矩阵中记录的映射关系,标识出受影响的需求数据元、详细设计数据元、接口设计数据元、各测试项数据元、各测试用例数据元;
步骤3,需求更改
判断是否存在软件需求的更改,若存在,则更改软件需求的需求数据元,并更新所述的追踪矩阵;
若不存在,则执行步骤4;
步骤4,设计、编码更改
判断是否存在软件设计更改;若存在,则更改对应的详细设计数据元、接口设计数据元,并更改对应的软件源码数据元;若不存在更改,则判断是否存在软件源码更改;如存在,则更改对应的软件源码数据元;如软件源码数据元、详细设计数据元、接口设计数据元发生了变化,则更新所述的追踪矩阵;
步骤5,测试更改
包括静态测试和动态测试;如软件需求的需求数据元更改,则需要执行动态测试和静态测试;如果仅软件源码数据元发生更改,则仅需执行静态测试;
步骤6,缺陷管理
对于测试过程中发现的缺陷,软件测试人员录入自动化测试平台,生成测试缺陷报告单;平台根据设定的缺陷类型,选择性推送至软件设计和开发人员,并提醒其对缺陷进行处理;
步骤7,知识库更新
分别对各测试用例数据元和软件缺陷建立知识库,将各测试用例数据元加入测试用例库;对于由软件设计和开发人员确认更改后的典型缺陷,加入典型缺陷库。
进一步地,所述静态测试包括静态分析、代码审查、代码走查;代码发生变更,自动触发执行自动化静态分析和代码审查;通过python脚本调用SVN软件版本库自动获取版本更改前后的差异代码,再通过python脚本调用第三方静态分析工具,对差异代码自动执行静态分析;通过脚本调用第三方代码审查工具,对差异代码自动执行代码审查,最后人工方式对代码走查;
所述动态测试,测试人员根据需求更改数据元,变更测试项、变更测试用例、执行动态测试,记录回归测试结果。
进一步地,所述自动化测试平台包括需求开发与管理模块、设计开发与管理模块、测试管理模块以及自动生成追踪矩阵模块,其中:
所述需求开发与管理模块包括需求分解单元、需求追踪管理单元;其中:
需求分解单元用于根据用户提出的用户需求建立系统需求以及软件需求,将系统需求、软件需求作为输入,按照所述系统需求、软件需求所要实现的功能,对系统需求、软件需求进行分解处理,并将分解后的需求进行原子化处理,从而建立需求数据元;
需求追踪管理单元用于根据软件需求追踪系统需求,建立软件需求和系统需求之间需求的映射关系;
所述设计开发与管理模块包括软件详细设计单元、软件接口设计单元、软件编码实现单元、设计追踪管理单元,其中:
软件详细设计单元用于根据所述的软件需求的需求数据元逐项展开对应于所述需求数据元的功能设计,形成详细设计数据元;
软件接口设计单元用于根据所述的软件需求的需求数据元逐项展开对应于所述需求数据元的接口设计,形成接口设计数据元;
软件编码实现单元用于根据所述详细设计数据元、接口设计数据元通过编码进行软件详细设计和软件接口设计,从而形成软件源码数据元;
设计追踪管理单元用于建立详细设计数据元到软件需求的需求数据元之间的映射关系、软件源码数据元到所述详细设计数据元之间的映射关系;软件源码数据元到接口设计数据元之间的映射关系;
测试管理模块包括测试策划单元、测试用例编制单元、测试追踪管理单元、测试执行单元、测试结果记录单元、缺陷管理单元、回归测试单元,其中:
测试策划单元用于根据软件需求的需求数据元建立软件系统测试项数据元和软件配置项测试项数据元;依据所述详细设计数据元、接口设计数据元建立软件集成测试项数据元和软件单元测试项数据元;
测试用例编制单元用于根据系统测试项数据元编制系统测试用例数据元;依据配置项测试项数据元编制配置项测试用例数据元;依据集成测试项数据元编制集成测试用例数据元,依据单元测试项数据元编制单元测试用例数据元;
测试追踪管理单元用于建立软件单元测试项数据元到详细设计数据元和接口设计数据元之间的映射关系,建立软件集成测试项数据元到详细设计数据元和接口设计数据元之间的映射关系,建立软件配置项测试项数据元到软件需求的需求数据元之间的映射关系,建立软件系统测试项数据元到系统需求的需求数据元之间的映射关系,并建立各测试用例数据元到对应的测试项数据元之间的映射关系;
测试执行单元用于按照各测试用例数据元规定的执行步骤,执行对应的测试用例;
测试结果记录单元用于记录各测试用例数据元执行后的结果,并与预期结果比较,根据比较结果的不同执行对应的处理方式;
缺陷管理单元用于针对执行失败的测试用例数据元,确定存在的软件缺陷,形成缺陷数据元并按照模板生成问题报告单,以使软件设计开发人员根据所述问题报告单进行问题的修复;
回归测试单元用于对于已修复的问题,如果系统需求的需求数据元、软件需求的需求数据元、详细设计数据元、接口设计数据元发生改变时,根据映射关系追踪并标识出受影响的测试项数据元和测试用例数据元,以使测试人员对受影响的测试项数据元和测试用例数据元进行增补或更改;
自动生成追踪矩阵模块,用于根据各映射关系建立追踪矩阵,并进行展现。
进一步地,所述建立软件需求和系统需求之间需求的映射关系,包括:
建立软件需求的需求数据元与系统需求的需求数据元之间的映射关系。
进一步地,所述建立各测试用例数据元到对应的测试项数据元之间的映射关系,包括:
建立系统测试用例数据元到软件系统测试项数据元之间的映射关系、建立配置项测试用例数据元到软件配置项测试项数据元之间的映射关系、建立集成测试用例数据元到软件集成测试项数据元之间的映射关系、建立单元测试用例数据元到软件单元测试项数据元之间的映射关系。
进一步地,所述测试执行单元用于按照各测试用例数据元规定的执行步骤,执行对应的测试用例,包括:
执行系统测试用例数据元的系统测试,包括:通过驱动脚本启动第三方系统测试工具,自动读取系统测试用例数据元并执行,输出测试结果;
执行配置项测试用例数据元的配置项测试,包括:通过驱动脚本启动第三方配置项测试工具,自动读取配置项测试用例数据元并执行,输出测试结果;
执行集成测试用例数据元的集成测试,包括:通过驱动脚本启动第三方集成测试工具,自动读取集成测试用例数据元并执行,输出测试结果;
执行单元测试用例数据元的单元测试,通过驱动脚本启动第三方单元测试工具,自动读取单元测试用例数据元并执行,输出测试结果。
进一步地,所述与预期结果比较,根据比较结果的不同执行对应的处理方式,包括:
如果执行结果与预期结果相同,则执行成功,判定为通过;如果执行结果与预期结果不同,则执行失败,判定为不通过;各测试结果为测试结果数据元,依据测试结果数据元按照模板形成测试记录,并自动统计测试用例数和测试问题数。
进一步地,在回归测试单元中对于已修复的问题,如系统需求的需求数据元、软件需求的需求数据元、详细设计数据元、接口设计数据元未发生改变,则重新执行之前失败的测试用例数据元,并将执行结果记录到问题报告单中。
进一步地,所述需求开发与管理模块、设计开发与管理模块、测试管理模块中均包括用于进行功能记录的自动生成文档单元。
本发明提出了一种嵌入式软件自动化回归测试方法,该系统首先通过软件工程化将需求开发与管理、设计开发与管理、测试管理集成到一个统一平台。然后,平台自动建立追踪关系,自动对更改(需求更改、设计更改、源代码更改、测试项更改、测试用例更改)进行影响性分析。最后,平台通过调用第三方测试工具实现回归测试自动化。此过程中需要产生的文档平台可以按照模板自动生成;与现有技术相比,本发明具有以下技术特点:
1.通过实现需求、设计、编码、测试、执行不分离,能够使项目变更得到迅速响应;2.通过实现追踪矩阵的自动建立,能够快速实现影响域分析,避免遗漏,从而提高软件质量。3.通过实现回归测试自动化,能够提高测试效率、减少成本、缩短项目周期;4.通过实现文档的自动生成,能够减少人力成本、提高文档规范性。
附图说明
图1为本发明方法的流程示意图;
图2为本发明中自动化测试平台的结构示意图;
图3为自动化测试平台外部数据流;
图4为嵌入式软件自动化回归测试方法流程图。
具体实施方式
本发明提出了一种嵌入式软件自动化回归测试方法。该方法首先通过软件工程化将需求开发与管理、设计开发与管理、测试管理集成到一个统一平台。然后,平台自动建立追踪关系,自动对更改(需求更改、设计更改、源代码更改、测试项更改、测试用例更改)进行影响性分析;最后,平台通过调用第三方测试工具实现回归测试自动化。此过程中需要产生的文档平台可以按照模板自动生成。
参见图1,本发明的一种嵌入式软件自动化回归测试方法,包括以下步骤:
步骤1,建立自动化测试平台,所述平台包括需求开发与管理模块、设计开发与管理模块、测试管理模块以及自动生成追踪矩阵模块;其中,需求开发与管理模块用于根据系统需求、软件需求,按功能分解需求,将需求原子化处理;设计开发与管理模块用于逐项开展软件详细设计、软件接口设计、软件编码实现以及设计追踪管理;测试管理模块用于开展测试策划、测试用例编制、测试执行、测试结果记录、缺陷管理和回归测试;自动生成追踪矩阵模块用于建立追踪矩阵。
具体地,如图2所示,本发明中建立的自动化测试平台介绍如下:
所述包括需求开发与管理模块、设计开发与管理模块以及测试管理模块,其中:
1.需求开发与管理模块
包括需求分解单元、需求追踪管理单元;其中:
需求分解单元用于根据用户提出的用户需求建立系统需求以及软件需求,所述系统需求是指软件对所运行系统的需求,包括性能、运行环境、操作系统等;将系统需求、软件需求作为输入,按照所述系统需求、软件需求所要实现的功能,对系统需求、软件需求进行分解处理,并将分解后的需求进行原子化处理,从而建立需求数据元。
本方案中,数据元是指对应的功能点、操作、函数等;例如,对于软件需求的需求数据元,其中的每个需求数据元可以指软件需求所要实现的功能点,例如某软件需求要实现数据处理、数据分析的功能,则可将数据处理、数据分析分别作为一个需求数据元。对于各测试项的数据元,每个数据元可以是指该测试项中的一个测试需求,该测试需求对应于软件需求的需求数据元;对于各测试用例数据元;测试项数据元与测试用例数据元存在一对多的关系,一个测试项对应于多个测试用例。例如一个测试项需求为“翻页”功能,则对应的测试用例数据元则是针对于测试项需求设计的对应测试例,例如“上翻”、“下翻”等。
需求追踪管理单元用于根据软件需求追踪系统需求,建立软件需求和系统需求之间需求的映射关系,包括:建立软件需求的需求数据元与系统需求的需求数据元之间的映射关系。
所述需求开发与管理模块还可以包括自动生成文档单元,用于根据需求数据元,按照模板自动生成软件需求规格说明文档。
2.设计开发与管理模块
包括软件详细设计单元、软件接口设计单元、软件编码实现单元、设计追踪管理单元,其中:
软件详细设计单元用于根据所述的软件需求的需求数据元逐项展开对应于所述需求数据元的功能设计,形成详细设计数据元;其中,详细设计包括:“设计名称”、“设计输入”、“设计输出”、“设计描述”等。
软件接口设计单元用于根据所述的软件需求的需求数据元逐项展开对应于所述需求数据元的接口设计,形成接口设计数据元;其中,接口设计包括:“数据传输”、“数据项名称”、“数据大小”、“数据顺序”和“具体含义”等。
软件编码实现单元用于根据所述详细设计数据元、接口设计数据元通过编码进行软件详细设计和软件接口设计,从而形成软件源码数据元;
设计追踪管理单元用于建立详细设计数据元到软件需求的需求数据元之间的映射关系、软件源码数据元到所述详细设计数据元之间的映射关系;软件源码数据元到接口设计数据元之间的映射关系。
该模块还可以进一步包括自动生成文档单元:依据详细设计数据元,按照模板自动生成软件详细设计文档;依据接口设计数据元,按照模板自动生成软件接口设计文档。
3.测试管理模块
包括测试策划单元、测试用例编制单元、测试追踪管理单元、测试执行单元、测试结果记录单元、缺陷管理单元、回归测试单元,其中:
测试策划单元用于根据软件需求的需求数据元建立软件系统测试项数据元和软件配置项测试项数据元;依据所述详细设计数据元、接口设计数据元建立软件集成测试项数据元和软件单元测试项数据元;并可以依据测试项数据元按照模板自动生成软件测试计划文档。
测试用例编制单元用于根据系统测试项数据元编制系统测试用例数据元;依据配置项测试项数据元编制配置项测试用例数据元;依据集成测试项数据元编制集成测试用例数据元,依据单元测试项数据元编制单元测试用例数据元;依据测试用例数据元按照模板自动生成软件测试说明文档和软件测试用例集文档。
测试追踪管理单元用于建立软件单元测试项数据元到详细设计数据元和接口设计数据元之间的映射关系,建立软件集成测试项数据元到详细设计数据元和接口设计数据元之间的映射关系,建立软件配置项测试项数据元到软件需求的需求数据元之间的映射关系,建立软件系统测试项数据元到系统需求的需求数据元之间的映射关系,并建立各测试用例数据元到对应的测试项数据元之间的映射关系,具体为:建立系统测试用例数据元到软件系统测试项数据元之间的映射关系、建立配置项测试用例数据元到软件配置项测试项数据元之间的映射关系、建立集成测试用例数据元到软件集成测试项数据元之间的映射关系、建立单元测试用例数据元到软件单元测试项数据元之间的映射关系。
测试执行单元用于按照各测试用例数据元规定的执行步骤,执行对应的测试用例,具体包括:
执行系统测试用例数据元的系统测试,包括:通过驱动脚本启动第三方系统测试工具,自动读取系统测试用例数据元并执行,输出测试结果;
执行配置项测试用例数据元的配置项测试,包括:通过驱动脚本启动第三方配置项测试工具,自动读取配置项测试用例数据元并执行,输出测试结果;
执行集成测试用例数据元的集成测试,包括:通过驱动脚本启动第三方集成测试工具,自动读取集成测试用例数据元并执行,输出测试结果;
执行单元测试用例数据元的单元测试,通过驱动脚本启动第三方单元测试工具,自动读取单元测试用例数据元并执行,输出测试结果。
测试结果记录单元用于记录各测试用例数据元执行后的结果,并与预期结果比较,根据比较结果的不同执行对应的处理方式,具体为:
如果执行结果与预期结果相同,则执行成功,判定为通过;如果执行结果与预期结果不同,则执行失败,判定为不通过;各测试结果为测试结果数据元,依据测试结果数据元按照模板形成测试记录,并自动统计测试用例数和测试问题数。
缺陷管理单元用于针对执行失败的测试用例数据元,确定存在的软件缺陷,形成缺陷数据元并按照模板生成问题报告单,以使软件设计开发人员根据所述问题报告单进行问题的修复;将报告单反馈给设计开发人员后,关闭问题报告单。
回归测试单元用于对于已修复的问题,如果系统需求的需求数据元、软件需求的需求数据元、详细设计数据元、接口设计数据元发生改变时,根据映射关系追踪并标识出受影响的测试项数据元和测试用例数据元,以使测试人员对受影响的测试项数据元和测试用例数据元进行增补或更改。另外,在回归测试单元中对于已修复的问题,如系统需求的需求数据元、软件需求的需求数据元、详细设计数据元、接口设计数据元未发生改变,则重新执行之前失败的测试用例数据元,并将执行结果记录到问题报告单中。
本发明的所述软件自动化测试系统还包括自动生成追踪矩阵模块,用于根据各映射关系建立追踪矩阵,并进行展现,以详细展现各节点之间的关联关系,这样在需求、内容等调整后,便于定位与之相关联的功能模块、单元,便于进行影响性分析。
步骤2,自动化影响性分析
自动化测试平台依据输入,通过追踪矩阵进行影响性分析;根据追踪矩阵中记录的映射关系,标识出受影响的需求数据元、详细设计数据元、接口设计数据元、各测试项数据元、各测试用例数据元;
步骤3,需求更改
判断是否存在软件需求的更改,若存在,则更改软件需求的需求数据元,并更新所述的追踪矩阵;其中,软件需求更改是指,例如问题更改、代码完善等。若不存在,则执行步骤4。
步骤4,设计、编码更改
判断是否存在软件设计更改;若存在,则更改对应的详细设计数据元、接口设计数据元,并更改对应的软件源码数据元;若不存在更改,则判断是否存在软件源码更改;如存在,则更改对应的软件源码数据元;更改后的软件源码数据元导入SVN代码版本控制库。如软件源码数据元、详细设计数据元、接口设计数据元发生了变化,则更新所述的追踪矩阵;
步骤5,测试更改
包括静态测试和动态测试;根据需求、设计、编码更改情况确定测试更改内容。如软件需求的需求数据元更改,则需要执行动态测试和静态测试;如果仅软件源码数据元发生更改,则仅需执行静态测试。所述静态测试包括静态分析、代码审查、代码走查;代码发生变更,自动触发执行自动化静态分析和代码审查;通过python脚本调用SVN软件版本库自动获取版本更改前后的差异代码,再通过python脚本调用第三方静态分析工具,对差异代码自动执行静态分析;通过脚本调用第三方代码审查工具,对差异代码自动执行代码审查,最后人工方式对代码走查;
所述动态测试,测试人员根据需求更改数据元,变更测试项、变更测试用例、执行动态测试,记录回归测试结果。变更数据元的同时进行追踪矩阵的更新。
步骤6,缺陷管理
对于测试过程中发现的缺陷,软件测试人员录入自动化测试平台,生成测试缺陷报告单;平台根据设定的缺陷类型,选择性推送至软件设计和开发人员,并提醒其对缺陷进行处理。
步骤7,知识库更新
分别对各测试用例数据元和软件缺陷建立知识库,将各测试用例数据元加入测试用例库;对于由软件设计和开发人员确认更改后的典型缺陷,加入典型缺陷库。
以上实施例仅用于说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行同等替换;而这些修改或替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (7)

1.一种嵌入式软件自动化回归测试方法,其特征在于,包括以下步骤:
步骤1,建立自动化测试平台,所述平台包括需求开发与管理模块、设计开发与管理模块、测试管理模块以及自动生成追踪矩阵模块;其中,需求开发与管理模块用于根据系统需求、软件需求,按功能分解需求,将需求原子化处理;设计开发与管理模块用于逐项开展软件详细设计、软件接口设计、软件编码实现以及设计追踪管理;测试管理模块用于开展测试策划、测试用例编制、测试执行、测试结果记录、缺陷管理和回归测试;自动生成追踪矩阵模块用于建立追踪矩阵;
步骤2,自动化影响性分析
自动化测试平台依据输入,通过追踪矩阵进行影响性分析;根据追踪矩阵中记录的映射关系,标识出受影响的需求数据元、详细设计数据元、接口设计数据元、各测试项数据元、各测试用例数据元;
步骤3,需求更改
判断是否存在软件需求的更改,若存在,则更改软件需求的需求数据元,并更新所述的追踪矩阵;
若不存在,则执行步骤4;
步骤4,设计、编码更改
判断是否存在软件设计更改;若存在,则更改对应的详细设计数据元、接口设计数据元,并更改对应的软件源码数据元;若不存在更改,则判断是否存在软件源码更改;如存在,则更改对应的软件源码数据元;如软件源码数据元、详细设计数据元、接口设计数据元发生了变化,则更新所述的追踪矩阵;
步骤5,测试更改
包括静态测试和动态测试;如软件需求的需求数据元更改,则需要执行动态测试和静态测试;如果仅软件源码数据元发生更改,则仅需执行静态测试;
步骤6,缺陷管理
对于测试过程中发现的缺陷,软件测试人员录入自动化测试平台,生成测试缺陷报告单;平台根据设定的缺陷类型,选择性推送至软件设计和开发人员,并提醒其对缺陷进行处理;
步骤7,知识库更新
分别对各测试用例数据元和软件缺陷建立知识库,将各测试用例数据元加入测试用例库;对于由软件设计和开发人员确认更改后的典型缺陷,加入典型缺陷库;
所述静态测试包括静态分析、代码审查、代码走查;代码发生变更,自动触发执行自动化静态分析和代码审查;通过python脚本调用SVN软件版本库自动获取版本更改前后的差异代码,再通过python脚本调用第三方静态分析工具,对差异代码自动执行静态分析;通过脚本调用第三方代码审查工具,对差异代码自动执行代码审查,最后人工方式对代码走查;
所述动态测试,测试人员根据需求更改数据元,变更测试项、变更测试用例、执行动态测试,记录回归测试结果;
所述自动化测试平台包括需求开发与管理模块、设计开发与管理模块、测试管理模块以及自动生成追踪矩阵模块,其中:
所述需求开发与管理模块包括需求分解单元、需求追踪管理单元;其中:
需求分解单元用于根据用户提出的用户需求建立系统需求以及软件需求,将系统需求、软件需求作为输入,按照所述系统需求、软件需求所要实现的功能,对系统需求、软件需求进行分解处理,并将分解后的需求进行原子化处理,从而建立需求数据元;
需求追踪管理单元用于根据软件需求追踪系统需求,建立软件需求和系统需求之间需求的映射关系;
所述设计开发与管理模块包括软件详细设计单元、软件接口设计单元、软件编码实现单元、设计追踪管理单元,其中:
软件详细设计单元用于根据所述的软件需求的需求数据元逐项展开对应于所述需求数据元的功能设计,形成详细设计数据元;
软件接口设计单元用于根据所述的软件需求的需求数据元逐项展开对应于所述需求数据元的接口设计,形成接口设计数据元;
软件编码实现单元用于根据所述详细设计数据元、接口设计数据元通过编码进行软件详细设计和软件接口设计,从而形成软件源码数据元;
设计追踪管理单元用于建立详细设计数据元到软件需求的需求数据元之间的映射关系、软件源码数据元到所述详细设计数据元之间的映射关系;软件源码数据元到接口设计数据元之间的映射关系;
测试管理模块包括测试策划单元、测试用例编制单元、测试追踪管理单元、测试执行单元、测试结果记录单元、缺陷管理单元、回归测试单元,其中:
测试策划单元用于根据软件需求的需求数据元建立软件系统测试项数据元和软件配置项测试项数据元;依据所述详细设计数据元、接口设计数据元建立软件集成测试项数据元和软件单元测试项数据元;
测试用例编制单元用于根据系统测试项数据元编制系统测试用例数据元;依据配置项测试项数据元编制配置项测试用例数据元;依据集成测试项数据元编制集成测试用例数据元,依据单元测试项数据元编制单元测试用例数据元;
测试追踪管理单元用于建立软件单元测试项数据元到详细设计数据元和接口设计数据元之间的映射关系,建立软件集成测试项数据元到详细设计数据元和接口设计数据元之间的映射关系,建立软件配置项测试项数据元到软件需求的需求数据元之间的映射关系,建立软件系统测试项数据元到系统需求的需求数据元之间的映射关系,并建立各测试用例数据元到对应的测试项数据元之间的映射关系;
测试执行单元用于按照各测试用例数据元规定的执行步骤,执行对应的测试用例;
测试结果记录单元用于记录各测试用例数据元执行后的结果,并与预期结果比较,根据比较结果的不同执行对应的处理方式;
缺陷管理单元用于针对执行失败的测试用例数据元,确定存在的软件缺陷,形成缺陷数据元并按照模板生成问题报告单,以使软件设计开发人员根据所述问题报告单进行问题的修复;
回归测试单元用于对于已修复的问题,如果系统需求的需求数据元、软件需求的需求数据元、详细设计数据元、接口设计数据元发生改变时,根据映射关系追踪并标识出受影响的测试项数据元和测试用例数据元,以使测试人员对受影响的测试项数据元和测试用例数据元进行增补或更改;
自动生成追踪矩阵模块,用于根据各映射关系建立追踪矩阵,并进行展现。
2.根据权利要求1所述的嵌入式软件自动化回归测试方法,其特征在于,所述建立软件需求和系统需求之间需求的映射关系,包括:
建立软件需求的需求数据元与系统需求的需求数据元之间的映射关系。
3.根据权利要求1所述的嵌入式软件自动化回归测试方法,其特征在于,所述建立各测试用例数据元到对应的测试项数据元之间的映射关系,包括:
建立系统测试用例数据元到软件系统测试项数据元之间的映射关系、建立配置项测试用例数据元到软件配置项测试项数据元之间的映射关系、建立集成测试用例数据元到软件集成测试项数据元之间的映射关系、建立单元测试用例数据元到软件单元测试项数据元之间的映射关系。
4.根据权利要求1所述的嵌入式软件自动化回归测试方法,其特征在于,所述测试执行单元用于按照各测试用例数据元规定的执行步骤,执行对应的测试用例,包括:
执行系统测试用例数据元的系统测试,包括:通过驱动脚本启动第三方系统测试工具,自动读取系统测试用例数据元并执行,输出测试结果;
执行配置项测试用例数据元的配置项测试,包括:通过驱动脚本启动第三方配置项测试工具,自动读取配置项测试用例数据元并执行,输出测试结果;
执行集成测试用例数据元的集成测试,包括:通过驱动脚本启动第三方集成测试工具,自动读取集成测试用例数据元并执行,输出测试结果;
执行单元测试用例数据元的单元测试,通过驱动脚本启动第三方单元测试工具,自动读取单元测试用例数据元并执行,输出测试结果。
5.根据权利要求1所述的嵌入式软件自动化回归测试方法,其特征在于,所述与预期结果比较,根据比较结果的不同执行对应的处理方式,包括:
如果执行结果与预期结果相同,则执行成功,判定为通过;如果执行结果与预期结果不同,则执行失败,判定为不通过;各测试结果为测试结果数据元,依据测试结果数据元按照模板形成测试记录,并自动统计测试用例数和测试问题数。
6.根据权利要求1所述的嵌入式软件自动化回归测试方法,其特征在于,在回归测试单元中对于已修复的问题,如系统需求的需求数据元、软件需求的需求数据元、详细设计数据元、接口设计数据元未发生改变,则重新执行之前失败的测试用例数据元,并将执行结果记录到问题报告单中。
7.根据权利要求1所述的嵌入式软件自动化回归测试方法,其特征在于,所述需求开发与管理模块、设计开发与管理模块、测试管理模块中均包括用于进行功能记录的自动生成文档单元。
CN202011022176.9A 2020-09-25 2020-09-25 一种嵌入式软件自动化回归测试方法 Active CN112131116B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011022176.9A CN112131116B (zh) 2020-09-25 2020-09-25 一种嵌入式软件自动化回归测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011022176.9A CN112131116B (zh) 2020-09-25 2020-09-25 一种嵌入式软件自动化回归测试方法

Publications (2)

Publication Number Publication Date
CN112131116A CN112131116A (zh) 2020-12-25
CN112131116B true CN112131116B (zh) 2023-06-27

Family

ID=73839497

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011022176.9A Active CN112131116B (zh) 2020-09-25 2020-09-25 一种嵌入式软件自动化回归测试方法

Country Status (1)

Country Link
CN (1) CN112131116B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112667507A (zh) * 2020-12-28 2021-04-16 上海科梁信息工程股份有限公司 一种嵌入式软件需求管理方法、系统及电子设备
CN112817623B (zh) * 2021-01-26 2021-10-08 北京自如信息科技有限公司 应用程序的发版方法、装置、移动终端及可读存储介质
CN113642306A (zh) * 2021-07-29 2021-11-12 一汽奔腾轿车有限公司 一种电气功能测试的测试问题的管理方法及管理系统
CN114398291B (zh) * 2022-01-25 2023-06-13 中国电子科技集团公司第十研究所 一种软件回归测试影响域分析方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103106138A (zh) * 2011-11-15 2013-05-15 阿里巴巴集团控股有限公司 测试用例与测试脚本同步的方法及装置
CN104407971A (zh) * 2014-11-18 2015-03-11 中国电子科技集团公司第十研究所 自动化测试嵌入式软件的方法
CN105117335A (zh) * 2015-08-26 2015-12-02 卡斯柯信号有限公司 一种用于软件单元的自动化验证及回归测试方法
CN107315679A (zh) * 2017-05-12 2017-11-03 昆明奥多智能科技有限公司 一种嵌入式软件自动化确认测试方法及测试系统
CN111597115A (zh) * 2020-05-19 2020-08-28 上海航天计算机技术研究所 一种嵌入式操作系统自动化闭环测试系统及测试方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1680741B1 (en) * 2003-11-04 2012-09-05 Kimberly-Clark Worldwide, Inc. Testing tool for complex component based software systems
US7603653B2 (en) * 2004-03-15 2009-10-13 Ramco Systems Limited System for measuring, controlling, and validating software development projects

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103106138A (zh) * 2011-11-15 2013-05-15 阿里巴巴集团控股有限公司 测试用例与测试脚本同步的方法及装置
CN104407971A (zh) * 2014-11-18 2015-03-11 中国电子科技集团公司第十研究所 自动化测试嵌入式软件的方法
CN105117335A (zh) * 2015-08-26 2015-12-02 卡斯柯信号有限公司 一种用于软件单元的自动化验证及回归测试方法
CN107315679A (zh) * 2017-05-12 2017-11-03 昆明奥多智能科技有限公司 一种嵌入式软件自动化确认测试方法及测试系统
CN111597115A (zh) * 2020-05-19 2020-08-28 上海航天计算机技术研究所 一种嵌入式操作系统自动化闭环测试系统及测试方法

Also Published As

Publication number Publication date
CN112131116A (zh) 2020-12-25

Similar Documents

Publication Publication Date Title
CN112131116B (zh) 一种嵌入式软件自动化回归测试方法
US11494295B1 (en) Automated software bug discovery and assessment
Berner et al. Observations and lessons learned from automated testing
US10127141B2 (en) Electronic technology resource evaluation system
US8549483B1 (en) Engine for scalable software testing
US8881109B1 (en) Runtime documentation of software testing
US20170228220A1 (en) Self-healing automated script-testing tool
CN108845940B (zh) 一种企业级信息系统自动化功能测试方法和系统
US11651272B2 (en) Machine-learning-facilitated conversion of database systems
US20080010535A1 (en) Automated and configurable system for tests to be picked up and executed
CN104407971A (zh) 自动化测试嵌入式软件的方法
CN112486557A (zh) 基于Devops的完整生命周期管理平台及方法
CN115454869A (zh) 界面自动化测试方法、装置、设备及存储介质
CN110990274A (zh) 一种生成测试案例的数据处理方法、装置及系统
CN110928760B (zh) 一种嵌入式系统中的单元测试方法与装置
CN111679977B (zh) 一种基于Jest的React项目单元测试方法、设备及存储介质
CN112052181B (zh) 基于软件工程化的嵌入式软件自动化测试系统
US20070198927A1 (en) Computer-implemented systems and methods for an automated application interface
US20200125480A1 (en) Intelligent unitizer test plug-in
KR20120111618A (ko) Plc 명령어 테스트 장치 및 방법
KR102201845B1 (ko) 멀티 태스크 기반 소프트웨어의 자동화 단위 테스트 방법 및 그를 위한 시스템
WO2021131435A1 (ja) プログラム開発支援システム及びプログラム開発支援方法
Lim et al. Survey on quality assurance testing on service oriented architecture
CN114756217B (zh) 基于插件的脚本生成系统
CN113742249B (zh) 一种基于桌面操作系统的测试脚本颗粒化方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant