CN111078574A - 生成影响分析报告的方法及装置 - Google Patents
生成影响分析报告的方法及装置 Download PDFInfo
- Publication number
- CN111078574A CN111078574A CN201911370248.6A CN201911370248A CN111078574A CN 111078574 A CN111078574 A CN 111078574A CN 201911370248 A CN201911370248 A CN 201911370248A CN 111078574 A CN111078574 A CN 111078574A
- Authority
- CN
- China
- Prior art keywords
- software
- document
- target
- change
- current
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3696—Methods or tools to render software testable
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种生成影响分析报告的方法及装置,涉及软件测试技术领域,其目的在于提高生成影响分析报告的准确率和工作效率。本发明的方法包括:获取目标软件对应的软件研发文档、历史源代码及当前源代码,软件研发文档中包括:目标软件对应的当前软件需求文档、当前软件概要设计文档、当前软件详细设计文档;根据历史源代码和当前源代码,确定目标软件对应的多个变更代码段;根据多个变更代码段和当前源代码,确定每个变更代码段对应的关联代码段;根据当前软件需求文档、当前软件概要设计文档、当前软件详细设计文档以及每个关联代码段,生成影响分析报告。本发明适用于生成回归测试影响分析报告的过程中。
Description
技术领域
本发明涉及软件测试技术领域,特别是涉及一种生成影响分析报告的方法及装置。
背景技术
在软件生命周期内的任何一个阶段,当软件存在缺陷或者软件需求发生变更时,开发工作人员需要对软件的部分源代码进行修改。在完成修改后,测试工作人员除了需要对修改部分的源代码对应的软件功能进行测试,还需要对修改部分的源代码可能影响到的软件功能进行测试,即测试工作人员需要对修改后的软件进行回归测试。为了能够有效地进行回归测试,测试工作人员需要在回归测试前,进行回归测试影响分析,即分析修改部分的源代码会影响到哪些软件功能以及需要进行哪些测试,再根据分析结果制定影响分析报告,以便后续根据影响分析报告对修改后的软件进行回归测试。
目前,测试工作人员通常是根据变更后的软件研发文档(如软件需求文档、软件概要设计文档、当前软件详细设计文档等)和修改部分的源代码对应的软件功能,分析修改部分的源代码会影响到哪些软件功能以及需要进行哪些测试,再根据分析结果自行制定影响分析报告;然而,由测试工作人员根据经验主观分析修改部分的源代码会影响到哪些软件功能,存在分析结果不准确的可能性(即测试工作人员分析出的多个软件功能,并非是修改部分的源代码会影响到所有软件功能),从而会导致制定的影响分析报告的测试范围不准确的情况发生;并且,由测试工作人员人工制定影响分析报告会耗费大量的时间,因此,由测试工作人员人工制定影响分析报告的准确率较低、工作效率较低。
发明内容
有鉴于此,本发明提供一种生成影响分析报告的方法及装置,主要目的在于提高生成影响分析报告的准确率和工作效率。
为了解决上述问题,本发明主要提供如下技术方案:
一方面,本发明提供了一种生成影响分析报告的方法,所述方法包括:
获取目标软件对应的软件研发文档、历史源代码及当前源代码,所述软件研发文档中包括:所述目标软件对应的当前软件需求文档、当前软件概要设计文档、当前软件详细设计文档;
根据所述历史源代码和所述当前源代码,确定所述目标软件对应的多个变更代码段;
根据多个所述变更代码段和所述当前源代码,确定每个所述变更代码段对应的关联代码段;
根据所述当前软件需求文档、所述当前软件概要设计文档、所述当前软件详细设计文档以及每个所述关联代码段,生成影响分析报告。
可选的,所述软件详细设计文档中包含多个详细设计标签,所述详细设计标签中包含所述详细设计标签对应的代码段的相关信息以及所述详细设计标签对应的概要设计标签的标签号;所述软件概要设计文档中包含多个概要设计标签,所述概要设计标签中包含所述概要设计标签的标签号以及所述概要设计标签对应的软件需求标签的标签号;所述当前软件需求文档中包含多个软件需求标签及每个所述软件需求标签对应的软件需求内容,所述软件需求标签中包含所述软件需求标签的标签号,所述软件需求内容中包含所述软件需求标签对应的软件功能;所述根据所述当前软件需求文档、所述当前软件概要设计文档、所述当前软件详细设计文档以及每个所述关联代码段,生成影响分析报告,包括:
从每个所述关联代码段中提取每个所述关联代码段的相关信息;
根据每个所述关联代码段的相关信息确定每个所述关联代码段对应的目标详细设计标签;
根据每个所述目标详细设计标签的标签号确定每个所述关联代码段对应的目标概要设计标签;
根据每个所述目标概要设计标签的标签号确定每个所述关联代码段对应的目标软件需求标签;
根据每个所述目标软件需求标签对应的软件需求内容确定每个所述关联代码段对应的目标软件功能;
获取每个所述目标软件功能对应的目标测试项,并将多个所述目标软件功能及每个所述目标软件功能对应的目标测试项添加至预置影响分析模板中,以生成所述影响分析报告。
可选的,在所述获取目标软件对应的软件研发文档、历史源代码及当前源代码之前,所述方法还包括:
获取多个待测试软件功能以及每个所述待测试软件功能对应的测试项;
将每个所述待测试软件功能与其对应的测试项之间的映射关系进行存储;
所述获取每个所述目标软件功能对应的目标测试项,包括:
在所述映射关系中获取每个所述目标软件功能对应的目标测试项。
可选的,所述根据所述历史源代码和所述当前源代码,确定所述目标软件对应的多个变更代码段,包括:
使用预置文本比对分析工具对所述历史源代码和所述当前源代码进行比对分析处理,以确定所述目标软件对应的多个变更代码段。
可选的,所述软件研发文档中还包括:所述目标软件对应的历史软件需求文档;在所述根据所述历史源代码和所述当前源代码,确定所述目标软件对应的多个变更代码段之后,所述方法还包括:
根据多个所述变更代码段、所述当前软件概要设计文档、所述当前软件详细设计文档,确定所述目标软件对应的多个第一变更软件需求标签;
根据所述历史软件需求文档和所述当前软件需求文档,确定所述目标软件对应的多个第二变更软件需求标签;
对多个所述第一变更软件需求标签和多个所述第二变更软件需求标签进行比对处理,以获得比对结果。
可选的,所述软件详细设计文档中包含多个详细设计标签,所述详细设计标签中包含所述详细设计标签对应的代码段的相关信息以及所述详细设计标签对应的概要设计标签的标签号;所述软件概要设计文档中包含多个概要设计标签,所述概要设计标签中包含所述概要设计标签的标签号以及所述概要设计标签对应的软件需求标签的标签号;所述根据多个所述变更代码段、所述当前软件概要设计文档、所述当前软件详细设计文档,确定所述目标软件对应的多个第一变更软件需求标签,包括:
从每个所述变更代码段中提取每个所述变更代码段的相关信息;
根据每个所述变更代码段的相关信息确定每个所述变更代码段对应的变更详细设计标签;
根据每个所述变更详细设计标签的标签号确定每个所述变更代码段对应的变更概要设计标签;
根据每个所述变更概要设计标签的标签号确定每个所述变更代码段对应的第一变更软件需求标签。
可选的,在所述根据所述当前软件需求文档、所述当前软件概要设计文档、所述当前软件详细设计文档以及每个所述关联代码段,生成影响分析报告之后,所述方法还包括:
将所述比对结果添加至所述影响分析报告中。
可选的,所述根据所述历史软件需求文档和所述当前软件需求文档,确定所述目标软件对应的多个第二变更软件需求标签,包括:
使用所述预置文本比对分析工具对所述历史软件需求文档和所述当前软件需求文档进行比对分析处理,以确定所述目标软件对应的多个第二变更软件需求标签。
可选的,所述根据多个所述变更代码段和所述当前源代码,确定每个所述变更代码段对应的关联代码段,包括:
使用预置代码分析器对多个所述变更代码段和所述当前源代码进行分析处理,以确定每个所述变更代码段对应的关联代码段。
为了实现上述目的,根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时,实现上述所述的生成影响分析报告的方法。
为了实现上述目的,根据本发明的另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序运行时实现上述所述的生成影响分析报告的方法。
另一方面,本发明还提供一种生成影响分析报告的装置,所述装置包括:
第一获取单元,用于获取目标软件对应的软件研发文档、历史源代码及当前源代码,所述软件研发文档中包括:所述目标软件对应的当前软件需求文档、当前软件概要设计文档、当前软件详细设计文档;
第一确定单元,用于根据所述历史源代码和所述当前源代码,确定所述目标软件对应的多个变更代码段;
第二确定单元,用于根据多个所述变更代码段和所述当前源代码,确定每个所述变更代码段对应的关联代码段;
生成单元,用于根据所述当前软件需求文档、所述当前软件概要设计文档、所述当前软件详细设计文档以及每个所述关联代码段,生成影响分析报告。
可选的,所述软件详细设计文档中包含多个详细设计标签,所述详细设计标签中包含所述详细设计标签对应的代码段的相关信息以及所述详细设计标签对应的概要设计标签的标签号;所述软件概要设计文档中包含多个概要设计标签,所述概要设计标签中包含所述概要设计标签的标签号以及所述概要设计标签对应的软件需求标签的标签号;所述当前软件需求文档中包含多个软件需求标签及每个所述软件需求标签对应的软件需求内容,所述软件需求标签中包含所述软件需求标签的标签号,所述软件需求内容中包含所述软件需求标签对应的软件功能;所述生成单元包括:
第一提取模块,用于从每个所述关联代码段中提取每个所述关联代码段的相关信息;
第一确定模块,用于根据每个所述关联代码段的相关信息确定每个所述关联代码段对应的目标详细设计标签;
第二确定模块,用于根据每个所述目标详细设计标签的标签号确定每个所述关联代码段对应的目标概要设计标签;
第三确定模块,用于根据每个所述目标概要设计标签的标签号确定每个所述关联代码段对应的目标软件需求标签;
第四确定模块,用于根据每个所述目标软件需求标签对应的软件需求内容确定每个所述关联代码段对应的目标软件功能;
获取模块,用于获取每个所述目标软件功能对应的目标测试项;
生成模块,用于将多个所述目标软件功能及每个所述目标软件功能对应的目标测试项添加至预置影响分析模板中,以生成所述影响分析报告。
可选的,所述装置还包括:
第二获取单元,用于在所述第一获取单元获取目标软件对应的软件研发文档、历史源代码及当前源代码之前,获取多个待测试软件功能以及每个所述待测试软件功能对应的测试项;
存储单元,用于将每个所述待测试软件功能与其对应的测试项之间的映射关系进行存储;
所述获取模块,具体用于在所述映射关系中获取每个所述目标软件功能对应的目标测试项。
可选的,所述第一确定单元,具体用于使用预置文本比对分析工具对所述历史源代码和所述当前源代码进行比对分析处理,以确定所述目标软件对应的多个变更代码段。
可选的,所述软件研发文档中还包括:所述目标软件对应的历史软件需求文档;所述装置还包括:
第三确定单元,用于在所述第一确定单元根据所述历史源代码和所述当前源代码,确定所述目标软件对应的多个变更代码段之后,根据多个所述变更代码段、所述当前软件概要设计文档、所述当前软件详细设计文档,确定所述目标软件对应的多个第一变更软件需求标签;
第四确定单元,用于根据所述历史软件需求文档和所述当前软件需求文档,确定所述目标软件对应的多个第二变更软件需求标签;
获得单元,用于对多个所述第一变更软件需求标签和多个所述第二变更软件需求标签进行比对处理,以获得比对结果。
可选的,所述软件详细设计文档中包含多个详细设计标签,所述详细设计标签中包含所述详细设计标签对应的代码段的相关信息以及所述详细设计标签对应的概要设计标签的标签号;所述软件概要设计文档中包含多个概要设计标签,所述概要设计标签中包含所述概要设计标签的标签号以及所述概要设计标签对应的软件需求标签的标签号;所述第三确定单元包括:
第二提取模块,用于从每个所述变更代码段中提取每个所述变更代码段的相关信息;
第五确定模块,用于根据每个所述变更代码段的相关信息确定每个所述变更代码段对应的变更详细设计标签;
第六确定模块,用于根据每个所述变更详细设计标签的标签号确定每个所述变更代码段对应的变更概要设计标签;
第七确定模块,用于根据每个所述变更概要设计标签的标签号确定每个所述变更代码段对应的第一变更软件需求标签。
可选的,所述装置还包括:
添加单元,用于在所述生成单元根据所述当前软件需求文档、所述当前软件概要设计文档、所述当前软件详细设计文档以及每个所述关联代码段,生成影响分析报告之后,将所述比对结果添加至所述影响分析报告中。
可选的,所述第四确定单元,具体用于使用所述预置文本比对分析工具对所述历史软件需求文档和所述当前软件需求文档进行比对分析处理,以确定所述目标软件对应的多个第二变更软件需求标签。
可选的,所述第二确定单元,具体用于使用预置代码分析器对多个所述变更代码段和所述当前源代码进行分析处理,以确定每个所述变更代码段对应的关联代码段。
借由上述技术方案,本发明提供的技术方案至少具有下列优点:
本发明提供一种生成影响分析报告的方法及装置,与现有技术中由测试工作人员人工制定影响分析报告相比,本发明能够在影响分析应用程序获取得到目标软件对应的软件研发文档(即目标软件对应的当前软件需求文档、当前软件概要设计文档、当前软件详细设计文档)、历史源代码及当前源代码后,影响分析应用程序根据目标软件对应的历史源代码和当前源代码确定目标软件对应的多个变更代码段,再根据目标软件对应的多个变更代码段和当前源代码确定每个变更代码段对应的关联代码段,最后根据目标软件对应的当前软件需求文档、当前软件概要设计文档、当前软件详细设计文档,确定每个关联代码段对应的目标软件功能,并根据每个关联代码段对应的目标软件功能,生成目标软件对应的影响分析报告。由于,确定的变更代码段为包含修改部分源代码的整段源代码,而变更代码段对应的关联代码段为调用该变更代码段所属模块(或所属函数)的模块(或函数)对应的整段源代码和/或该变更代码段所属模块(或所属函数)调用的模块(或函数)对应的整段源代码,因此,多个关联代码段对应的多个目标软件功能即为目标软件中所有修改部分源代码会影响到的软件功能,从而使得基于多个关联代码段生成影响分析报告,能够有效提升生成的影响分析报告的准确率;此外,由于,在本发明中无需测试工作人员参与生成影响分析报告,因此,能够有效提升生成影响分析报告的工作效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种生成影响分析报告的方法流程图;
图2示出了本发明实施例提供的另一种生成影响分析报告的方法流程图;
图3示出了本发明实施例提供的一种生成影响分析报告的装置的组成框图;
图4示出了本发明实施例提供的另一种生成影响分析报告的装置的组成框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种生成影响分析报告的方法,如图1所示,该方法包括:
101、获取目标软件对应的软件研发文档、历史源代码及当前源代码。
其中,目标软件为修改后的软件;目标软件对应的软件研发文档中包括:目标软件对应的当前软件需求文档、当前软件概要设计文档、当前软件详细设计文档;其中,当前软件需求文档为当前版本目标软件对应的软件需求文档,当前软件概要设计文档为当前版本目标软件对应的软件概要设计文档,当前软件详细设计文档为当前版本目标软件对应的软件详细设计文档;其中,目标软件对应的历史源代码为上一版本目标软件的源代码(即修改前的目标软件对应的源代码),目标软件对应的当前源代码为当前版本目标软件的源代码。
在本发明实施例中,各个步骤中的执行主体为运行在终端设备中的影响分析应用程序,其中,终端设备可以但不限于为:计算机、笔记本电脑、平板电脑等等。为了对目标软件进行回归测试影响分析,并生成目标软件对应的影响分析报告,影响分析应用程序首先需要获取目标软件对应的软件研发文档(即目标软件对应的当前软件需求文档、当前软件概要设计文档、当前软件详细设计文档)、历史源代码及当前源代码。
102、根据历史源代码和当前源代码,确定目标软件对应的多个变更代码段。
其中,目标软件对应的变更代码段为当前版本目标软件中的某个模块对应的整段源代码,或当前版本目标软件中的某个函数对应的整段源代码。
在本发明实施例中,影响分析应用程序在获取得到目标软件对应的软件研发文档、历史源代码及当前源代码后,需要根据目标软件对应的历史源代码和当前源代码,确定目标软件对应的多个变更代码段。
具体的,在本步骤中,当影响分析应用程序根据目标软件对应的历史源代码和当前源代码,确定当前版本目标软件中的某个模块(或某个函数)对应的部分源代码经过修改时,影响分析应用程序便可在当前源代码中查找这个模块(或这个函数)对应的整段源代码,并将查找到的整段源代码确定为目标软件对应的变更代码段,但不限于此。
103、根据多个变更代码段和当前源代码,确定每个变更代码段对应的关联代码段。
其中,任意一个变更代码段对应的关联代码段为当前版本目标软件中调用该变更代码段所属模块(或所属函数)的模块(或函数)对应的整段源代码和/或该变更代码段所属模块(或所属函数)调用的模块(或函数)对应的整段源代码,例如,变更代码段A为当前版本目标软件中模块A对应的整段源代码,当前版本目标软件中模块B和函数A调用模块A,且模块A调用模块C和函数B,则变更代码段A对应的关联代码段为模块B对应的整段源代码、函数A对应的整段源代码、模块C对应的整段源代码和函数B对应的整段源代码。
在本发明实施例中,影响分析应用程序在根据目标软件对应的历史源代码和当前源代码,确定目标软件对应的多个变更代码段后,便可根据目标软件对应的多个变更代码段和当前源代码,确定每个变更代码段对应的关联代码段。
104、根据当前软件需求文档、当前软件概要设计文档、当前软件详细设计文档以及每个关联代码段,生成影响分析报告。
在本发明实施例中,影响分析应用程序在根据目标软件对应的多个变更代码段和当前源代码,确定每个变更代码段对应的关联代码段后,便可根据目标软件对应的当前软件需求文档、当前软件概要设计文档、当前软件详细设计文档,确定每个关联代码段对应的目标软件功能,并根据每个关联代码段对应的目标软件功能,生成目标软件对应的影响分析报告。
本发明实施例提供一种生成影响分析报告的方法,与现有技术中由测试工作人员人工制定影响分析报告相比,本发明实施例能够在影响分析应用程序获取得到目标软件对应的软件研发文档(即目标软件对应的当前软件需求文档、当前软件概要设计文档、当前软件详细设计文档)、历史源代码及当前源代码后,影响分析应用程序根据目标软件对应的历史源代码和当前源代码确定目标软件对应的多个变更代码段,再根据目标软件对应的多个变更代码段和当前源代码确定每个变更代码段对应的关联代码段,最后根据目标软件对应的当前软件需求文档、当前软件概要设计文档、当前软件详细设计文档,确定每个关联代码段对应的目标软件功能,并根据每个关联代码段对应的目标软件功能,生成目标软件对应的影响分析报告。由于,确定的变更代码段为包含修改部分源代码的整段源代码,而变更代码段对应的关联代码段为调用该变更代码段所属模块(或所属函数)的模块(或函数)对应的整段源代码和/或该变更代码段所属模块(或所属函数)调用的模块(或函数)对应的整段源代码,因此,多个关联代码段对应的多个目标软件功能即为目标软件中所有修改部分源代码会影响到的软件功能,从而使得基于多个关联代码段生成影响分析报告,能够有效提升生成的影响分析报告的准确率;此外,由于,在本发明实施例中无需测试工作人员参与生成影响分析报告,因此,能够有效提升生成影响分析报告的工作效率。
进一步的,依据图1所示的方法,本发明实施例提供了另一种生成影响分析报告的方法,具体如图2所示,该方法包括:
201、获取多个待测试软件功能以及每个待测试软件功能对应的测试项,并将每个待测试软件功能与其对应的测试项之间的映射关系进行存储。
其中,多个待测试软件功能可以仅包含当前版本目标软件具有的所有软件功能,也可以包含当前版本目标软件具有的所有软件功能及其他软件具有的软件功能,本发明实施例对此不进行具体限定。
在本发明实施例中,为了保证在确定每个关联代码段对应的目标软件功能后,能够直接获取得到每个目标软件功能对应的目标测试项,影响分析应用程序需要预先获取多个待测试软件功能以及每个待测试软件功能对应的测试项,并将每个待测试软件功能与其对应的测试项之间的映射关系进行存储。
202、获取目标软件对应的软件研发文档、历史源代码及当前源代码。
其中,关于步骤202、获取目标软件对应的软件研发文档、历史源代码及当前源代码,可以参考图1对应部分的描述,本发明实施例此处将不再赘述。
203、根据历史源代码和当前源代码,确定目标软件对应的多个变更代码段。
其中,关于步骤203、根据历史源代码和当前源代码,确定目标软件对应的多个变更代码段,可以参考图1对应部分的描述,本发明实施例此处将不再赘述。
进一步的,在本发明实施例中,影响分析应用程序可以使用预置文本比对分析工具对目标软件对应的历史源代码和当前源代码进行比对分析处理,从而确定目标软件对应的多个变更代码段,即将目标软件对应的历史源代码和当前源代码输入至预置文本比对分析工具中后,预置文本比对分析工具便能输出比对分析结果,影响分析应用程序根据比对分析结果便能确定当前版本目标软件中哪些模块和/或哪些函数对应的部分源代码经过修改,此时,影响分析应用程序便可在当前源代码中查找这些模块和/或这些函数对应的整段源代码,并将查找到的多个整段源代码确定为目标软件对应的多个变更代码段;其中,预置文本比对分析工具可以为任意一种现有的文本比对分析工具,本发明实施例对此不进行具体限定。
进一步的,在本发明实施例中,影响分析应用程序在根据目标软件对应的历史源代码和当前源代码,确定目标软件对应的多个变更代码段后,还可以基于目标软件对应的多个变更代码段判断目标软件的软件需求变更和源代码变更是否一致:
1、根据多个变更代码段、当前软件概要设计文档、当前软件详细设计文档,确定目标软件对应的多个第一变更软件需求标签。
其中,当前软件概要设计文档中包含多个概要设计标签及每个概要设计标签对应的概要设计内容,任意一个概要设计标签中包含该概要设计标签的标签号以及该概要设计标签对应的软件需求标签的标签号;当前软件详细设计文档中包含多个详细设计标签及每个详细设计标签对应的详细设计内容,任意一个详细设计标签中包含该详细设计标签对应的代码段的相关信息以及详细设计标签对应的概要设计标签的标签号。
在本发明实施例中,影响分析应用程序在根据目标软件对应的历史源代码和当前源代码,确定目标软件对应的多个变更代码段后,便可根据目标软件对应的多个变更代码段、当前软件概要设计文档、当前软件详细设计文档,确定目标软件对应的多个第一变更软件需求标签:首先,从每个变更代码段中提取每个变更代码段的相关信息,即当某个变更代码段为某个模块对应的整段源代码时,从该变更代码段中提取该模块对应的模块名称,当某个变更代码段为某个函数对应的整段源代码时,从该变更代码段中提取该函数对应的函数名称;然后,根据每个变更代码段的相关信息(模块名称或函数名称)确定每个变更代码段对应的详细设计标签(即变更详细设计标签);其次,根据每个变更详细设计标签的标签号确定每个变更代码段对应的概要设计标签(即变更概要设计标签);最后,根据每个变更概要设计标签的标签号确定每个变更代码段对应的软件需求标签(即第一变更软件需求标签)。
2、根据历史软件需求文档和当前软件需求文档,确定目标软件对应的多个第二变更软件需求标签。
其中,目标软件对应的软件研发文档中还包括:目标软件对应的历史软件需求文档,历史软件需求文档为上一版本目标软件对应的软件需求文档。
在本发明实施例中,影响分析应用程序在根据目标软件对应的多个变更代码段、当前软件概要设计文档、当前软件详细设计文档,确定目标软件对应的多个第一变更软件需求标签后,便可根据历史软件需求文档和当前软件需求文档,确定目标软件对应的多个第二变更软件需求标签。
具体的,在本步骤中,影响分析应用程序可以使用前文提及的预置文本比对分析工具对目标软件对应的历史软件需求文档和当前软件需求文档进行比对分析处理,从而确定目标软件对应的多个第二变更软件需求标签,即将目标软件对应的历史软件需求文档和当前软件需求文档输入至预置文本比对分析工具中后,预置文本比对分析工具便能输出比对分析结果,影响分析应用程序根据比对分析结果便能确定当前软件需求文档中哪些软件需求标签对应的软件需求经过修改,此时,影响分析应用程序便可将这些软件需求内容经过修改的软件需求标签,确定为目标软件对应的多个第二变更软件需求标签。
3、对多个第一变更软件需求标签和多个第二变更软件需求标签进行比对处理,以获得比对结果。
在本发明实施例中,影响分析应用程序在可根据历史软件需求文档和当前软件需求文档,确定目标软件对应的多个第二变更软件需求标签后,便可对多个第一变更软件需求标签和多个第二变更软件需求标签进行比对处理,从而获得比对结果,当比对结果为多个第一变更软件需求标签和多个第二变更软件需求标签一致时,便可判定目标软件的软件需求变更和源代码变更一致;当比对结果为多个第一变更软件需求标签和多个第二变更软件需求标签不一致时,便可判定目标软件的软件需求变更和源代码变更不一致。
需要进行说明的是,在实际应用过程中,当比对结果为多个第一变更软件需求标签和多个第二变更软件需求标签不一致时,影响分析应用程序可以将比对结果进行输出显示,以便告知开发工作人员目标软件的软件需求变更和源代码变更不一致。
204、根据多个变更代码段和当前源代码,确定每个变更代码段对应的关联代码段。
其中,关于步骤204、根据多个变更代码段和当前源代码,确定每个变更代码段对应的关联代码段,可以参考图1对应部分的描述,本发明实施例此处将不再赘述。
进一步的,在本发明实施例中,影响分析应用程序可以使用预置代码分析器对目标软件对应的多个变更代码段和当前源代码进行分析处理,从而确定每个变更代码段对应的关联代码段,即将目标软件对应的多个变更代码段和当前源代码输入至预置代码分析器中后,预置代码分析器便能输出分析结果,影响分析应用程序根据分析结果便能确定每个变更代码段对应的关联代码段;其中,预置代码分析器可以为任意一种现有的代码分析器,本发明实施例对此不进行具体限定。
205、根据当前软件需求文档、当前软件概要设计文档、当前软件详细设计文档以及每个关联代码段,生成影响分析报告。
其中,当前软件需求文档中包含多个软件需求标签及每个软件需求标签对应的软件需求内容,任意一个软件需求标签中包含该软件需求标签的标签号,该软件需求标签对应的软件需求内容中包含该软件需求标签对应的软件功能;当前软件概要设计文档中包含多个概要设计标签及每个概要设计标签对应的概要设计内容,任意一个概要设计标签中包含该概要设计标签的标签号以及该概要设计标签对应的软件需求标签的标签号;当前软件详细设计文档中包含多个详细设计标签及每个详细设计标签对应的详细设计内容,任意一个详细设计标签中包含该详细设计标签对应的代码段的相关信息以及详细设计标签对应的概要设计标签的标签号。
在本发明实施例中,影响分析应用程序在根据目标软件对应的多个变更代码段和当前源代码,确定每个变更代码段对应的关联代码段后,便可根据目标软件对应的当前软件需求文档、当前软件概要设计文档、当前软件详细设计文档,确定每个关联代码段对应的目标软件功能,并根据每个关联代码段对应的目标软件功能,生成目标软件对应的影响分析报告。
具体的,在本步骤中,影响分析应用程序可以通过以下方式根据目标软件对应的当前软件需求文档、当前软件概要设计文档、当前软件详细设计文档,生成目标软件对应的影响分析报告:首先,从每个关联代码段中提取每个关联代码段的相关信息,即当某个关联代码段为某个模块对应的整段源代码时,从该关联代码段中提取该模块对应的模块名称,当某个关联代码段为某个函数对应的整段源代码时,从该关联代码段中提取该函数对应的函数名称;然后,根据每个关联代码段的相关信息(模块名称或函数名称)确定每个关联代码段对应的详细设计标签(即目标详细设计标签);其次,根据每个目标详细设计标签的标签号确定每个关联代码段对应的概要设计标签(即目标概要设计标签);再次,根据每个目标概要设计标签的标签号确定每个关联代码段对应的软件需求标签(即目标软件需求标签);再次,根据每个目标软件需求标签对应的软件需求内容确定每个关联代码段对应的目标软件功能;最后,获取每个目标软件功能对应的目标测试项,即在步骤201中存储的映射关系中获取每个目标软件功能对应的目标测试项,并将多个目标软件功能及每个目标软件功能对应的目标测试项添加至预置影响分析模板中,从而生成影响分析报告。
进一步的,在本发明实施例中,影响分析应用程序还可以将前述步骤中获得的、多个第一变更软件需求标签和多个第二变更软件需求标签的比对结果添加至影响分析报告中,以便测试工作人员根据影响分析报告能够获知目标软件的软件需求变更和源代码变更是否一致。
为了实现上述目的,根据本发明的另一方面,本发明实施例还提供了一种电子设备,所述电子设备包括:存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时,实现上述所述的生成影响分析报告的方法。
为了实现上述目的,根据本发明的另一方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序运行时实现上述所述的生成影响分析报告的方法。
进一步的,作为对上述图1及图2所示方法的实现,本发明另一实施例还提供了一种生成影响分析报告的装置。该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。该装置应用于提高生成影响分析报告的准确率和工作效率,具体如图3所示,该装置包括:
第一获取单元301,用于获取目标软件对应的软件研发文档、历史源代码及当前源代码,所述软件研发文档中包括:所述目标软件对应的当前软件需求文档、当前软件概要设计文档、当前软件详细设计文档;
第一确定单元302,用于根据所述历史源代码和所述当前源代码,确定所述目标软件对应的多个变更代码段;
第二确定单元303,用于根据多个所述变更代码段和所述当前源代码,确定每个所述变更代码段对应的关联代码段;
生成单元304,用于根据所述当前软件需求文档、所述当前软件概要设计文档、所述当前软件详细设计文档以及每个所述关联代码段,生成影响分析报告。
进一步的,如图4所示,所述软件详细设计文档中包含多个详细设计标签,所述详细设计标签中包含所述详细设计标签对应的代码段的相关信息以及所述详细设计标签对应的概要设计标签的标签号;所述软件概要设计文档中包含多个概要设计标签,所述概要设计标签中包含所述概要设计标签的标签号以及所述概要设计标签对应的软件需求标签的标签号;所述当前软件需求文档中包含多个软件需求标签及每个所述软件需求标签对应的软件需求内容,所述软件需求标签中包含所述软件需求标签的标签号,所述软件需求内容中包含所述软件需求标签对应的软件功能;生成单元304包括:
第一提取模块3041,用于从每个所述关联代码段中提取每个所述关联代码段的相关信息;
第一确定模块3042,用于根据每个所述关联代码段的相关信息确定每个所述关联代码段对应的目标详细设计标签;
第二确定模块3043,用于根据每个所述目标详细设计标签的标签号确定每个所述关联代码段对应的目标概要设计标签;
第三确定模块3044,用于根据每个所述目标概要设计标签的标签号确定每个所述关联代码段对应的目标软件需求标签;
第四确定模块3045,用于根据每个所述目标软件需求标签对应的软件需求内容确定每个所述关联代码段对应的目标软件功能;
获取模块3046,用于获取每个所述目标软件功能对应的目标测试项;
生成模块3047,用于将多个所述目标软件功能及每个所述目标软件功能对应的目标测试项添加至预置影响分析模板中,以生成所述影响分析报告。
进一步的,如图4所示,该装置还包括:
第二获取单元305,用于在所述第一获取单元301获取目标软件对应的软件研发文档、历史源代码及当前源代码之前,获取多个待测试软件功能以及每个所述待测试软件功能对应的测试项;
存储单元306,用于将每个所述待测试软件功能与其对应的测试项之间的映射关系进行存储;
获取模块3046,具体用于在所述映射关系中获取每个所述目标软件功能对应的目标测试项。
进一步的,如图4所示,第一确定单元302,具体用于使用预置文本比对分析工具对所述历史源代码和所述当前源代码进行比对分析处理,以确定所述目标软件对应的多个变更代码段。
进一步的,如图4所示,所述软件研发文档中还包括:所述目标软件对应的历史软件需求文档;该装置还包括:
第三确定单元307,用于在所述第一确定单元302根据所述历史源代码和所述当前源代码,确定所述目标软件对应的多个变更代码段之后,根据多个所述变更代码段、所述当前软件概要设计文档、所述当前软件详细设计文档,确定所述目标软件对应的多个第一变更软件需求标签;
第四确定单元308,用于根据所述历史软件需求文档和所述当前软件需求文档,确定所述目标软件对应的多个第二变更软件需求标签;
获得单元309,用于对多个所述第一变更软件需求标签和多个所述第二变更软件需求标签进行比对处理,以获得比对结果。
进一步的,如图4所示,所述软件详细设计文档中包含多个详细设计标签,所述详细设计标签中包含所述详细设计标签对应的代码段的相关信息以及所述详细设计标签对应的概要设计标签的标签号;所述软件概要设计文档中包含多个概要设计标签,所述概要设计标签中包含所述概要设计标签的标签号以及所述概要设计标签对应的软件需求标签的标签号;第三确定单元307包括:
第二提取模块3071,用于从每个所述变更代码段中提取每个所述变更代码段的相关信息;
第五确定模块3072,用于根据每个所述变更代码段的相关信息确定每个所述变更代码段对应的变更详细设计标签;
第六确定模块3073,用于根据每个所述变更详细设计标签的标签号确定每个所述变更代码段对应的变更概要设计标签;
第七确定模块3074,用于根据每个所述变更概要设计标签的标签号确定每个所述变更代码段对应的第一变更软件需求标签。
进一步的,如图4所示,该装置还包括:
添加单元310,用于在生成单元304根据所述当前软件需求文档、所述当前软件概要设计文档、所述当前软件详细设计文档以及每个所述关联代码段,生成影响分析报告之后,将所述比对结果添加至所述影响分析报告中。
进一步的,如图4所示,第四确定单元308,具体用于使用所述预置文本比对分析工具对所述历史软件需求文档和所述当前软件需求文档进行比对分析处理,以确定所述目标软件对应的多个第二变更软件需求标签。
进一步的,如图4所示,第二确定单元303,具体用于使用预置代码分析器对多个所述变更代码段和所述当前源代码进行分析处理,以确定每个所述变更代码段对应的关联代码段。
本发明实施例提供一种生成影响分析报告的方法及装置,与现有技术中由测试工作人员人工制定影响分析报告相比,本发明实施例能够在影响分析应用程序获取得到目标软件对应的软件研发文档(即目标软件对应的当前软件需求文档、当前软件概要设计文档、当前软件详细设计文档)、历史源代码及当前源代码后,影响分析应用程序根据目标软件对应的历史源代码和当前源代码确定目标软件对应的多个变更代码段,再根据目标软件对应的多个变更代码段和当前源代码确定每个变更代码段对应的关联代码段,最后根据目标软件对应的当前软件需求文档、当前软件概要设计文档、当前软件详细设计文档,确定每个关联代码段对应的目标软件功能,并根据每个关联代码段对应的目标软件功能,生成目标软件对应的影响分析报告。由于,确定的变更代码段为包含修改部分源代码的整段源代码,而变更代码段对应的关联代码段为调用该变更代码段所属模块(或所属函数)的模块(或函数)对应的整段源代码和/或该变更代码段所属模块(或所属函数)调用的模块(或函数)对应的整段源代码,因此,多个关联代码段对应的多个目标软件功能即为目标软件中所有修改部分源代码会影响到的软件功能,从而使得基于多个关联代码段生成影响分析报告,能够有效提升生成的影响分析报告的准确率;此外,由于,在本发明实施例中无需测试工作人员参与生成影响分析报告,因此,能够有效提升生成影响分析报告的工作效率。
所述生成影响分析报告的装置装置包括处理器和存储器,上述第一获取单元、第一确定单元、第二确定单元和生成单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来提高生成影响分析报告的准确率和工作效率。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种电子设备,所述电子设备包括:存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时,实现所述的生成影响分析报告的方法。
本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序运行时实现上述所述的生成影响分析报告的方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:
获取目标软件对应的软件研发文档、历史源代码及当前源代码,所述软件研发文档中包括:所述目标软件对应的当前软件需求文档、当前软件概要设计文档、当前软件详细设计文档;
根据所述历史源代码和所述当前源代码,确定所述目标软件对应的多个变更代码段;
根据多个所述变更代码段和所述当前源代码,确定每个所述变更代码段对应的关联代码段;
根据所述当前软件需求文档、所述当前软件概要设计文档、所述当前软件详细设计文档以及每个所述关联代码段,生成影响分析报告。
进一步的,所述软件详细设计文档中包含多个详细设计标签,所述详细设计标签中包含所述详细设计标签对应的代码段的相关信息以及所述详细设计标签对应的概要设计标签的标签号;所述软件概要设计文档中包含多个概要设计标签,所述概要设计标签中包含所述概要设计标签的标签号以及所述概要设计标签对应的软件需求标签的标签号;所述当前软件需求文档中包含多个软件需求标签及每个所述软件需求标签对应的软件需求内容,所述软件需求标签中包含所述软件需求标签的标签号,所述软件需求内容中包含所述软件需求标签对应的软件功能;所述根据所述当前软件需求文档、所述当前软件概要设计文档、所述当前软件详细设计文档以及每个所述关联代码段,生成影响分析报告,包括:
从每个所述关联代码段中提取每个所述关联代码段的相关信息;
根据每个所述关联代码段的相关信息确定每个所述关联代码段对应的目标详细设计标签;
根据每个所述目标详细设计标签的标签号确定每个所述关联代码段对应的目标概要设计标签;
根据每个所述目标概要设计标签的标签号确定每个所述关联代码段对应的目标软件需求标签;
根据每个所述目标软件需求标签对应的软件需求内容确定每个所述关联代码段对应的目标软件功能;
获取每个所述目标软件功能对应的目标测试项,并将多个所述目标软件功能及每个所述目标软件功能对应的目标测试项添加至预置影响分析模板中,以生成所述影响分析报告。
进一步的,在所述获取目标软件对应的软件研发文档、历史源代码及当前源代码之前,所述方法还包括:
获取多个待测试软件功能以及每个所述待测试软件功能对应的测试项;
将每个所述待测试软件功能与其对应的测试项之间的映射关系进行存储;
所述获取每个所述目标软件功能对应的目标测试项,包括:
在所述映射关系中获取每个所述目标软件功能对应的目标测试项。
进一步的,所述根据所述历史源代码和所述当前源代码,确定所述目标软件对应的多个变更代码段,包括:
使用预置文本比对分析工具对所述历史源代码和所述当前源代码进行比对分析处理,以确定所述目标软件对应的多个变更代码段。
进一步的,所述软件研发文档中还包括:所述目标软件对应的历史软件需求文档;在所述根据所述历史源代码和所述当前源代码,确定所述目标软件对应的多个变更代码段之后,所述方法还包括:
根据多个所述变更代码段、所述当前软件概要设计文档、所述当前软件详细设计文档,确定所述目标软件对应的多个第一变更软件需求标签;
根据所述历史软件需求文档和所述当前软件需求文档,确定所述目标软件对应的多个第二变更软件需求标签;
对多个所述第一变更软件需求标签和多个所述第二变更软件需求标签进行比对处理,以获得比对结果。
进一步的,所述软件详细设计文档中包含多个详细设计标签,所述详细设计标签中包含所述详细设计标签对应的代码段的相关信息以及所述详细设计标签对应的概要设计标签的标签号;所述软件概要设计文档中包含多个概要设计标签,所述概要设计标签中包含所述概要设计标签的标签号以及所述概要设计标签对应的软件需求标签的标签号;所述根据多个所述变更代码段、所述当前软件概要设计文档、所述当前软件详细设计文档,确定所述目标软件对应的多个第一变更软件需求标签,包括:
从每个所述变更代码段中提取每个所述变更代码段的相关信息;
根据每个所述变更代码段的相关信息确定每个所述变更代码段对应的变更详细设计标签;
根据每个所述变更详细设计标签的标签号确定每个所述变更代码段对应的变更概要设计标签;
根据每个所述变更概要设计标签的标签号确定每个所述变更代码段对应的第一变更软件需求标签。
进一步的,在所述根据所述当前软件需求文档、所述当前软件概要设计文档、所述当前软件详细设计文档以及每个所述关联代码段,生成影响分析报告之后,所述方法还包括:
将所述比对结果添加至所述影响分析报告中。
进一步的,所述根据所述历史软件需求文档和所述当前软件需求文档,确定所述目标软件对应的多个第二变更软件需求标签,包括:
使用所述预置文本比对分析工具对所述历史软件需求文档和所述当前软件需求文档进行比对分析处理,以确定所述目标软件对应的多个第二变更软件需求标签。
进一步的,所述根据多个所述变更代码段和所述当前源代码,确定每个所述变更代码段对应的关联代码段,包括:
使用预置代码分析器对多个所述变更代码段和所述当前源代码进行分析处理,以确定每个所述变更代码段对应的关联代码段。
本文中的设备可以是计算机、笔记本电脑、平板电脑等等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:第一获取单元,用于获取目标软件对应的软件研发文档、历史源代码及当前源代码,所述软件研发文档中包括:所述目标软件对应的当前软件需求文档、当前软件概要设计文档、当前软件详细设计文档;第一确定单元,用于根据所述历史源代码和所述当前源代码,确定所述目标软件对应的多个变更代码段;第二确定单元,用于根据多个所述变更代码段和所述当前源代码,确定每个所述变更代码段对应的关联代码段;生成单元,用于根据所述当前软件需求文档、所述当前软件概要设计文档、所述当前软件详细设计文档以及每个所述关联代码段,生成影响分析报告。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(traHsitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (20)
1.一种生成影响分析报告的方法,其特征在于,包括:
获取目标软件对应的软件研发文档、历史源代码及当前源代码,所述软件研发文档中包括:所述目标软件对应的当前软件需求文档、当前软件概要设计文档、当前软件详细设计文档;
根据所述历史源代码和所述当前源代码,确定所述目标软件对应的多个变更代码段;
根据多个所述变更代码段和所述当前源代码,确定每个所述变更代码段对应的关联代码段;
根据所述当前软件需求文档、所述当前软件概要设计文档、所述当前软件详细设计文档以及每个所述关联代码段,生成影响分析报告。
2.根据权利要求1所述的方法,其特征在于,所述软件详细设计文档中包含多个详细设计标签,所述详细设计标签中包含所述详细设计标签对应的代码段的相关信息以及所述详细设计标签对应的概要设计标签的标签号;所述软件概要设计文档中包含多个概要设计标签,所述概要设计标签中包含所述概要设计标签的标签号以及所述概要设计标签对应的软件需求标签的标签号;所述当前软件需求文档中包含多个软件需求标签及每个所述软件需求标签对应的软件需求内容,所述软件需求标签中包含所述软件需求标签的标签号,所述软件需求内容中包含所述软件需求标签对应的软件功能;所述根据所述当前软件需求文档、所述当前软件概要设计文档、所述当前软件详细设计文档以及每个所述关联代码段,生成影响分析报告,包括:
从每个所述关联代码段中提取每个所述关联代码段的相关信息;
根据每个所述关联代码段的相关信息确定每个所述关联代码段对应的目标详细设计标签;
根据每个所述目标详细设计标签的标签号确定每个所述关联代码段对应的目标概要设计标签;
根据每个所述目标概要设计标签的标签号确定每个所述关联代码段对应的目标软件需求标签;
根据每个所述目标软件需求标签对应的软件需求内容确定每个所述关联代码段对应的目标软件功能;
获取每个所述目标软件功能对应的目标测试项,并将多个所述目标软件功能及每个所述目标软件功能对应的目标测试项添加至预置影响分析模板中,以生成所述影响分析报告。
3.根据权利要求2所述的方法,其特征在于,在所述获取目标软件对应的软件研发文档、历史源代码及当前源代码之前,所述方法还包括:
获取多个待测试软件功能以及每个所述待测试软件功能对应的测试项;
将每个所述待测试软件功能与其对应的测试项之间的映射关系进行存储;
所述获取每个所述目标软件功能对应的目标测试项,包括:
在所述映射关系中获取每个所述目标软件功能对应的目标测试项。
4.根据权利要求1所述的方法,其特征在于,所述根据所述历史源代码和所述当前源代码,确定所述目标软件对应的多个变更代码段,包括:
使用预置文本比对分析工具对所述历史源代码和所述当前源代码进行比对分析处理,以确定所述目标软件对应的多个变更代码段。
5.根据权利要求4所述的方法,其特征在于,所述软件研发文档中还包括:所述目标软件对应的历史软件需求文档;在所述根据所述历史源代码和所述当前源代码,确定所述目标软件对应的多个变更代码段之后,所述方法还包括:
根据多个所述变更代码段、所述当前软件概要设计文档、所述当前软件详细设计文档,确定所述目标软件对应的多个第一变更软件需求标签;
根据所述历史软件需求文档和所述当前软件需求文档,确定所述目标软件对应的多个第二变更软件需求标签;
对多个所述第一变更软件需求标签和多个所述第二变更软件需求标签进行比对处理,以获得比对结果。
6.根据权利要求5所述的方法,其特征在于,所述软件详细设计文档中包含多个详细设计标签,所述详细设计标签中包含所述详细设计标签对应的代码段的相关信息以及所述详细设计标签对应的概要设计标签的标签号;所述软件概要设计文档中包含多个概要设计标签,所述概要设计标签中包含所述概要设计标签的标签号以及所述概要设计标签对应的软件需求标签的标签号;所述根据多个所述变更代码段、所述当前软件概要设计文档、所述当前软件详细设计文档,确定所述目标软件对应的多个第一变更软件需求标签,包括:
从每个所述变更代码段中提取每个所述变更代码段的相关信息;
根据每个所述变更代码段的相关信息确定每个所述变更代码段对应的变更详细设计标签;
根据每个所述变更详细设计标签的标签号确定每个所述变更代码段对应的变更概要设计标签;
根据每个所述变更概要设计标签的标签号确定每个所述变更代码段对应的第一变更软件需求标签。
7.根据权利要求5所述的方法,其特征在于,在所述根据所述当前软件需求文档、所述当前软件概要设计文档、所述当前软件详细设计文档以及每个所述关联代码段,生成影响分析报告之后,所述方法还包括:
将所述比对结果添加至所述影响分析报告中。
8.根据权利要求5所述的方法,其特征在于,所述根据所述历史软件需求文档和所述当前软件需求文档,确定所述目标软件对应的多个第二变更软件需求标签,包括:
使用所述预置文本比对分析工具对所述历史软件需求文档和所述当前软件需求文档进行比对分析处理,以确定所述目标软件对应的多个第二变更软件需求标签。
9.根据权利要求1-8中任一项所述的方法,其特征在于,所述根据多个所述变更代码段和所述当前源代码,确定每个所述变更代码段对应的关联代码段,包括:
使用预置代码分析器对多个所述变更代码段和所述当前源代码进行分析处理,以确定每个所述变更代码段对应的关联代码段。
10.一种生成影响分析报告的装置,其特征在于,所述装置包括:
第一获取单元,用于获取目标软件对应的软件研发文档、历史源代码及当前源代码,所述软件研发文档中包括:所述目标软件对应的当前软件需求文档、当前软件概要设计文档、当前软件详细设计文档;
第一确定单元,用于根据所述历史源代码和所述当前源代码,确定所述目标软件对应的多个变更代码段;
第二确定单元,用于根据多个所述变更代码段和所述当前源代码,确定每个所述变更代码段对应的关联代码段;
生成单元,用于根据所述当前软件需求文档、所述当前软件概要设计文档、所述当前软件详细设计文档以及每个所述关联代码段,生成影响分析报告。
11.根据权利要求10所述的装置,其特征在于,所述软件详细设计文档中包含多个详细设计标签,所述详细设计标签中包含所述详细设计标签对应的代码段的相关信息以及所述详细设计标签对应的概要设计标签的标签号;所述软件概要设计文档中包含多个概要设计标签,所述概要设计标签中包含所述概要设计标签的标签号以及所述概要设计标签对应的软件需求标签的标签号;所述当前软件需求文档中包含多个软件需求标签及每个所述软件需求标签对应的软件需求内容,所述软件需求标签中包含所述软件需求标签的标签号,所述软件需求内容中包含所述软件需求标签对应的软件功能;所述生成单元包括:
第一提取模块,用于从每个所述关联代码段中提取每个所述关联代码段的相关信息;
第一确定模块,用于根据每个所述关联代码段的相关信息确定每个所述关联代码段对应的目标详细设计标签;
第二确定模块,用于根据每个所述目标详细设计标签的标签号确定每个所述关联代码段对应的目标概要设计标签;
第三确定模块,用于根据每个所述目标概要设计标签的标签号确定每个所述关联代码段对应的目标软件需求标签;
第四确定模块,用于根据每个所述目标软件需求标签对应的软件需求内容确定每个所述关联代码段对应的目标软件功能;
获取模块,用于获取每个所述目标软件功能对应的目标测试项;
生成模块,用于将多个所述目标软件功能及每个所述目标软件功能对应的目标测试项添加至预置影响分析模板中,以生成所述影响分析报告。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第二获取单元,用于在所述第一获取单元获取目标软件对应的软件研发文档、历史源代码及当前源代码之前,获取多个待测试软件功能以及每个所述待测试软件功能对应的测试项;
存储单元,用于将每个所述待测试软件功能与其对应的测试项之间的映射关系进行存储;
所述获取模块,具体用于在所述映射关系中获取每个所述目标软件功能对应的目标测试项。
13.根据权利要求10所述的装置,其特征在于,
所述第一确定单元,具体用于使用预置文本比对分析工具对所述历史源代码和所述当前源代码进行比对分析处理,以确定所述目标软件对应的多个变更代码段。
14.根据权利要求13所述的装置,其特征在于,所述软件研发文档中还包括:所述目标软件对应的历史软件需求文档;所述装置还包括:
第三确定单元,用于在所述第一确定单元根据所述历史源代码和所述当前源代码,确定所述目标软件对应的多个变更代码段之后,根据多个所述变更代码段、所述当前软件概要设计文档、所述当前软件详细设计文档,确定所述目标软件对应的多个第一变更软件需求标签;
第四确定单元,用于根据所述历史软件需求文档和所述当前软件需求文档,确定所述目标软件对应的多个第二变更软件需求标签;
获得单元,用于对多个所述第一变更软件需求标签和多个所述第二变更软件需求标签进行比对处理,以获得比对结果。
15.根据权利要求14所述的装置,其特征在于,所述软件详细设计文档中包含多个详细设计标签,所述详细设计标签中包含所述详细设计标签对应的代码段的相关信息以及所述详细设计标签对应的概要设计标签的标签号;所述软件概要设计文档中包含多个概要设计标签,所述概要设计标签中包含所述概要设计标签的标签号以及所述概要设计标签对应的软件需求标签的标签号;所述第三确定单元包括:
第二提取模块,用于从每个所述变更代码段中提取每个所述变更代码段的相关信息;
第五确定模块,用于根据每个所述变更代码段的相关信息确定每个所述变更代码段对应的变更详细设计标签;
第六确定模块,用于根据每个所述变更详细设计标签的标签号确定每个所述变更代码段对应的变更概要设计标签;
第七确定模块,用于根据每个所述变更概要设计标签的标签号确定每个所述变更代码段对应的第一变更软件需求标签。
16.根据权利要求14所述的装置,其特征在于,所述装置还包括:
添加单元,用于在所述生成单元根据所述当前软件需求文档、所述当前软件概要设计文档、所述当前软件详细设计文档以及每个所述关联代码段,生成影响分析报告之后,将所述比对结果添加至所述影响分析报告中。
17.根据权利要求14所述的装置,其特征在于,
所述第四确定单元,具体用于使用所述预置文本比对分析工具对所述历史软件需求文档和所述当前软件需求文档进行比对分析处理,以确定所述目标软件对应的多个第二变更软件需求标签。
18.根据权利要求10-17中任一项所述的装置,其特征在于,
所述第二确定单元,具体用于使用预置代码分析器对多个所述变更代码段和所述当前源代码进行分析处理,以确定每个所述变更代码段对应的关联代码段。
19.一种电子设备,其特征在于,包括:存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时,实现如权利要求1-9中任一所述的生成影响分析报告的方法。
20.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序运行时实现如权利要求1-9中任一所述的生成影响分析报告的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911370248.6A CN111078574A (zh) | 2019-12-26 | 2019-12-26 | 生成影响分析报告的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911370248.6A CN111078574A (zh) | 2019-12-26 | 2019-12-26 | 生成影响分析报告的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111078574A true CN111078574A (zh) | 2020-04-28 |
Family
ID=70318511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911370248.6A Pending CN111078574A (zh) | 2019-12-26 | 2019-12-26 | 生成影响分析报告的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111078574A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112486563A (zh) * | 2020-12-02 | 2021-03-12 | 车智互联(北京)科技有限公司 | 一种代码管理方法、***、计算设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831057A (zh) * | 2012-08-13 | 2012-12-19 | 于秀山 | 一种用功能图分析软件功能变更及其影响的方法 |
CN106557859A (zh) * | 2015-09-29 | 2017-04-05 | 阿里巴巴集团控股有限公司 | 一种验证方法和设备 |
CN110389896A (zh) * | 2019-06-18 | 2019-10-29 | 中国平安人寿保险股份有限公司 | 代码自动化分析和测试方法、装置及计算机可读存储介质 |
KR20190136352A (ko) * | 2018-05-30 | 2019-12-10 | 한국전력공사 | 소프트웨어 검사 장치 및 방법 |
-
2019
- 2019-12-26 CN CN201911370248.6A patent/CN111078574A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831057A (zh) * | 2012-08-13 | 2012-12-19 | 于秀山 | 一种用功能图分析软件功能变更及其影响的方法 |
CN106557859A (zh) * | 2015-09-29 | 2017-04-05 | 阿里巴巴集团控股有限公司 | 一种验证方法和设备 |
KR20190136352A (ko) * | 2018-05-30 | 2019-12-10 | 한국전력공사 | 소프트웨어 검사 장치 및 방법 |
CN110389896A (zh) * | 2019-06-18 | 2019-10-29 | 中国平安人寿保险股份有限公司 | 代码自动化分析和测试方法、装置及计算机可读存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112486563A (zh) * | 2020-12-02 | 2021-03-12 | 车智互联(北京)科技有限公司 | 一种代码管理方法、***、计算设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107644286B (zh) | 工作流处理方法及装置 | |
CN108897724B (zh) | 功能完成进度确定方法及装置 | |
CN110704297B (zh) | 代码评审方法、装置、计算机设备及存储介质 | |
US20130212564A1 (en) | Code coverage rate determination method and system | |
CN104182335A (zh) | 软件测试方法和装置 | |
CN108228443B (zh) | 一种web应用的测试方法及装置 | |
US20130179867A1 (en) | Program Code Analysis System | |
CN110825377A (zh) | 一种依赖冲突分析方法及装置 | |
CN110895544B (zh) | 一种接口数据处理方法、装置、***及存储介质 | |
CN106557419B (zh) | 程序的测试方法及装置 | |
CN107066302B (zh) | 缺陷检测方法、装置及服务终端 | |
CN110908915A (zh) | 一种测试覆盖率的展示方法、装置及计算机*** | |
US10175958B2 (en) | Acquiring identification of an application lifecycle management entity associated with similar code | |
CN115686961A (zh) | 处理器测试方法、装置及电子设备 | |
CN102043720A (zh) | 利用sql语句自动生成测试数据的方法和装置 | |
CN104809053A (zh) | 一种针对控件样式的测试方法和装置 | |
CN113641592A (zh) | 测试序列的生成方法及装置 | |
CN111078574A (zh) | 生成影响分析报告的方法及装置 | |
CN107766228B (zh) | 一种基于多语种的自动化测试方法和装置 | |
CN110019357B (zh) | 数据库查询脚本生成方法及装置 | |
CN113326211B (zh) | 测试用例生成方法及装置 | |
CN104239199A (zh) | 虚拟机器人的生成方法、自动化测试方法及相关装置 | |
CN111400245B (zh) | 美术资源迁移方法及装置 | |
CN110866492A (zh) | 一种基线分支的识别方法、装置及计算机*** | |
CN112346761A (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 |