CN-121979780-A - Continuous integration and testing device and method for flight control software
Abstract
The invention provides a continuous integration and test device and method for flight control software, which loads all models and all codes of the flight control software to be integrated and tested through a product management and task allocation module, performs task decomposition and task pushing on automatic integration and testing of all models and all codes, respectively checks all subtask models and all subtask codes through a model and code integration compiling module, jointly compiles all subtask codes which are qualified in checking and codes generated by all subtask models to form executable target codes, and finally, respectively performs desktop level testing on all subtask models through a model and code testing module, performs unit level testing on all subtask codes and performs virtual simulation testing on the executable target codes. The invention solves the problems of serial execution, higher dependence on manpower, easy omission and error, lower research and development efficiency and the like in the traditional flight control software integration and test.
Inventors
- JI FENGCAI
- ZHU LIPING
- XU CI
- WANG XIAORAN
Assignees
- 中国航空工业集团公司西安飞行自动控制研究所
Dates
- Publication Date
- 20260505
- Application Date
- 20251224
Claims (9)
- 1. The continuous integration and test device for the flight control software is characterized by comprising a product management and task distribution module, a model and code integration compiling module and a model and code test module which are connected in sequence; The product management and task allocation module is used for loading all models and all codes of the flight control software to be integrated and tested, and carrying out task decomposition and task pushing on the automatic integration and testing of all models and all codes so as to push the decomposed subtask models and subtask codes into the model and code integration compiling module; The model and code integrated compiling module is used for respectively checking each subtask model and each subtask code, and carrying out joint compiling on all subtask codes which are qualified in checking and codes generated by all subtask models so as to form executable target codes; The model and code test module is used for respectively executing desktop level test on each subtask model, executing unit level test on each subtask code and executing virtual simulation test on executable target code.
- 2. The device for continuously integrating and testing the flight control software according to claim 1, wherein the product management and task allocation module comprises a code management unit and a continuous integration and task allocation unit which are connected; The code management unit is used for loading all models and all codes of the flight control software to be integrated and tested, and realizing the hosting, archiving and version management of each model and each code; the continuous integration and test task allocation unit is used for carrying out task decomposition and task pushing on the automatic integration and test tasks of all models and all codes and pushing all the decomposed subtask models and all the subtask codes to the model and code integration compiling module.
- 3. The device for continuously integrating and testing the flight control software according to claim 2, wherein the model and code integrated compiling module comprises a model checking and calculating unit and a code checking and compiling unit which are respectively connected with the continuous integrating and testing task distributing unit; the continuous integration and test task allocation unit is specifically configured to push each decomposed subtask model to the model checking and calculating unit, and push each decomposed subtask code to the code checking and compiling unit; The model checking and calculating unit is used for executing automatic checking on each subtask model, automatically generating codes corresponding to the subtask models according to checking results, transmitting each subtask model to the model and the code testing module, transmitting the codes corresponding to each subtask model to the code checking and compiling unit and executing joint compiling of the codes; The code checking and compiling unit is used for executing static analysis checking on each subtask code, executing joint compiling on all subtask codes and codes corresponding to the subtask models transferred from the model checking and calculating unit to form executable target codes, and transferring the subtask codes and the executable target codes to the model and the code testing module.
- 4. The device for continuously integrating and testing the flight control software according to claim 3, wherein the model and code testing module comprises a model and manual coding testing unit connected with the model checking and calculating unit and the code checking and compiling unit respectively, and a virtual simulation testing unit connected with the code checking and compiling unit; The code checking and compiling unit specifically transmits each subtask code to the model and manual coding test unit and transmits the executable target code to the virtual simulation test unit; The model and manual coding test unit is used for executing automatic model desktop simulation test on each subtask model and executing unit level test on each subtask code; The virtual simulation test unit is used for executing software virtual simulation operation on the executable target code by adopting a virtualization tool based on a hardware CPU so as to realize virtual simulation closed-loop test.
- 5. A continuous integration and testing device for flight control software as claimed in claim 4, wherein, The model checking and calculating unit is also used for returning a model checking result to the continuous integrating and testing task distributing unit after the execution of the subtask model is completed; the code checking and compiling unit is also used for returning a code checking result to the continuous integrating and testing task distributing unit after the execution of the subcode task is completed; the model and manual coding test unit is also used for returning the simulation test result of the model desktop to the continuous integration and test task distribution unit after the execution of the sub-code task is completed; The virtual simulation test unit is also used for returning a virtual simulation closed-loop test result to the continuous integration and test task distribution unit after the execution of the sub-code task is completed; The continuous integration and test task allocation unit is also used for realizing unified management of returned results of all modules.
- 6. A method for continuously integrating and testing flight control software, characterized in that the method for continuously integrating and testing flight control software by adopting the device for continuously integrating and testing flight control software according to any one of claims 1-5 comprises the following steps: step 1, submitting all models and all codes of flight control software to a product management and task allocation module through a personal terminal of a software development machine; Step 2, performing task decomposition and task pushing on automatic integration and testing of all models and all codes through a product management and task distribution module so as to push decomposed subtask models and subtask codes into a model and code integration compiling module; Step 3, checking each subtask model and each subtask code through a model and code integration compiling module, and performing joint compiling on all subtask codes qualified in checking and codes generated by all subtask models to form executable target codes; and 4, performing desktop level test on each subtask model through the model and the code test module, performing unit level test on each subtask code, and performing virtual simulation test on the executable target code.
- 7. The method according to claim 6, wherein the product management and task allocation module comprises a code management unit and a continuous integration and test task allocation unit which are connected, the model and code integration compiling module comprises a model checking and calculating unit and a code checking and compiling unit which are respectively connected with the continuous integration and test task allocation unit, and the step 2 comprises: step 21, the continuous integration and test task allocation unit automatically identifies the type of the software product file, distinguishes the model file and the code file, and executes the decomposition of the integration and test task based on the file type; Step 22, when the continuous integration and test task allocation unit judges that the software product is a design model file, the continuous integration and test task allocation unit encapsulates the software product into a subtask model and pushes the subtask model to the model checking and calculating unit; Step 23, when the continuous integration and test task allocation unit judges that the software product is a code file, the continuous integration and test task allocation unit comprises a high-level language code and an assembly language code file, packages the high-level language code and the assembly language code file into a subtask code, and pushes the subtask code to the code checking and compiling unit; And step 24, correspondingly receiving the subtask models and the subtask codes pushed by the continuous integration and test task allocation unit by the model checking and calculating unit and the code checking and compiling unit, and automatically loading the corresponding subtask models and the subtask codes.
- 8. The method according to claim 7, wherein the model and code test module includes a model and manual code test unit connected to a model checking and calculating unit and a code checking and compiling unit, respectively, and a virtual simulation test unit connected to the code checking and compiling unit, and the step 3 includes: step 31, after loading each subtask model, the model checking and calculating unit executes the design error checking, the design rule checking and the model calculation of each subtask model; step 32, after the code checking and compiling unit loads each sub-task code, executing static analysis checking on each sub-task code; Step 33, when the model checking and calculating unit checks each sub task model passing the checking, executing model calculation and automatically generating codes of each sub task model, and pushing codes corresponding to each sub task model to the code checking and compiling unit; step 34, the code checking and compiling unit judges each sub-task code passing the static checking and continues to execute step 35, otherwise, the non-passing result is returned to the continuous integrating and testing task distributing unit; Step 35, the code checking and compiling unit loads the code automatically generated by each subtask model checked by the model, and executes joint compiling with each subtask code detected by the model checking unit, namely executing compiling of complete software engineering to form executable target codes; And step 36, the code checking and compiling unit pushes the executable target code formed by the combined compiling to the virtual simulation testing unit to execute the virtual simulation operation of the software, and if errors are reported in the compiling process, the error reporting result is returned to the continuous integrating and testing task allocation unit.
- 9. The method for continuously integrating and testing the flight control software according to claim 8, wherein the step 4 comprises: Step 41, loading each subtask model pushed by the model checking and calculating unit by the model and manual coding testing unit, executing automatic model desktop simulation test on each subtask model, completing automatic analysis of test results, and returning the test results to the continuous integration and test task allocation unit; Step 42, the model and manual coding test unit loads each subtask code pushed by the model checking and calculating unit, executes the code unit level test on each subtask code, completes the automatic analysis of the test result, and returns the test result to the continuous integration and test task allocation unit; Step 43, a virtual simulation test unit loads the executable object code pushed by the code checking and compiling unit, executes software virtual simulation operation on the executable object code by adopting a virtualization tool based on a hardware CPU, and completes automatic analysis of a test result, namely, the virtual simulation closed-loop test is realized; and 44, continuously integrating and testing the task allocation unit, and loading and managing the test results returned by the model, the manual coding test unit and the virtual simulation test unit.
Description
Continuous integration and testing device and method for flight control software Technical Field The invention relates to the technical field of development of airborne flight control software, in particular to a continuous integration and testing device and method for the flight control software. Background In the process of realizing agile development, the airborne flight control system software has the characteristics of large scale, complex functions, coupled development of design models and manual codes, multiple software partitions and multiple software configuration items, so that the integration and test of the software are difficult and the efficiency is low. In the traditional integration flow aiming at the airborne flight control software, after the model or manual coding development of each module is completed, the software integration engineering is needed to manually integrate the developed products into the complete engineering. With the increase of the code scale and complexity of the flight control software project based on model design, a great number of integrating, compiling and testing tasks need to be completed manually. Before software integration, the design check of the model itself, the consistency check of the model generated code and the static check of the manual code all need to output check reports before software integration, and static problems need to be ensured to be avoided manually. In software version change, a test engineer is required to manually execute test cases one by one aiming at design models of different modules and functional regression tests of manual codes, feedback results are manually transmitted, human resources are occupied, and omission and errors are easy to cause. In the digital era, the integration and test efficiency of large and complex flight control software projects relate to whether a development unit can quickly respond to customer demands, the design goal is to output high-quality equipment software products according to nodes, and the traditional mode has high dependence on manpower, so that the integration and test flow of the flight control software are required to be improved, and the flight control software can automatically run. Disclosure of Invention The invention aims to provide a continuous integration and test device and method for flight control software, which aim to solve the problems of high occupied force resources, easy omission and error, low efficiency and the like caused by high degree of dependence on manpower in the traditional integration and test scheme for the flight control software. The technical scheme of the invention is that in a first aspect, the invention provides a continuous integration and test device for flight control software, which comprises a product management and task distribution module, a model and code integration compiling module, a model and code test module, which are connected in sequence; The product management and task allocation module is used for loading all models and all codes of the flight control software to be integrated and tested, and carrying out task decomposition and task pushing on the automatic integration and testing of all models and all codes so as to push the decomposed subtask models and subtask codes into the model and code integration compiling module; The model and code integrated compiling module is used for respectively checking each subtask model and each subtask code, and carrying out joint compiling on all subtask codes which are qualified in checking and codes generated by all subtask models so as to form executable target codes; The model and code test module is used for respectively executing desktop level test on each subtask model, executing unit level test on each subtask code and executing virtual simulation test on executable target code. Optionally, in the continuous integration and test device for flight control software, the product management and task allocation module comprises a code management unit and a continuous integration and test task allocation unit which are connected; The code management unit is used for loading all models and all codes of the flight control software to be integrated and tested, and realizing the hosting, archiving and version management of each model and each code; the continuous integration and test task allocation unit is used for carrying out task decomposition and task pushing on the automatic integration and test tasks of all models and all codes and pushing all the decomposed subtask models and all the subtask codes to the model and code integration compiling module. Optionally, in the continuous integration and test device for flight control software, the model and code integration compiling module comprises a model checking and calculating unit and a code checking and compiling unit which are respectively connected with the continuous integration and test task allocation unit; the continuous integration and test tas