CN111061634A - Software change impact domain analysis auxiliary system - Google Patents

Software change impact domain analysis auxiliary system Download PDF

Info

Publication number
CN111061634A
CN111061634A CN201911243145.3A CN201911243145A CN111061634A CN 111061634 A CN111061634 A CN 111061634A CN 201911243145 A CN201911243145 A CN 201911243145A CN 111061634 A CN111061634 A CN 111061634A
Authority
CN
China
Prior art keywords
program
software change
software
domain analysis
path set
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
Application number
CN201911243145.3A
Other languages
Chinese (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.)
Beijing Jinghang Computing Communication Research Institute
Original Assignee
Beijing Jinghang Computing Communication Research 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 Beijing Jinghang Computing Communication Research Institute filed Critical Beijing Jinghang Computing Communication Research Institute
Priority to CN201911243145.3A priority Critical patent/CN111061634A/en
Publication of CN111061634A publication Critical patent/CN111061634A/en
Pending legal-status Critical Current

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/3604Software analysis for verifying properties of programs

Abstract

The invention belongs to the technical field of software regression testing, and particularly relates to an auxiliary system for analyzing a software change influence domain. The software change impact domain analysis assistance system includes: the software change influence domain analysis module and the influence domain analysis report generation module; the software change influence domain analysis module is used for analyzing a software change influence domain; the influence domain analysis report generation module is used for analyzing the analysis result of the software change influence domain and generating an influence domain analysis report. Compared with the prior art, according to the technical scheme, by adopting the technical measures, the system can effectively improve the analysis accuracy of the software change influence domain, improve the software testing efficiency, reduce the testing cost, improve the testing working quality and reduce the software quality risk. Time cost and labor cost are saved. The analysis aiming at the software change influence provided by the invention can provide guidance for automatic testing.

Description

Software change impact domain analysis auxiliary system
Technical Field
The invention belongs to the technical field of software regression testing, and particularly relates to an auxiliary system for analyzing a software change influence domain.
Background
The software development period of part of industries is short, the requirements on the quality and the safety of the software are high, and the software iteration times are large. The software modification mainly comprises two aspects: 1. a change is made if an error is found; 2. the software development phase introduces new design requirements to make changes. However, the software developer may not understand the error or new design requirement completely, which may cause modification failure due to modification of only the external representation, and may also cause side effects to cause new problems in the unmodified part of the software, so that new errors may be generated in the normal operation.
In order to determine whether software changes can affect software quality or damage the original normal functions of the software, regression testing must be performed on the software. The regression test firstly needs to change the influence analysis according to the software change content, and determines the range of the regression test, thereby achieving the purposes of reducing the test range, improving the regression test efficiency and reducing the test cost.
The change influence domain analysis is used for analyzing the change propagation and fluctuation influence of the software after the software change is executed. The current analysis method for the influence of software change sequentially comprises the following steps:
1) and constructing a control flow graph of the original program to indicate the control flow relation and the dependency relation among program statements.
2) Scanning the original program and the changed program, comparing the program source codes before and after the change to obtain changed contents, and mapping the changed contents into a program control flow graph to obtain a changed node set.
3) And constructing a program basic path set on the basis of the original program control flow graph. One path of the program refers to a statement sequence executed in sequence in the program, and is composed of a node sequence including an inlet node and an outlet node in a control flow diagram, and a basic path set of the program is a set of all paths from the inlet node to the outlet node.
4) And generating a path covering the change influence nodes on the basis of the program basic path set, wherein the set of the paths is the software change influence domain.
The existing method for analyzing the change influence domain is only suitable for the condition that the code change does not influence the program structure, and under the condition that the code change influences the program structure, the code change increases nodes and program paths in the control flow graph.
Disclosure of Invention
Technical problem to be solved
The technical problem to be solved by the invention is as follows: how to provide a software change influence domain analysis auxiliary system.
(II) technical scheme
In order to solve the above technical problem, the present invention provides a software change impact domain analysis support system, including: the software change influence domain analysis module and the influence domain analysis report generation module; wherein the content of the first and second substances,
the software change influence domain analysis module is used for analyzing a software change influence domain;
the influence domain analysis report generation module is used for analyzing the analysis result of the software change influence domain and generating an influence domain analysis report.
Wherein the software change impact domain analysis module comprises: the system comprises a control flow graph construction unit, a comparison mapping unit, a program basic path set construction unit, a program supplement path set generation unit, a change influence path set generation unit and a software change influence domain generation unit;
the control flow graph constructing unit is used for constructing a control flow graph of an original program and indicating the control flow relationship and the dependency relationship among program statements;
the comparison and mapping unit is used for scanning the original program and the modified program, comparing program source codes before and after modification to obtain modified contents, and mapping the modified contents into a program control flow graph to obtain a modified node set;
the program basic path set constructing unit is used for constructing a program basic path set on the basis of an original program control flow graph;
the program supplement path set generation unit is used for scanning the original program and the modified program, extracting added control flow graph nodes and generating a program supplement path set through the newly added nodes;
the change influence path set generation unit is used for generating a path covering change influence nodes on the basis of the program basic path set, and the set of the paths is a change influence path set;
the software change influence domain generating unit is used for carrying out collection operation on the change influence path set and the program supplement path set, and the final software change influence domain is obtained.
Wherein, the program basic path set means a program:
a path of a program refers to a statement sequence which is sequentially executed in the program, and is composed of a node sequence which comprises an inlet node and an outlet node in a control flow diagram, and a basic path set of the program is a set of all paths of the program from the inlet node to the outlet node.
The software change influence domain analysis auxiliary system further comprises an analysis report template storage module, and the analysis report template storage module is used for storing a software change influence domain analysis report template in advance.
The influence domain analysis report generation module is used for receiving the software change influence domain, filling the analysis result required to be generated in the analysis report generation module according to the software change influence domain analysis report template, and generating the test report.
Wherein the system is adapted for use in situations where code changes affect the structure of a program.
The software change influence domain generated by the system comprises a newly-added control flow graph node and a change influence analysis result of a program path, and the change influence analysis is comprehensive.
(III) advantageous effects
Compared with the prior art, according to the technical scheme, by adopting the technical measures, the system can effectively improve the analysis accuracy of the software change influence domain, improve the software testing efficiency, reduce the testing cost, improve the testing working quality, reduce the software quality risk and save the time cost and the labor cost. The analysis aiming at the software change influence provided by the invention can provide guidance for automatic testing.
Drawings
Fig. 1 is a schematic diagram of the technical scheme of the invention.
Detailed Description
In order to make the objects, contents, and advantages of the present invention clearer, the following detailed description of the embodiments of the present invention will be made in conjunction with the accompanying drawings and examples.
The software change influence domain analysis in the regression test is an important process of the software test, has important significance for improving the test efficiency and guaranteeing the software quality, and is used for realizing the automatic analysis of the software change influence domain and improving the accuracy and efficiency of the analysis of the change influence domain.
Specifically, to solve the above technical problem, the present invention provides a software change impact domain analysis support system, as shown in fig. 1, the software change impact domain analysis support system includes: the software change influence domain analysis module and the influence domain analysis report generation module; wherein the content of the first and second substances,
the software change influence domain analysis module is used for analyzing a software change influence domain;
the influence domain analysis report generation module is used for analyzing the analysis result of the software change influence domain and generating an influence domain analysis report.
Wherein the software change impact domain analysis module comprises: the system comprises a control flow graph construction unit, a comparison mapping unit, a program basic path set construction unit, a program supplement path set generation unit, a change influence path set generation unit and a software change influence domain generation unit;
the control flow graph constructing unit is used for constructing a control flow graph of an original program and indicating the control flow relationship and the dependency relationship among program statements;
the comparison and mapping unit is used for scanning the original program and the modified program, comparing program source codes before and after modification to obtain modified contents, and mapping the modified contents into a program control flow graph to obtain a modified node set;
the program basic path set constructing unit is used for constructing a program basic path set on the basis of an original program control flow graph;
the program supplement path set generation unit is used for scanning the original program and the modified program, extracting added control flow graph nodes and generating a program supplement path set through the newly added nodes;
the change influence path set generation unit is used for generating a path covering change influence nodes on the basis of the program basic path set, and the set of the paths is a change influence path set;
the software change influence domain generating unit is used for carrying out collection operation on the change influence path set and the program supplement path set, and the final software change influence domain is obtained.
Wherein, the program basic path set means a program:
a path of a program refers to a statement sequence which is sequentially executed in the program, and is composed of a node sequence which comprises an inlet node and an outlet node in a control flow diagram, and a basic path set of the program is a set of all paths of the program from the inlet node to the outlet node.
The software change influence domain analysis auxiliary system further comprises an analysis report template storage module, and the analysis report template storage module is used for storing a software change influence domain analysis report template in advance.
The influence domain analysis report generation module is used for receiving the software change influence domain, filling the analysis result required to be generated in the analysis report generation module according to the software change influence domain analysis report template, and generating the test report.
Wherein the system is adapted for use in situations where code changes affect the structure of a program.
The software change influence domain generated by the system comprises a newly-added control flow graph node and a change influence analysis result of a program path, and the change influence analysis is comprehensive.
In addition, the present invention also provides a software change impact domain analysis assistance method, which is implemented based on a software change impact domain analysis assistance system, as shown in fig. 1, where the software change impact domain analysis assistance system includes: the software change influence domain analysis module and the influence domain analysis report generation module;
the method comprises the following steps:
step 1: the software change impact domain analysis module analyzes the software change impact domain;
step 2: and the influence domain analysis report generation module analyzes the analysis result of the influence domain changed by the software and generates an influence domain analysis report.
Wherein the software change impact domain analysis module comprises: the system comprises a control flow graph construction unit, a comparison mapping unit, a program basic path set construction unit, a program supplement path set generation unit, a change influence path set generation unit and a software change influence domain generation unit;
the step 1 comprises the following steps:
step 11: the control flow graph constructing unit constructs a control flow graph of an original program and is used for indicating the control flow relationship and the dependency relationship among program statements;
step 12: the comparison mapping unit scans the original program and the modified program, compares program source codes before and after modification to obtain modified contents, and maps the modified contents into a program control flow graph to obtain a modified node set;
step 13: the program basic path set constructing unit constructs a program basic path set on the basis of an original program control flow graph;
step 14: the program supplement path set generation unit scans the original program and the modified program, extracts the added control flow graph nodes and generates a program supplement path set through the newly added nodes;
step 15: the change influence path set generation unit generates a path covering change influence nodes on the basis of the program basic path set, and the set of the paths is a change influence path set;
step 16: and the software change influence domain generating unit carries out set combination operation on the change influence path set and the program supplement path set, so as to obtain a final software change influence domain.
Wherein, the program basic path set means a program:
a path of a program refers to a statement sequence which is sequentially executed in the program, and is composed of a node sequence which comprises an inlet node and an outlet node in a control flow diagram, and a basic path set of the program is a set of all paths of the program from the inlet node to the outlet node.
The software change influence domain analysis auxiliary system further comprises an analysis report template storage module, and a software change influence domain analysis report template is stored in the analysis report template storage module in advance.
In step 2, the influence domain analysis report generation module receives the software change influence domain, and fills in the analysis result required to be generated according to the software change influence domain analysis report template to generate the test report.
Wherein the method is suitable for the condition that the code change influences the program structure.
The software change influence domain generated by the method contains the newly added control flow graph nodes and the change influence analysis result of the program path, and the change influence analysis is comprehensive.
Examples
In this embodiment, the hierarchical structure of the software change impact domain analysis support system is shown in fig. 1. The process of the software change influence domain analysis auxiliary system for analyzing the influence domain comprises the following steps: a tester selects source codes of new and old versions at a user interface interaction layer, selects a storage path of analysis results of a change influence domain, a software change influence domain analysis auxiliary system calls a data integration scheduling layer, files under the storage path of the analysis results of the software change influence domain are screened and integrated through keyword search, and a user reads and analyzes the analysis results of the software change influence domain.
Currently, the system is already put into practical use in the software testing process. Under the condition that no software changes the influence domain auxiliary system, the change of the newly added node cannot be analyzed in a covering manner. Under the condition that the software change influence domain auxiliary system exists, the change influence domain of the new version software and the old version software can be automatically analyzed, the analysis time of testers is saved, and the efficiency can be effectively improved. Meanwhile, low-level errors caused by subjective factors of testers can be reduced, and the software regression testing quality is improved.
The above description is only a preferred embodiment of the present invention, and it should be noted that, for those skilled in the art, several modifications and variations can be made without departing from the technical principle of the present invention, and these modifications and variations should also be regarded as the protection scope of the present invention.

Claims (7)

1. A software change impact domain analysis assistance system, the software change impact domain analysis assistance system comprising: the software change influence domain analysis module and the influence domain analysis report generation module; wherein the content of the first and second substances,
the software change influence domain analysis module is used for analyzing a software change influence domain;
the influence domain analysis report generation module is used for analyzing the analysis result of the software change influence domain and generating an influence domain analysis report.
2. The software change impact domain analysis assistance system of claim 1 wherein said software change impact domain analysis module comprises: the system comprises a control flow graph construction unit, a comparison mapping unit, a program basic path set construction unit, a program supplement path set generation unit, a change influence path set generation unit and a software change influence domain generation unit;
the control flow graph constructing unit is used for constructing a control flow graph of an original program and indicating the control flow relationship and the dependency relationship among program statements;
the comparison and mapping unit is used for scanning the original program and the modified program, comparing program source codes before and after modification to obtain modified contents, and mapping the modified contents into a program control flow graph to obtain a modified node set;
the program basic path set constructing unit is used for constructing a program basic path set on the basis of an original program control flow graph;
the program supplement path set generation unit is used for scanning the original program and the modified program, extracting added control flow graph nodes and generating a program supplement path set through the newly added nodes;
the change influence path set generation unit is used for generating a path covering change influence nodes on the basis of the program basic path set, and the set of the paths is a change influence path set;
the software change influence domain generating unit is used for carrying out collection operation on the change influence path set and the program supplement path set, and the final software change influence domain is obtained.
3. The software change impact domain analysis assistance system according to claim 2 wherein said program base path set (program) means:
a path of a program refers to a statement sequence which is sequentially executed in the program, and is composed of a node sequence which comprises an inlet node and an outlet node in a control flow diagram, and a basic path set of the program is a set of all paths of the program from the inlet node to the outlet node.
4. The software change impact domain analysis assistance system according to claim 3 further comprising an analysis report template storage module for pre-storing a software change impact domain analysis report template.
5. The software change impact domain analysis assistance system of claim 4 wherein the impact domain analysis report generation module is configured to receive the software change impact domain and to fill in the analysis results required to be generated to generate the test report according to the software change impact domain analysis report template.
6. The software change impact domain analysis assistance system of claim 5 wherein said system is adapted for use where a code change impacts a program structure.
7. The software change impact domain analysis assistance system according to claim 6, wherein the software change impact domain generated by the system contains results of the change impact analysis of newly added control flow graph nodes and program paths, and the analysis of the change impact is comprehensive.
CN201911243145.3A 2019-12-06 2019-12-06 Software change impact domain analysis auxiliary system Pending CN111061634A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911243145.3A CN111061634A (en) 2019-12-06 2019-12-06 Software change impact domain analysis auxiliary system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911243145.3A CN111061634A (en) 2019-12-06 2019-12-06 Software change impact domain analysis auxiliary system

Publications (1)

Publication Number Publication Date
CN111061634A true CN111061634A (en) 2020-04-24

Family

ID=70299989

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911243145.3A Pending CN111061634A (en) 2019-12-06 2019-12-06 Software change impact domain analysis auxiliary system

Country Status (1)

Country Link
CN (1) CN111061634A (en)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102831056A (en) * 2012-07-31 2012-12-19 东南大学 Regression testing sample generating method based on modification impact analysis
CN102831057A (en) * 2012-08-13 2012-12-19 于秀山 Method for analyzing software function change and influence thereof by using function diagram
CN102880547A (en) * 2012-09-05 2013-01-16 无锡江南计算技术研究所 Source code change influence analyzing and testing method for software units and components with combination of phase
CN104503917A (en) * 2015-01-04 2015-04-08 牟永敏 Method and system for analyzing change impact domain based on data flow function invoking path
CN104699595A (en) * 2013-12-06 2015-06-10 北京大学 Software testing method facing to software upgrading
CN104834603A (en) * 2015-05-26 2015-08-12 牟永敏 Regression-testing-oriented control flow change influence domain analyzing method and system
CN108536585A (en) * 2018-03-19 2018-09-14 北京信息科技大学 Data change domain of influence analysis method
CN109388575A (en) * 2018-10-29 2019-02-26 北京京航计算通讯研究所 Static analysis householder method
WO2019063555A1 (en) * 2017-09-28 2019-04-04 Siemens Aktiengesellschaft Method and assembly for evaluating and testing systems for generating software

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102831056A (en) * 2012-07-31 2012-12-19 东南大学 Regression testing sample generating method based on modification impact analysis
CN102831057A (en) * 2012-08-13 2012-12-19 于秀山 Method for analyzing software function change and influence thereof by using function diagram
CN102880547A (en) * 2012-09-05 2013-01-16 无锡江南计算技术研究所 Source code change influence analyzing and testing method for software units and components with combination of phase
CN104699595A (en) * 2013-12-06 2015-06-10 北京大学 Software testing method facing to software upgrading
CN104503917A (en) * 2015-01-04 2015-04-08 牟永敏 Method and system for analyzing change impact domain based on data flow function invoking path
CN104834603A (en) * 2015-05-26 2015-08-12 牟永敏 Regression-testing-oriented control flow change influence domain analyzing method and system
WO2019063555A1 (en) * 2017-09-28 2019-04-04 Siemens Aktiengesellschaft Method and assembly for evaluating and testing systems for generating software
CN108536585A (en) * 2018-03-19 2018-09-14 北京信息科技大学 Data change domain of influence analysis method
CN109388575A (en) * 2018-10-29 2019-02-26 北京京航计算通讯研究所 Static analysis householder method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
董燕,侯成杰,邱芳: "一种基于更动影响域分析的回归测试方法", 《空间控制技术与应用》 *
薛一帆: "回归测试中测试用例优先化的研究与实现", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》 *

Similar Documents

Publication Publication Date Title
US6698012B1 (en) Method and system for testing behavior of procedures
Ammann et al. Using formal methods to derive test frames in category-partition testing
CN101739339B (en) Program dynamic dependency relation-based software fault positioning method
US8140911B2 (en) Dynamic software tracing
CN103577168A (en) Test case creation system and method
CN111078568B (en) Code specification method, apparatus, computer device and storage medium
CN105022691A (en) Highly automatic software testing method based on UML diagram
WO2012068850A1 (en) Method and system for constructing software version
CN104516732A (en) Application crash report method and system
CN107045477B (en) Quality assessment platform capable of carrying out multi-dimensional detection
CN113366453A (en) Generating test models from behavior driven development scenarios based on behavior driven development step definitions and similarity analysis using neuro-language programming and machine learning mechanisms
CN110716874B (en) Domestic operating system hardware compatibility testing method
CN112230988A (en) Interface document generation method and device, computer equipment and storage medium
US20090112554A1 (en) Test Bench, Method, and Computer Program Product for Performing a Test Case on an Integrated Circuit
CN110928760B (en) Unit test method and device in embedded system
CN101673200B (en) The detection method of user input model and device
CN116541308B (en) Regression testing method and system
CN113138937A (en) Test method and device
CN111061634A (en) Software change impact domain analysis auxiliary system
CN111008139A (en) Auxiliary method for analyzing influence domain of software change
CN101251820A (en) Software test method based on program operating field
CN112527634B (en) Program division method and device, software testing method and platform
CN112651199A (en) Quality verification platform and quality verification method
CN109857640B (en) Embedded code advanced verification method based on prototype design
CN113326193A (en) Applet testing method and device

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200424

RJ01 Rejection of invention patent application after publication