CN111061634A - Software change impact domain analysis auxiliary system - Google Patents
Software change impact domain analysis auxiliary system Download PDFInfo
- 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
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/3604—Software 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
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.
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)
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 |
-
2019
- 2019-12-06 CN CN201911243145.3A patent/CN111061634A/en active Pending
Patent Citations (9)
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)
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 |