[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN112131116B - Automatic regression testing method for embedded software - Google Patents

Automatic regression testing method for embedded software 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
Chinese (zh)
Other versions
CN112131116A (en
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/en
Publication of CN112131116A publication Critical patent/CN112131116A/en
Application granted granted Critical
Publication of CN112131116B publication Critical patent/CN112131116B/en
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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention discloses an automatic regression testing method of embedded software, which comprises the following steps: establishing an automated test platform, automated impact analysis, demand modification, design and code modification, test modification, defect management and knowledge base update. The invention can make project change respond rapidly by realizing the need, design, coding, test and execution without separation; by realizing the automatic establishment of the tracking matrix, the influence domain analysis can be realized quickly, omission is avoided, and the software quality is improved; the regression test is automated, so that the test efficiency can be improved, the cost can be reduced, and the project period can be shortened; by realizing automatic generation of the document, labor cost can be reduced, and document normalization can be improved.

Description

Automatic regression testing method for embedded software
Technical Field
The invention belongs to the field of software testing, and particularly relates to an automatic regression testing method for embedded software.
Background
The software test is to complete the test of software functions, performances, boundaries, interfaces, strength, reliability, safety, restorability, man-machine interaction and the like according to a software requirement document, a software detailed design document and a software interface design document. Software testing activities include document inspection, static analysis, code inspection, unit testing, integration testing, configuration item testing, and system testing. In the military software testing process, a large number of documents need to be generated according to the general requirements of the GJB438B military software development documents, including software test plans, software test descriptions, software test reports, software test case sets, software test records and the like. The software test aims to discover defects in the software as early as possible and ensure the quality of the software.
In the software maintenance phase, the software code is typically subject to multiple version upgrades. Version upgrade reasons include system demand changes, software design errors, perfect designs, test problems, zeroing quality problems, or changes caused by other reasons. After the software version is upgraded into the SVN code version control library, a tester needs to carry out regression test on the software version, so that the quality of the upgraded software is ensured.
In the software regression testing process, the traditional static testing method comprises static analysis, code examination, code walking and the like, wherein the static analysis and the code examination are usually completed by a third party testing tool, and a large number of complicated interface operations are required.
In the current development and maintenance stage of the onboard embedded software, when the system requirement, the software requirement or the software interface design document is changed, software testers cannot acquire the new changed requirement at the first time, so that the testing work is delayed. At present, the compiling of the documents and the recording of the test results cannot be completely separated from the manual mode. And thus occupies a relatively large amount of human resources. In the software regression testing process, the traditional static testing method needs a large amount of complicated interface operation, and has low efficiency.
Disclosure of Invention
The invention aims to provide an automatic regression testing method for embedded software, which integrates demand development and management, design development and management and test management into a unified platform and is used for solving the problems of low efficiency, incapability of timely response, complex flow and the like of the existing regression testing method.
In order to realize the tasks, the invention adopts the following technical scheme:
an automatic regression testing method for embedded software comprises the following steps:
step 1, an automatic test platform is established, wherein the platform comprises a demand development and management module, a design development and management module, a test management module and an automatic generation tracking matrix module; the demand development and management module is used for decomposing demands according to functions according to system demands and software demands and carrying out atomization treatment on the demands; the design development and management module is used for developing software detailed design, software interface design, software coding realization and design tracking management item by item; the test management module is used for developing test planning, test case programming, test execution, test result recording, defect management and regression test; the automatic generation tracking matrix module is used for establishing a tracking matrix;
step 2, automated impact analysis
The automatic test platform performs influence analysis through a tracking matrix according to input; identifying affected requirement data elements, detailed design data elements, interface design data elements, test item data elements and test case data elements according to the mapping relation recorded in the tracking matrix;
step 3, demand change
Judging whether the software requirement is changed, if so, changing a requirement data element of the software requirement, and updating the tracking matrix;
if not, executing the step 4;
step 4, design and coding change
Judging whether software design change exists or not; if so, changing the corresponding detailed design data element and the interface design data element, and changing the corresponding software source code data element; if no change exists, judging whether software source code change exists or not; if so, changing the corresponding software source code data element; if the software source code data element, the detailed design data element and the interface design data element are changed, updating the tracking matrix;
step 5, test modification
Including static testing and dynamic testing; if the requirement data element of the software requirement is changed, the dynamic test and the static test are required to be executed; if only the software source code data element is changed, only static test is needed to be executed;
step 6, defect management
For defects found in the test process, a software tester records an automatic test platform to generate a test defect report; the platform selectively pushes the defects to software design and development personnel according to the set defect types and reminds the software design and development personnel to process the defects;
step 7, updating the knowledge base
Respectively establishing a knowledge base for each test case data element and software defects, and adding each test case data element into a test case base; for typical defects after validation of changes by software design and developers, a typical defect library is added.
Further, the static test comprises static analysis, code examination, code walking; the code is changed, and automatic static analysis and code examination are automatically triggered and executed; calling an SVN software version library through a python script to automatically acquire difference codes before and after version change, and calling a third-party static analysis tool through the python script to automatically execute static analysis on the difference codes; calling a third party code examination tool through a script, automatically executing code examination on the difference code, and finally manually walking the code;
and the dynamic test is carried out by changing the data elements according to the requirements, changing the test items, changing the test cases, executing the dynamic test and recording the regression test result.
Further, the automated test platform includes a demand development and management module, a design development and management module, a test management module, and an automatic generation tracking matrix module, wherein:
the demand development and management module comprises a demand decomposition unit and a demand tracking management unit; wherein:
the demand decomposing unit is used for establishing system demands and software demands according to user demands proposed by users, taking the system demands and the software demands as inputs, decomposing the system demands and the software demands according to functions to be realized by the system demands and the software demands, and carrying out atomization treatment on the decomposed demands so as to establish demand data elements;
the demand tracking management unit is used for tracking the demand of the system according to the demand of the software, and establishing a mapping relation of the demand between the demand of the software and the demand of the system;
the design development and management module comprises a software detailed design unit, a software interface design unit, a software coding realization unit and a design tracking management unit, wherein:
the software detailed design unit is used for expanding the functional design corresponding to the requirement data elements item by item according to the requirement data elements of the software requirement to form detailed design data elements;
the software interface design unit is used for expanding interface designs corresponding to the requirement data elements item by item according to the requirement data elements of the software requirement to form interface design data elements;
the software coding realizing unit is used for carrying out software detailed design and software interface design through coding according to the detailed design data element and the interface design data element so as to form a software source code data element;
the design tracking management unit is used for establishing a mapping relation between a detailed design data element and a requirement data element of software requirement and a mapping relation between a software source code data element and the detailed design data element; mapping relation between software source code data elements and interface design data elements;
the test management module comprises a test planning unit, a test case compiling unit, a test tracking management unit, a test execution unit, a test result recording unit, a defect management unit and a regression test unit, wherein:
the test planning unit is used for establishing a software system test item data element and a software configuration item test item data element according to the requirement data element of the software requirement; establishing a software integration test item data element and a software unit test item data element according to the detailed design data element and the interface design data element;
the test case compiling unit is used for compiling system test case data elements according to the system test item data elements; compiling configuration item test case data elements according to the configuration item test item data elements; compiling an integrated test case data element according to the integrated test item data element, and compiling a unit test case data element according to the unit test item data element;
the test tracking management unit is used for establishing a mapping relation between software unit test item data elements and detailed design data elements and interface design data elements, establishing a mapping relation between software integrated test item data elements and detailed design data elements and interface design data elements, establishing a mapping relation between software configuration item test item data elements and software requirement data elements, establishing a mapping relation between software system test item data elements and system requirement data elements, and establishing a mapping relation between each test item data element and corresponding test item data element;
the test execution unit is used for executing the corresponding test cases according to the execution steps specified by the data elements of the test cases;
the test result recording unit is used for recording the result of each test case data element after execution, comparing the result with the expected result, and executing corresponding processing modes according to different comparison results;
the defect management unit is used for determining the existing software defects aiming at the test case data elements with the execution failure, forming the defect data elements and generating a problem report according to the template so as to enable a software design developer to repair the problems according to the problem report;
the regression test unit is used for tracking and identifying the affected test item data elements and the test case data elements according to the mapping relation when the demand data elements of the system demand, the demand data elements of the software demand, the detailed design data elements and the interface design data elements are changed, so that the testers supplement or change the affected test item data elements and the test case data elements;
and the automatic generation tracking matrix module is used for establishing a tracking matrix according to each mapping relation and displaying the tracking matrix.
Further, the establishing a mapping relation between the software requirement and the system requirement includes:
and establishing a mapping relation between the requirement data elements of the software requirement and the requirement data elements of the system requirement.
Further, the establishing a mapping relationship between each test case data element and the corresponding test item data element includes:
the method comprises the steps of establishing a mapping relation between system test case data elements and software system test item data elements, establishing a mapping relation between configuration item test case data elements and software configuration item test item data elements, establishing a mapping relation between integrated test case data elements and software integrated test item data elements, and establishing a mapping relation between unit test case data elements and software unit test item data elements.
Further, the test execution unit is configured to execute a corresponding test case according to an execution step specified by each test case data element, and includes:
executing the system test of the system test case data element, comprising: starting a third-party system testing tool through a driving script, automatically reading and executing system testing case data elements, and outputting a testing result;
executing the configuration item test of the configuration item test case data element comprises the following steps: starting a third party configuration item testing tool through a driving script, automatically reading and executing the configuration item test case data element, and outputting a test result;
executing the integration test of the integration test case data element, comprising: starting a third-party integrated test tool through a driving script, automatically reading and executing the data elements of the integrated test case, and outputting a test result;
and executing the unit test of the unit test case data element, starting a third-party unit test tool through a driving script, automatically reading the unit test case data element, executing the unit test case data element, and outputting a test result.
Further, the comparing with the expected result, executing corresponding processing modes according to the difference of the compared results, including:
if the execution result is the same as the expected result, the execution is successful, and the passing is judged; if the execution result is different from the expected result, the execution fails and is judged to be failed; and each test result is a test result data element, a test record is formed according to the test result data element and a template, and the number of test cases and the number of test problems are automatically counted.
Further, in the regression testing unit, if the repaired problem, such as the requirement data element of the system requirement, the requirement data element of the software requirement, the detailed design data element and the interface design data element, is not changed, the test case data element failed before re-execution is executed, and the execution result is recorded in the problem report.
Further, the requirement development and management module, the design development and management module and the test management module all comprise an automatic generation document unit for performing function recording.
The invention provides an automatic regression testing method of embedded software, which integrates demand development and management, design development and management and test management into a unified platform through software engineering. Then, the platform automatically establishes a tracking relationship and automatically analyzes the influence of the change (requirement change, design change, source code change, test item change and test case change). Finally, the platform realizes regression testing automation by calling a third party testing tool. The document platform which needs to be generated in the process can be automatically generated according to the template; compared with the prior art, the invention has the following technical characteristics:
1. by realizing the requirements, design, coding, testing and execution without separation, the project change can be responded quickly; 2. by realizing the automatic establishment of the tracking matrix, the influence domain analysis can be realized quickly, omission is avoided, and therefore, the software quality is improved. 3. The regression test is automated, so that the test efficiency can be improved, the cost can be reduced, and the project period can be shortened; 4. by realizing automatic generation of the document, labor cost can be reduced, and document normalization can be improved.
Drawings
FIG. 1 is a schematic flow chart of the method of the present invention;
FIG. 2 is a schematic diagram of an automated test platform according to the present invention;
FIG. 3 is an automated test platform external data flow;
FIG. 4 is a flow chart of an automated regression testing method for embedded software.
Detailed Description
The invention provides an automatic regression testing method for embedded software. The method integrates demand development and management, design development and management and test management into a unified platform through software engineering. Then, the platform automatically establishes a tracking relation and automatically analyzes influence of changes (demand changes, design changes, source codes changes, test item changes and test case changes); finally, the platform realizes regression testing automation by calling a third party testing tool. The document platform which needs to be generated in the process can be automatically generated according to the template.
Referring to fig. 1, the automatic regression testing method of embedded software of the present invention comprises the following steps:
step 1, an automatic test platform is established, wherein the platform comprises a demand development and management module, a design development and management module, a test management module and an automatic generation tracking matrix module; the demand development and management module is used for decomposing demands according to functions according to system demands and software demands and carrying out atomization treatment on the demands; the design development and management module is used for developing software detailed design, software interface design, software coding realization and design tracking management item by item; the test management module is used for developing test planning, test case programming, test execution, test result recording, defect management and regression test; the automatic generation tracking matrix module is used for establishing a tracking matrix.
Specifically, as shown in fig. 2, the automated test platform established in the present invention is described as follows:
the system comprises a demand development and management module, a design development and management module and a test management module, wherein:
1. demand development and management module
The system comprises a demand decomposition unit and a demand tracking management unit; wherein:
the system comprises a demand decomposition unit, a software analysis unit and a control unit, wherein the demand decomposition unit is used for establishing system demands and software demands according to user demands proposed by users, and the system demands refer to demands of software on a running system, wherein the demands comprise performance, running environment, operating system and the like; and taking the system requirements and the software requirements as input, decomposing the system requirements and the software requirements according to the functions to be realized by the system requirements and the software requirements, and carrying out atomization processing on the decomposed requirements so as to establish a requirement data element.
In the scheme, the data elements refer to corresponding function points, operations, functions and the like; for example, for a requirement data element of a software requirement, each requirement data element may refer to a functional point to be implemented by the software requirement, for example, a function of a certain software requirement to implement data processing and data analysis, and then the data processing and the data analysis may be respectively used as one requirement data element. For each test item, each data element may refer to a test requirement in the test item, where the test requirement corresponds to a requirement data element of a software requirement; for each test case data element; the test item data element and the test case data element have one-to-many relation, and one test item corresponds to a plurality of test cases. For example, if a test item requirement is a "page-turning" function, the corresponding test case data element is the corresponding test case designed for the test item requirement, for example, "page-up", "page-down", etc.
The demand tracking management unit is configured to track a system demand according to a software demand, and establish a mapping relationship between the software demand and the system demand, including: and establishing a mapping relation between the requirement data elements of the software requirement and the requirement data elements of the system requirement.
The requirement development and management module can also comprise an automatic generation document unit which is used for automatically generating a software requirement specification document according to the requirement data element and the template.
2. Design development and management module
The system comprises a software detailed design unit, a software interface design unit, a software code realization unit and a design tracking management unit, wherein:
the software detailed design unit is used for expanding the functional design corresponding to the requirement data elements item by item according to the requirement data elements of the software requirement to form detailed design data elements; the detailed design comprises the following steps: "design name", "design input", "design output", "design description", etc.
The software interface design unit is used for expanding interface designs corresponding to the requirement data elements item by item according to the requirement data elements of the software requirement to form interface design data elements; wherein the interface design includes: "data transfer", "data item name", "data size", "data order", and "concrete meaning", etc.
The software coding realizing unit is used for carrying out software detailed design and software interface design through coding according to the detailed design data element and the interface design data element so as to form a software source code data element;
the design tracking management unit is used for establishing a mapping relation between a detailed design data element and a requirement data element of software requirement and a mapping relation between a software source code data element and the detailed design data element; mapping relation between software source code data elements and interface design data elements.
The module may further include an automatically generated document unit: automatically generating a software detailed design document according to the detailed design data element and the template; and automatically generating a software interface design document according to the template according to the interface design data element.
3. Test management module
The test system comprises a test planning unit, a test case compiling unit, a test tracking management unit, a test execution unit, a test result recording unit, a defect management unit and a regression test unit, wherein:
the test planning unit is used for establishing a software system test item data element and a software configuration item test item data element according to the requirement data element of the software requirement; establishing a software integration test item data element and a software unit test item data element according to the detailed design data element and the interface design data element; and automatically generating a software test plan document according to the test item data element and the template.
The test case compiling unit is used for compiling system test case data elements according to the system test item data elements; compiling configuration item test case data elements according to the configuration item test item data elements; compiling an integrated test case data element according to the integrated test item data element, and compiling a unit test case data element according to the unit test item data element; and automatically generating a software test description document and a software test case set document according to the test case data element and the template.
The test tracking management unit is used for establishing a mapping relation between a software unit test item data element and a detailed design data element and an interface design data element, establishing a mapping relation between a software integrated test item data element and the detailed design data element and the interface design data element, establishing a mapping relation between a software configuration item test item data element and a software requirement data element, establishing a mapping relation between a software system test item data element and a system requirement data element, and establishing a mapping relation between each test item data element and a corresponding test item data element, and specifically comprises the following steps: the method comprises the steps of establishing a mapping relation between system test case data elements and software system test item data elements, establishing a mapping relation between configuration item test case data elements and software configuration item test item data elements, establishing a mapping relation between integrated test case data elements and software integrated test item data elements, and establishing a mapping relation between unit test case data elements and software unit test item data elements.
The test execution unit is used for executing the corresponding test case according to the execution steps specified by the data elements of each test case, and specifically comprises the following steps:
executing the system test of the system test case data element, comprising: starting a third-party system testing tool through a driving script, automatically reading and executing system testing case data elements, and outputting a testing result;
executing the configuration item test of the configuration item test case data element comprises the following steps: starting a third party configuration item testing tool through a driving script, automatically reading and executing the configuration item test case data element, and outputting a test result;
executing the integration test of the integration test case data element, comprising: starting a third-party integrated test tool through a driving script, automatically reading and executing the data elements of the integrated test case, and outputting a test result;
and executing the unit test of the unit test case data element, starting a third-party unit test tool through a driving script, automatically reading the unit test case data element, executing the unit test case data element, and outputting a test result.
The test result recording unit is used for recording the result of each test case data element after execution and comparing the result with the expected result, and executing corresponding processing modes according to different comparison results, specifically:
if the execution result is the same as the expected result, the execution is successful, and the passing is judged; if the execution result is different from the expected result, the execution fails and is judged to be failed; and each test result is a test result data element, a test record is formed according to the test result data element and a template, and the number of test cases and the number of test problems are automatically counted.
The defect management unit is used for determining the existing software defects aiming at the test case data elements with the execution failure, forming the defect data elements and generating a problem report according to the template so as to enable a software design developer to repair the problems according to the problem report; after the report is fed back to the design developer, the problem report is closed.
The regression testing unit is used for tracking and identifying the affected test item data elements and the test case data elements according to the mapping relation when the system requirement data elements, the software requirement data elements, the detailed design data elements and the interface design data elements are changed, so that the testers supplement or change the affected test item data elements and the test case data elements. In addition, in the regression testing unit, for the repaired problem, if the system requirement data element, the software requirement data element, the detailed design data element and the interface design data element are not changed, the test case data element which fails before re-execution is executed, and the execution result is recorded in the problem report.
The software automatic test system also comprises an automatic generation tracking matrix module which is used for establishing a tracking matrix according to each mapping relation and displaying the tracking matrix so as to display the association relation among the nodes in detail, so that after the requirements, the contents and the like are adjusted, the functional modules and units associated with the tracking matrix module are conveniently positioned, and the influence analysis is conveniently carried out.
Step 2, automated impact analysis
The automatic test platform performs influence analysis through a tracking matrix according to input; identifying affected requirement data elements, detailed design data elements, interface design data elements, test item data elements and test case data elements according to the mapping relation recorded in the tracking matrix;
step 3, demand change
Judging whether the software requirement is changed, if so, changing a requirement data element of the software requirement, and updating the tracking matrix; the software requirement change refers to, for example, problem change, code perfection and the like. If not, step 4 is performed.
Step 4, design and coding change
Judging whether software design change exists or not; if so, changing the corresponding detailed design data element and the interface design data element, and changing the corresponding software source code data element; if no change exists, judging whether software source code change exists or not; if so, changing the corresponding software source code data element; the modified software source code data elements are imported into the SVN code version control library. If the software source code data element, the detailed design data element and the interface design data element are changed, updating the tracking matrix;
step 5, test modification
Including static testing and dynamic testing; and determining test change contents according to the requirements, the design and the code change conditions. If the requirement data element of the software requirement is changed, the dynamic test and the static test are required to be executed; if only the software source code data elements are changed, only static testing needs to be performed. The static test comprises static analysis, code examination and code walking; the code is changed, and automatic static analysis and code examination are automatically triggered and executed; calling an SVN software version library through a python script to automatically acquire difference codes before and after version change, and calling a third-party static analysis tool through the python script to automatically execute static analysis on the difference codes; calling a third party code examination tool through a script, automatically executing code examination on the difference code, and finally manually walking the code;
and the dynamic test is carried out by changing the data elements according to the requirements, changing the test items, changing the test cases, executing the dynamic test and recording the regression test result. Updating the tracking matrix while changing the data elements.
Step 6, defect management
For defects found in the test process, a software tester records an automatic test platform to generate a test defect report; the platform selectively pushes the defects to software design and development personnel according to the set defect types, and reminds the software design and development personnel to process the defects.
Step 7, updating the knowledge base
Respectively establishing a knowledge base for each test case data element and software defects, and adding each test case data element into a test case base; for typical defects after validation of changes by software design and developers, a typical defect library is added.
The above embodiments are only for illustrating the technical solution of the present application, and are not limiting thereof; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced equally; such modifications and substitutions do not depart from the spirit and scope of the technical solutions of the embodiments of the present application, and are intended to be included in the scope of the present application.

Claims (7)

1. An automatic regression testing method for embedded software is characterized by comprising the following steps:
step 1, an automatic test platform is established, wherein the platform comprises a demand development and management module, a design development and management module, a test management module and an automatic generation tracking matrix module; the demand development and management module is used for decomposing demands according to functions according to system demands and software demands and carrying out atomization treatment on the demands; the design development and management module is used for developing software detailed design, software interface design, software coding realization and design tracking management item by item; the test management module is used for developing test planning, test case programming, test execution, test result recording, defect management and regression test; the automatic generation tracking matrix module is used for establishing a tracking matrix;
step 2, automated impact analysis
The automatic test platform performs influence analysis through a tracking matrix according to input; identifying affected requirement data elements, detailed design data elements, interface design data elements, test item data elements and test case data elements according to the mapping relation recorded in the tracking matrix;
step 3, demand change
Judging whether the software requirement is changed, if so, changing a requirement data element of the software requirement, and updating the tracking matrix;
if not, executing the step 4;
step 4, design and coding change
Judging whether software design change exists or not; if so, changing the corresponding detailed design data element and the interface design data element, and changing the corresponding software source code data element; if no change exists, judging whether software source code change exists or not; if so, changing the corresponding software source code data element; if the software source code data element, the detailed design data element and the interface design data element are changed, updating the tracking matrix;
step 5, test modification
Including static testing and dynamic testing; if the requirement data element of the software requirement is changed, the dynamic test and the static test are required to be executed; if only the software source code data element is changed, only static test is needed to be executed;
step 6, defect management
For defects found in the test process, a software tester records an automatic test platform to generate a test defect report; the platform selectively pushes the defects to software design and development personnel according to the set defect types and reminds the software design and development personnel to process the defects;
step 7, updating the knowledge base
Respectively establishing a knowledge base for each test case data element and software defects, and adding each test case data element into a test case base; adding a typical defect library for typical defects after modification confirmed by software design and developers;
the static test comprises static analysis, code examination and code walking; the code is changed, and automatic static analysis and code examination are automatically triggered and executed; calling an SVN software version library through a python script to automatically acquire difference codes before and after version change, and calling a third-party static analysis tool through the python script to automatically execute static analysis on the difference codes; calling a third party code examination tool through a script, automatically executing code examination on the difference code, and finally manually walking the code;
the dynamic test is carried out by a tester, changing data elements according to requirements, changing test items, changing test cases, executing the dynamic test and recording regression test results;
the automatic test platform comprises a demand development and management module, a design development and management module, a test management module and an automatic generation tracking matrix module, wherein:
the demand development and management module comprises a demand decomposition unit and a demand tracking management unit; wherein:
the demand decomposing unit is used for establishing system demands and software demands according to user demands proposed by users, taking the system demands and the software demands as inputs, decomposing the system demands and the software demands according to functions to be realized by the system demands and the software demands, and carrying out atomization treatment on the decomposed demands so as to establish demand data elements;
the demand tracking management unit is used for tracking the demand of the system according to the demand of the software, and establishing a mapping relation of the demand between the demand of the software and the demand of the system;
the design development and management module comprises a software detailed design unit, a software interface design unit, a software coding realization unit and a design tracking management unit, wherein:
the software detailed design unit is used for expanding the functional design corresponding to the requirement data elements item by item according to the requirement data elements of the software requirement to form detailed design data elements;
the software interface design unit is used for expanding interface designs corresponding to the requirement data elements item by item according to the requirement data elements of the software requirement to form interface design data elements;
the software coding realizing unit is used for carrying out software detailed design and software interface design through coding according to the detailed design data element and the interface design data element so as to form a software source code data element;
the design tracking management unit is used for establishing a mapping relation between a detailed design data element and a requirement data element of software requirement and a mapping relation between a software source code data element and the detailed design data element; mapping relation between software source code data elements and interface design data elements;
the test management module comprises a test planning unit, a test case compiling unit, a test tracking management unit, a test execution unit, a test result recording unit, a defect management unit and a regression test unit, wherein:
the test planning unit is used for establishing a software system test item data element and a software configuration item test item data element according to the requirement data element of the software requirement; establishing a software integration test item data element and a software unit test item data element according to the detailed design data element and the interface design data element;
the test case compiling unit is used for compiling system test case data elements according to the system test item data elements; compiling configuration item test case data elements according to the configuration item test item data elements; compiling an integrated test case data element according to the integrated test item data element, and compiling a unit test case data element according to the unit test item data element;
the test tracking management unit is used for establishing a mapping relation between software unit test item data elements and detailed design data elements and interface design data elements, establishing a mapping relation between software integrated test item data elements and detailed design data elements and interface design data elements, establishing a mapping relation between software configuration item test item data elements and software requirement data elements, establishing a mapping relation between software system test item data elements and system requirement data elements, and establishing a mapping relation between each test item data element and corresponding test item data element;
the test execution unit is used for executing the corresponding test cases according to the execution steps specified by the data elements of the test cases;
the test result recording unit is used for recording the result of each test case data element after execution, comparing the result with the expected result, and executing corresponding processing modes according to different comparison results;
the defect management unit is used for determining the existing software defects aiming at the test case data elements with the execution failure, forming the defect data elements and generating a problem report according to the template so as to enable a software design developer to repair the problems according to the problem report;
the regression test unit is used for tracking and identifying the affected test item data elements and the test case data elements according to the mapping relation when the demand data elements of the system demand, the demand data elements of the software demand, the detailed design data elements and the interface design data elements are changed, so that the testers supplement or change the affected test item data elements and the test case data elements;
and the automatic generation tracking matrix module is used for establishing a tracking matrix according to each mapping relation and displaying the tracking matrix.
2. The method for automated regression testing of embedded software of claim 1, wherein the establishing a mapping of requirements between software requirements and system requirements comprises:
and establishing a mapping relation between the requirement data elements of the software requirement and the requirement data elements of the system requirement.
3. The method for automated regression testing of embedded software of claim 1, wherein the establishing a mapping between each test case data element to a corresponding test item data element comprises:
the method comprises the steps of establishing a mapping relation between system test case data elements and software system test item data elements, establishing a mapping relation between configuration item test case data elements and software configuration item test item data elements, establishing a mapping relation between integrated test case data elements and software integrated test item data elements, and establishing a mapping relation between unit test case data elements and software unit test item data elements.
4. The method of claim 1, wherein the test execution unit is configured to execute the corresponding test case according to the execution step specified by each test case data element, and the method comprises:
executing the system test of the system test case data element, comprising: starting a third-party system testing tool through a driving script, automatically reading and executing system testing case data elements, and outputting a testing result;
executing the configuration item test of the configuration item test case data element comprises the following steps: starting a third party configuration item testing tool through a driving script, automatically reading and executing the configuration item test case data element, and outputting a test result;
executing the integration test of the integration test case data element, comprising: starting a third-party integrated test tool through a driving script, automatically reading and executing the data elements of the integrated test case, and outputting a test result;
and executing the unit test of the unit test case data element, starting a third-party unit test tool through a driving script, automatically reading the unit test case data element, executing the unit test case data element, and outputting a test result.
5. The method of claim 1, wherein comparing the expected result with the expected result and executing the corresponding processing mode according to the difference of the comparison result comprises:
if the execution result is the same as the expected result, the execution is successful, and the passing is judged; if the execution result is different from the expected result, the execution fails and is judged to be failed; and each test result is a test result data element, a test record is formed according to the test result data element and a template, and the number of test cases and the number of test problems are automatically counted.
6. The method according to claim 1, wherein for the repaired problem in the regression testing unit, if the system requirement data element, the software requirement data element, the detailed design data element, and the interface design data element are unchanged, the test case data element failed before the re-execution is re-executed, and the execution result is recorded in the problem report.
7. The method for automatic regression testing of embedded software according to claim 1, wherein the requirement development and management module, the design development and management module and the test management module each comprise an automatic generation document unit for performing function recording.
CN202011022176.9A 2020-09-25 2020-09-25 Automatic regression testing method for embedded software Active CN112131116B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011022176.9A CN112131116B (en) 2020-09-25 2020-09-25 Automatic regression testing method for embedded software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011022176.9A CN112131116B (en) 2020-09-25 2020-09-25 Automatic regression testing method for embedded software

Publications (2)

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

Family

ID=73839497

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011022176.9A Active CN112131116B (en) 2020-09-25 2020-09-25 Automatic regression testing method for embedded software

Country Status (1)

Country Link
CN (1) CN112131116B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112667507A (en) * 2020-12-28 2021-04-16 上海科梁信息工程股份有限公司 Embedded software demand management method and system and electronic equipment
CN112817623B (en) * 2021-01-26 2021-10-08 北京自如信息科技有限公司 Method and device for publishing application program, mobile terminal and readable storage medium
CN113642306A (en) * 2021-07-29 2021-11-12 一汽奔腾轿车有限公司 Management method and management system for test problems of electrical function test
CN114398291B (en) * 2022-01-25 2023-06-13 中国电子科技集团公司第十研究所 Software regression testing influence domain analysis method and system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103106138A (en) * 2011-11-15 2013-05-15 阿里巴巴集团控股有限公司 Method and device for synchronization of test case and test script
CN104407971A (en) * 2014-11-18 2015-03-11 中国电子科技集团公司第十研究所 Method for automatically testing embedded software
CN105117335A (en) * 2015-08-26 2015-12-02 卡斯柯信号有限公司 Method for automated verification and regression test of software unit
CN107315679A (en) * 2017-05-12 2017-11-03 昆明奥多智能科技有限公司 A kind of embedded software automation exact p-value method and test system
CN111597115A (en) * 2020-05-19 2020-08-28 上海航天计算机技术研究所 Automatic closed-loop test system and test method for embedded operating system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007535723A (en) * 2003-11-04 2007-12-06 キンバリー クラーク ワールドワイド インコーポレイテッド A test tool including an automatic multidimensional traceability matrix for implementing and verifying a composite software system
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 (en) * 2011-11-15 2013-05-15 阿里巴巴集团控股有限公司 Method and device for synchronization of test case and test script
CN104407971A (en) * 2014-11-18 2015-03-11 中国电子科技集团公司第十研究所 Method for automatically testing embedded software
CN105117335A (en) * 2015-08-26 2015-12-02 卡斯柯信号有限公司 Method for automated verification and regression test of software unit
CN107315679A (en) * 2017-05-12 2017-11-03 昆明奥多智能科技有限公司 A kind of embedded software automation exact p-value method and test system
CN111597115A (en) * 2020-05-19 2020-08-28 上海航天计算机技术研究所 Automatic closed-loop test system and test method for embedded operating system

Also Published As

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

Similar Documents

Publication Publication Date Title
CN112131116B (en) Automatic regression testing method for embedded software
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
CN108845940B (en) Enterprise-level information system automatic function testing method and system
US20170228220A1 (en) Self-healing automated script-testing tool
US11651272B2 (en) Machine-learning-facilitated conversion of database systems
US20080010535A1 (en) Automated and configurable system for tests to be picked up and executed
CN112486557A (en) Development-based complete life cycle management platform and method
CN104407971A (en) Method for automatically testing embedded software
US20240152784A1 (en) Proactively detecting and predicting potential breakage or support issues for impending code changes
CN111679977B (en) Method, equipment and storage medium for testing exact project unit based on Jest
CN115454869A (en) Interface automation test method, device, equipment and storage medium
CN110990274A (en) Data processing method, device and system for generating test case
CN110928760B (en) Unit test method and device in embedded system
CN112052181B (en) Embedded software automation test system based on software engineering
US20070198927A1 (en) Computer-implemented systems and methods for an automated application interface
CN113742249B (en) Test script granulation method and system based on desktop operating system
KR20120111618A (en) Apparatus and method for testing plc command
US20200125480A1 (en) Intelligent unitizer test plug-in
CN112035356B (en) Automatic testing method and system for web application compatibility
KR102201845B1 (en) Automation unit test method of multi-task based software and system for the same
WO2021131435A1 (en) Program development assistance system and program development assistance method
CN113986263A (en) Code automation test method, device, electronic equipment and storage medium

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