Software integration testing method, device, equipment and storage medium

By generating and executing software integration test cases based on operation scenarios, and using the station data table of the rail transit system to determine the test data, the problem of low efficiency of rail transit software integration testing is solved, and more efficient and high-quality testing is achieved.

CN114090439BActive Publication Date: 2025-03-28TRAFFIC CONTROL TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111356560.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-16
Publication Date
2025-03-28
Estimated Expiration
2041-11-16

AI Technical Summary

Technical Problem

In the field of rail transit, software integration testing efficiency is low, and a large number of pile units and drive units are required to develop and maintain, resulting in difficult to ensure testing efficiency and quality.

Method used

By generating software integration test cases based on rail transit system software profile design documentation and operational scenario files, and determining test data using station maps and station data tables, performing test cases and analyzing results to output code coverage.

Benefits of technology

This method reduces the development and maintenance of pile units and drive units, improves the efficiency and quality of software integration testing, and can more accurately simulate the actual operation scenarios of rail transit systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114090439B_ABST
    Figure CN114090439B_ABST
Patent Text Reader

Abstract

The embodiments of the present disclosure provide a software integration test method, device, equipment and storage medium. The method includes: generating software integration test cases corresponding to multiple operation scenarios according to the software outline design description file and operation scenario file of the rail transit system software to be tested; determining the test data of multiple software integration test cases according to the station map, station data table and multiple operation scenarios of the rail transit system; executing multiple software integration test cases according to the test data of multiple software integration test cases; analyzing the execution results and outputting the code coverage. In this way, the actual operation scenario can be simulated for software integration testing, reducing the development and maintenance of pile units and drive units, and improving the efficiency and quality of software integration testing.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of rail transportation, and in particular to a software integration testing method, device, equipment and storage medium. Background Art

[0002] Currently, software releases are becoming more frequent, and the goal of many companies is to quickly release high-quality software. In the field of rail transit, the ultimate goal is to quickly release high-quality and highly secure software. Therefore, strict integration testing of software is required in the field of rail transit. However, due to the large size of the rail transit system, a large number of pile units and drive units need to be developed and maintained during the integration testing of the rail transit system software, resulting in low testing efficiency. Summary of the invention

[0003] The present disclosure provides a software integration testing method, apparatus, device and storage medium, which can improve the efficiency and quality of software integration testing.

[0004] In a first aspect, an embodiment of the present disclosure provides a software integration testing method, the method comprising:

[0005] Generate software integration test cases corresponding to multiple operation scenarios based on the software outline design description file and operation scenario file of the rail transit system software to be tested;

[0006] Determine the test data for multiple software integration test cases based on the station diagram, station data table and multiple operation scenarios of the rail transit system;

[0007] Execute multiple software integration test cases according to the test data of the multiple software integration test cases;

[0008] Analyze execution results and output code coverage.

[0009] In some implementations of the first aspect, software integration test cases corresponding to multiple operation scenarios are generated according to a software outline design description file and an operation scenario file of the rail transit system software to be tested, including:

[0010] Analyze the software outline design description documents and operation scenario documents, and generate software integration test cases corresponding to multiple operation scenarios based on the black box testing method.

[0011] In some implementations of the first aspect, the test data includes: test input data and expected test output data;

[0012] According to the station map, station data table and multiple operation scenarios of the rail transit system, determine the test data of multiple software integration test cases, including:

[0013] According to the scene positions of the operation scenes corresponding to the multiple software integration test cases in the station map, data is extracted from the station data table to obtain the test input data of the multiple software integration test cases;

[0014] The test input data of the multiple software integration test cases are analyzed based on the operation scenarios corresponding to the multiple software integration test cases to obtain the expected test output data of the multiple software integration test cases.

[0015] In some implementations of the first aspect, the test input data includes operation scenario line data and operation scenario configuration data;

[0016] According to the scene positions of the operation scenarios corresponding to the multiple software integration test cases in the station map, data is extracted from the station data table to obtain the test input data of the multiple software integration test cases, including:

[0017] According to the scene positions of the operation scenes corresponding to the multiple software integration test cases in the station map, data is extracted from the station data table to obtain the operation scene line data of the multiple software integration test cases;

[0018] The scene positions of the operation scenarios corresponding to the multiple software integration test cases in the site map are displayed, and the operation scenario configuration data of the multiple software integration test cases input by the user are received.

[0019] In some implementations of the first aspect, the method further includes:

[0020] Determine software integration test strategies for the multiple software integration test cases according to program entrances and program exits of the multiple software integration test cases in the rail transit system software and global variables associated with the multiple software integration test cases in the rail transit system software;

[0021] Generate test function sequences of multiple software integration test cases according to software integration test strategies of multiple software integration test cases;

[0022] Execute multiple software integration test cases based on the test data of multiple software integration test cases, including:

[0023] Execute multiple software integration test cases according to their test data and test function sequences.

[0024] In some implementations of the first aspect, executing multiple software integration test cases according to the test data and test function sequences of the multiple software integration test cases includes:

[0025] Load the data in the station data table through the software dynamic testing tool, and import the test input data of multiple software integration test cases into the software dynamic testing tool;

[0026] Execute the test function sequence of multiple software integration test cases based on the software dynamic testing tool to obtain the actual test output data;

[0027] Determine that the software integration test cases whose expected test output data is consistent with the actual test output data have passed the test;

[0028] It is determined that the software integration test cases for which the expected test output data is inconsistent with the actual test output data have failed the test.

[0029] In some implementations of the first aspect, the method further includes: counting the code not covered after the execution of the plurality of software integration test cases;

[0030] If it is determined based on uncovered code that multiple software integration test cases do not meet the preset software integration test completeness conditions, then add new test cases;

[0031] If it is determined based on the uncovered code that the uncovered code logic is unreachable, the uncovered code is repaired.

[0032] In a second aspect, an embodiment of the present disclosure provides a software integration testing device, the device comprising:

[0033] A generation module, used to generate software integration test cases corresponding to multiple operation scenarios according to the software outline design description file and operation scenario file of the rail transit system software to be tested;

[0034] A determination module is used to determine test data for multiple software integration test cases based on a station diagram, a station data table, and multiple operation scenarios of a rail transit system;

[0035] An execution module, used for executing multiple software integration test cases according to the test data of the multiple software integration test cases;

[0036] Analysis module, used to analyze execution results and output code coverage.

[0037] In a third aspect, an embodiment of the present disclosure provides an electronic device, comprising: at least one processor; and a memory communicatively connected to the at least one processor; the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the method described above.

[0038] In a fourth aspect, an embodiment of the present disclosure provides a non-transitory computer-readable storage medium storing computer instructions, where the computer instructions are used to enable a computer to execute the method described above.

[0039] In a fifth aspect, an embodiment of the present disclosure provides a computer program product, which includes a computer program, and when the computer program is executed by a processor, it implements the method described above.

[0040] In the present disclosure, the test data of the software integration test cases corresponding to the operation scenarios can be determined based on the station map and station data table of the rail transit system, so that the actual operation scenarios of the rail transit system can be simulated to perform software integration testing, reduce the development and maintenance of pile units and drive units, and improve the efficiency and quality of software integration testing.

[0041] It should be understood that the contents described in the summary of the invention are not intended to limit the key or important features of the embodiments of the present disclosure, nor are they intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0042] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. The accompanying drawings are used to better understand the present solution and do not constitute a limitation of the present disclosure. In the accompanying drawings, the same or similar reference numerals represent the same or similar elements, among which:

[0043] Figure 1 A schematic diagram showing an exemplary operating environment in which embodiments of the present disclosure can be implemented;

[0044] Figure 2 A flowchart of a software integration testing method provided by an embodiment of the present disclosure is shown;

[0045] Figure 3 A structural diagram of a software integration testing device provided by an embodiment of the present disclosure is shown;

[0046] Figure 4 A structural diagram of an exemplary electronic device capable of implementing an embodiment of the present disclosure is shown. DETAILED DESCRIPTION

[0047] In order to make the purpose, technical solution and advantages of the embodiments of the present disclosure clearer, the technical solution in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are part of the embodiments of the present disclosure, not all of the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present disclosure.

[0048] In addition, the term "and / or" in this article is only a description of the association relationship between the associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship.

[0049] In view of the problems in the background technology, the embodiments of the present disclosure provide a software integration test method, device, equipment and storage medium. Specifically, the test data of the software integration test case corresponding to the operation scenario of the rail transit system can be determined based on the station map and station data table of the rail transit system, so that the actual operation scenario of the rail transit system can be simulated to perform software integration testing, reduce the development and maintenance of the pile unit and the drive unit, and improve the efficiency and quality of the software integration test.

[0050] The software integration testing method, apparatus, device and storage medium provided by the embodiments of the present disclosure are described in detail below with reference to the accompanying drawings through specific embodiments.

[0051] Figure 1 A schematic diagram of an exemplary operating environment 100 in which embodiments of the present disclosure can be implemented is shown. Figure 1 As shown, the operating environment 100 may include an electronic device 110 and a server 120, and the electronic device 110 may be communicatively connected to the server 120 via a wired network or a wireless network.

[0052] The electronic device 110 may be a mobile electronic device or a non-mobile electronic device. For example, the mobile electronic device may be a mobile phone, a tablet computer, a laptop computer, a PDA or an ultra-mobile personal computer (UMPC), etc., and the non-mobile electronic device may be a personal computer (PC), a television (TV) or a server, etc.

[0053] The server 120 may be a part of the rail transit system, in which the software outline design description file and the operation scenario file of the rail transit system software to be tested are stored. Exemplarily, the server 120 may be a single server, a server cluster, or a cloud server.

[0054] As an example, the electronic device 110 may first obtain the software outline design description file and the operation scenario file of the rail transit system software to be tested from the server 120, wherein the software outline design description file is used to describe the functional design of the rail transit system software, and the operation scenario file is used to describe multiple operation scenarios of the rail transit system. Then, based on the software outline design description file and the operation scenario file, software integration test cases corresponding to multiple operation scenarios are generated, and based on the station diagram, station data table and multiple operation scenarios of the rail transit system, the test data required for multiple software integration test cases is determined. Then, based on the test data of the multiple software integration test cases, multiple software integration test cases are executed, the execution results are analyzed and the code coverage is output to complete the software integration test.

[0055] In this way, the test data of the software integration test cases corresponding to the operation scenarios of the rail transit system can be determined based on the station map and station data table of the rail transit system, so that the actual operation scenarios of the rail transit system can be simulated to perform software integration testing, reduce the development and maintenance of pile units and drive units, and improve the efficiency and quality of software integration testing.

[0056] The software integration testing method provided by the embodiment of the present disclosure will be described in detail below, wherein the execution subject of the software integration testing method can be Figure 1 An electronic device 110 is shown.

[0057] Figure 2 A flowchart of a software integration testing method 200 provided in an embodiment of the present disclosure is shown. Figure 2 As shown, the software integration testing method 200 may include the following steps:

[0058] S210, generating software integration test cases corresponding to multiple operation scenarios according to the software outline design description file and the operation scenario file of the rail transit system software to be tested.

[0059] Specifically, you can first obtain the software outline design description file and operation scenario file of the rail transit system software, where the software outline design description file is used to describe the functional design of the rail transit system software, and the operation scenario file is used to describe multiple operation scenarios of the rail transit system. For example, the operation scenario can be a single vehicle entering the station, a single vehicle exiting the station, etc.

[0060] Then, the software outline design description file and operation scenario file are analyzed, and software integration test cases corresponding to multiple operation scenarios are generated based on the black box testing method. The software integration test cases are used to simulate actual operation scenarios to test the functions and interfaces of the rail transit system software. In this way, the black box testing method can be used to directly compile software integration test cases without understanding the internal structure of the rail transit system software, thereby improving the efficiency of compiling software integration test cases.

[0061] Optionally, the black box testing method may include a functional method, an equivalence class partitioning method, a boundary value analysis method, an error guessing method, etc., which are not limited here.

[0062] S220, determining test data for multiple software integration test cases based on a station map, a station data table, and multiple operation scenarios of the rail transit system.

[0063] Among them, the station map and station data table are used to describe the station, and the test data may include: test input data and expected test output data, which are convenient for executing software integration test cases and analyzing the execution results.

[0064] In some embodiments, data may be first extracted from the station data table according to the scene positions of the operation scenarios corresponding to the multiple software integration test cases in the station map to obtain the test input data required for the multiple software integration test cases. The scene positions of the operation scenarios in the station map may be selected by the user in the station map.

[0065] Then, based on the operation scenarios corresponding to the multiple software integration test cases, the test input data of the multiple software integration test cases are analyzed to obtain the expected test output data of the multiple software integration test cases. Optionally, the test input data of the multiple software integration test cases can be displayed, and the user analyzes the test input data in combination with the operation scenarios corresponding to the multiple software integration test cases, and inputs the expected test output data of the multiple software integration test cases. In this way, the test input data required for the software integration test case can be automatically and quickly captured based on the scene position of the operation scenario in the station map, and the expected test output data of the software integration test case can be accurately obtained by analyzing the test input data of the software integration test case in combination with the operation scenario.

[0066] Exemplarily, the test input data may include operation scenario line data and operation scenario configuration data. Accordingly, data may be extracted from the station data table according to the scene positions of the operation scenarios corresponding to the multiple software integration test cases in the station diagram, and the operation scenario line data of the multiple software integration test cases may be obtained. Exemplarily, the operation scenario line data may be train position information, transponder information, turnout information, axle counting section information, route information, etc. At the same time, the scene positions of the operation scenarios corresponding to the multiple software integration test cases in the station diagram may be displayed, and the operation scenario configuration data of the multiple software integration test cases input by the user may be received. Exemplarily, the operation scenario configuration data may be turnout status, axle counting section locking status, etc.

[0067] In this way, the operation scenario line data required for the software integration test case can be automatically and quickly captured based on the scene position of the operation scenario in the site map, and the scene position of the operation scenario in the site map can be displayed to the user, prompting the user to enter the operation scenario configuration data of multiple software integration test cases, thereby accurately obtaining the operation scenario configuration data of multiple software integration test cases.

[0068] S230, executing multiple software integration test cases according to the test data of the multiple software integration test cases.

[0069] In some embodiments, the software integration test strategies of multiple software integration test cases can be determined based on the program entry and program exit of multiple software integration test cases in the rail transit system software, and the global variables associated with multiple software integration test cases in the rail transit system software. Among them, the program entry and program exit of the software integration test case in the rail transit system software can be determined based on the functions and interfaces of the rail transit system software covered by the software integration test case, and the software integration test strategy can include top-down integration strategy, bottom-up integration strategy, big bang integration strategy, etc.

[0070] Then, according to the software integration test strategies of the multiple software integration test cases, test function sequences of the multiple software integration test cases are generated, and according to the test data and test function sequences of the multiple software integration test cases, the multiple software integration test cases are executed. In this way, a test function sequence can be generated for each software integration test case, so that the software integration test case is executed based on the test function sequence, thereby improving the efficiency of software integration testing.

[0071] Exemplarily, the data in the station data table can be loaded by the software dynamic testing tool. For example, the station data table can be converted into a FS file so that the software dynamic testing tool loads the FS file according to the storage address of the FS file, thereby realizing loading of the data in the station data table.

[0072] Then, the test input data of the multiple software integration test cases are imported into the software dynamic test tool, and the test function sequences of the multiple software integration test cases are executed based on the software dynamic test tool to obtain actual test output data.

[0073] Then, the expected test output data and actual test output data of multiple software integration test cases are compared to determine that the software integration test cases with the expected test output data consistent with the actual test output data have passed the test, and the software integration test cases with the expected test output data inconsistent with the actual test output data have failed the test. In this way, the actual operation scenario can be simulated based on the software dynamic testing tool, and the software integration test can be implemented at the code level without building a hardware debugging environment. At the same time, it is convenient for subsequent users to reproduce the operation site problems and locate defects.

[0074] S240, analyzing the execution results and outputting the code coverage.

[0075] Specifically, if multiple software integration test cases all pass the test, it is determined that the rail transit system software passes the software integration test. If some software integration test cases fail the test, the defect code of the rail transit system software can be located and displayed according to the software integration test cases that fail the test, so that the user can repair it.

[0076] In addition, the uncovered code after executing multiple software integration test cases can be counted, and the uncovered code can be used to determine whether the multiple software integration test cases meet the preset software integration test integrity conditions. If not, a new test case can be added. It is also possible to determine whether the uncovered code is logically unreachable based on the uncovered code. If it is logically unreachable, the uncovered code can be repaired. In this way, the adequacy and integrity of the software integration test can be guaranteed.

[0077] According to the embodiments of the present disclosure, the test data of the software integration test cases corresponding to the operation scenarios of the rail transit system can be determined based on the station map and station data table of the rail transit system, so that the actual operation scenarios of the rail transit system can be simulated to perform software integration testing, reduce the development and maintenance of pile units and drive units, and improve the efficiency and quality of software integration testing.

[0078] The following takes the bicycle pit stop function as an example to introduce the test process of the bicycle pit stop function, as follows:

[0079] Step 1: Generate software integration test cases corresponding to the single-vehicle entry operation scenario based on the software outline design description file and operation scenario file of the rail transit system software to be tested.

[0080] Among them, the single-vehicle entry function is briefly described as follows: when the train applies for movement authority (MA) from the zone controller (ZC), the interlocking has arranged the vehicle reception route (including the platform area and the protection section outside the station). The starting point of the MA calculated by the ZC for the train is the safe rear position of the train, and the end position of the MA is the end of the protection section.

[0081] Among them, the software integration test case corresponding to the single-vehicle entry operation scenario can be shown as follows:

[0082] Test case number: IT_MaCalculate_0001.

[0083] Test case name: ZC receives the MA application sent by the train, matches the route for the train and calculates the MA.

[0084] Input: route information, turnout information, axle counter status information, platform shield door, emergency stop button information.

[0085] Expected result: The starting point of MA calculated by ZC for the train is the safe rear position of the train, and the end point of MA is the end point of the protection section.

[0086] Step 2: The software integration test strategy of the software integration test case can be determined based on the program entry and program exit of the software integration test case in the rail transit system software, as well as the global variables associated with the software integration test case in the rail transit system software. Then, based on the software integration test strategy, a test function sequence of the software integration test case can be generated.

[0087] Step 3: According to the station map, station data table and single-vehicle entry operation scenario of the rail transit system, determine the test data of the software integration test case corresponding to the single-vehicle entry operation scenario.

[0088] Exemplarily, the test data may include: route information (starting signal, axle counting section information included in the route, the number of protection sections corresponding to the route and the axle counting ID), turnout information, screen door information, emergency stop button ID and position information, train position information (manually selected and input), obstacle status information (such as turnout reverse position status, screen door switch status, etc.), route, axle counting section information settings (route processing, axle counting section locking information), and expected MA information.

[0089] Step 4: You can use software dynamic testing tools such as Rational Test Real Time and VisualUnit to load the data in the station data table, and then import the test input data of the software integration test case corresponding to the single-vehicle entry operation scenario into the software dynamic testing tool, and execute the test function sequence of multiple software integration test cases based on the software dynamic testing tool to obtain the actual test output data. Then compare the expected test output data with the actual test output data. If the expected test output data is consistent with the actual test output data, it is determined that the software integration test case corresponding to the single-vehicle entry operation scenario has passed the test, that is, the single-vehicle entry function has passed the test.

[0090] It should be noted that, for the aforementioned method embodiments, for the sake of simplicity, they are all described as a series of action combinations, but those skilled in the art should be aware that the present disclosure is not limited by the order of the actions described, because according to the present disclosure, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all optional embodiments, and the actions and modules involved are not necessarily required by the present disclosure.

[0091] The above is an introduction to the method embodiment. The following is a further explanation of the scheme disclosed in the present invention through an apparatus embodiment.

[0092] Figure 3 FIG. 3 shows a structural diagram of a software integration testing device 300 provided according to an embodiment of the present disclosure, such as Figure 3 As shown, the software integration test device 300 may include:

[0093] The generation module 310 is used to generate software integration test cases corresponding to multiple operation scenarios according to the software outline design description file and the operation scenario file of the rail transit system software to be tested.

[0094] The determination module 320 is used to determine the test data of multiple software integration test cases according to the station map, station data table and multiple operation scenarios of the rail transit system.

[0095] The execution module 330 is used to execute multiple software integration test cases according to the test data of the multiple software integration test cases.

[0096] The analysis module 340 is used to analyze the execution results and output the code coverage.

[0097] In some embodiments, the generation module 310 is specifically used to: analyze the software outline design description file and the operation scenario file, and generate software integration test cases corresponding to multiple operation scenarios based on the black box testing method.

[0098] In some embodiments, the test data includes: test input data and expected test output data.

[0099] In some embodiments, the determination module 320 includes:

[0100] The extraction unit is used to extract data from the station data table according to the scene positions of the operation scenes corresponding to the multiple software integration test cases in the station map, and obtain the test input data of the multiple software integration test cases.

[0101] The analyzing unit is used to analyze the test input data of multiple software integration test cases based on the operation scenarios corresponding to the multiple software integration test cases to obtain the expected test output data of the multiple software integration test cases.

[0102] In some embodiments, the test input data includes operation scenario line data and operation scenario configuration data.

[0103] The extraction unit is specifically used to: extract data from the station data table according to the scene positions of the operation scenarios corresponding to multiple software integration test cases in the station map, obtain the operation scenario line data of multiple software integration test cases, display the scene positions of the operation scenarios corresponding to multiple software integration test cases in the station map, and receive the operation scenario configuration data of multiple software integration test cases input by the user.

[0104] In some embodiments, the determination module 320 is also used to determine the software integration test strategies of multiple software integration test cases based on the program entries and program exits of the multiple software integration test cases in the rail transit system software, and the global variables associated with the multiple software integration test cases in the rail transit system software, and generate the test function sequences of the multiple software integration test cases based on the software integration test strategies of the multiple software integration test cases.

[0105] The execution module 330 is specifically used to execute multiple software integration test cases according to the test data and test function sequences of the multiple software integration test cases.

[0106] In some embodiments, the execution module 330 is specifically used to: load the data in the site data table through the software dynamic testing tool, and import the test input data of multiple software integration test cases into the software dynamic testing tool, execute the test function sequence of multiple software integration test cases based on the software dynamic testing tool, and obtain actual test output data.

[0107] It is determined that the software integration test cases whose expected test output data is consistent with the actual test output data have passed the test, and it is determined that the software integration test cases whose expected test output data is inconsistent with the actual test output data have failed the test.

[0108] In some embodiments, the software integration testing apparatus 300 may further include:

[0109] The statistics module is used to count the uncovered code after executing multiple software integration test cases.

[0110] A new module is added, which is used to add a new test case if it is determined based on the uncovered code that multiple software integration test cases do not meet the preset software integration test completeness conditions.

[0111] The repair module is used to repair the uncovered code if it is determined based on the uncovered code that the uncovered code logic is unreachable.

[0112] Understandably, Figure 3 Each module / unit in the software integration testing device 300 shown has the function of implementing each step in the software integration testing method 200 provided in the embodiment of the present disclosure and can achieve its corresponding technical effect. For the sake of brevity, it will not be repeated here.

[0113] Figure 4 A block diagram of an electronic device 400 that can be used to implement an embodiment of the present disclosure is shown. The electronic device 400 is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device 400 can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.

[0114] like Figure 4 As shown, the electronic device 400 may include a computing unit 401, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 402 or a computer program loaded from a storage unit 408 into a random access memory (RAM) 403. In the RAM 403, various programs and data required for the operation of the electronic device 400 can also be stored. The computing unit 401, the ROM 402, and the RAM 403 are connected to each other via a bus 404. An input / output (I / O) interface 405 is also connected to the bus 404.

[0115] Multiple components in the electronic device 400 are connected to the I / O interface 405, including: an input unit 406, such as a keyboard, a mouse, etc.; an output unit 407, such as various types of displays, speakers, etc.; a storage unit 408, such as a disk, an optical disk, etc.; and a communication unit 409, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 409 allows the electronic device 400 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0116] The computing unit 401 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 401 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 401 performs the various methods and processes described above, such as method 200. For example, in some embodiments, the method 200 may be implemented as a computer program product, including a computer program, which is tangibly contained in a computer-readable medium, such as a storage unit 408. In some embodiments, part or all of the computer program may be loaded and / or installed on the device 400 via ROM 402 and / or communication unit 409. When the computer program is loaded into RAM 403 and executed by the computing unit 401, one or more steps of the method 200 described above may be performed. Alternatively, in other embodiments, the computing unit 401 may be configured to perform the method 200 in any other appropriate manner (e.g., by means of firmware).

[0117] The various embodiments described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include: being implemented in one or more computer programs, which can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a dedicated or general programmable processor, which can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0118] The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.

[0119] In the context of the present disclosure, a computer-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium. A computer-readable medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or equipment, or any suitable combination of the foregoing. A more specific example of a computer-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0120] It should be noted that the present disclosure also provides a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to enable a computer to execute method 200 and achieve the corresponding technical effect achieved by executing the method in the embodiment of the present disclosure. For the sake of concise description, they are not repeated here.

[0121] In addition, the present disclosure also provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the method 200 is implemented.

[0122] To provide interaction with a user, the above-described embodiments may be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).

[0123] The embodiments described above can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system can be interconnected by digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), and the Internet.

[0124] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship of client and server is generated by computer programs running on respective computers and having a client-server relationship with each other. The server may be a cloud server, a server of a distributed system, or a server combined with a blockchain.

[0125] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in this disclosure can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this document does not limit this.

[0126] The above specific implementations do not constitute a limitation on the protection scope of the present disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present disclosure shall be included in the protection scope of the present disclosure.

Claims

1. A software integration testing method, characterized in that: include: Generate software integration test cases corresponding to multiple operation scenarios based on the software outline design description file and operation scenario file of the rail transit system software to be tested; Determine test data for multiple software integration test cases based on a station map, a station data table, and the multiple operation scenarios of the rail transit system; Execute the multiple software integration test cases according to the test data of the multiple software integration test cases; Analyze execution results and output code coverage; It also includes: determining software integration test strategies for the multiple software integration test cases according to program entries and program exits of the multiple software integration test cases in the rail transit system software, and global variables associated with the multiple software integration test cases in the rail transit system software; Generating test function sequences of the multiple software integration test cases according to the software integration test strategies of the multiple software integration test cases; The step of executing the plurality of software integration test cases according to the test data of the plurality of software integration test cases comprises: The multiple software integration test cases are executed according to the test data and test function sequences of the multiple software integration test cases.

2. The method according to claim 1, characterized in that The step of generating software integration test cases corresponding to multiple operation scenarios according to the software outline design description file and the operation scenario file of the rail transit system software to be tested includes: The software outline design description file and the operation scenario file are analyzed, and software integration test cases corresponding to multiple operation scenarios are generated based on the black box testing method.

3. The method according to claim 1, characterized in that The test data includes: test input data and expected test output data; Determining test data of multiple software integration test cases according to the station map, station data table and multiple operation scenarios of the rail transit system includes: Extracting data from the station data table according to the scene positions of the operation scenes corresponding to the multiple software integration test cases in the station map to obtain test input data for the multiple software integration test cases; The test input data of the multiple software integration test cases are analyzed based on the operation scenarios corresponding to the multiple software integration test cases to obtain expected test output data of the multiple software integration test cases.

4. The method according to claim 3, characterized in that The test input data includes operation scenario line data and operation scenario configuration data; The extracting data from the station data table according to the scene positions of the operation scenes corresponding to the multiple software integration test cases in the station map to obtain the test input data of the multiple software integration test cases includes: According to the scene positions of the operation scenes corresponding to the multiple software integration test cases in the station map, data is extracted from the station data table to obtain the operation scene line data of the multiple software integration test cases; The scene positions of the operation scenarios corresponding to the multiple software integration test cases in the site map are displayed, and the operation scenario configuration data of the multiple software integration test cases input by the user is received.

5. The method according to claim 3, characterized in that: The step of executing the multiple software integration test cases according to the test data and test function sequences of the multiple software integration test cases comprises: Load the data in the station data table through a software dynamic testing tool, and import the test input data of the multiple software integration test cases into the software dynamic testing tool; Execute the test function sequence of the plurality of software integration test cases based on the software dynamic testing tool to obtain actual test output data; Determine that the software integration test cases whose expected test output data is consistent with the actual test output data have passed the test; It is determined that the software integration test cases for which the expected test output data is inconsistent with the actual test output data have failed the test.

6. The method according to claim 1, characterized in that Also includes: Counting the code not covered after the execution of the multiple software integration test cases; If it is determined based on the uncovered code that the multiple software integration test cases do not meet the preset software integration test integrity conditions, then a new test case is added; If it is determined based on the uncovered code that the uncovered code logic is unreachable, the uncovered code is repaired.

7. A software integration testing device, characterized in that: include: A generation module, used to generate software integration test cases corresponding to multiple operation scenarios according to the software outline design description file and operation scenario file of the rail transit system software to be tested; A determination module, used to determine test data of multiple software integration test cases according to a station map, a station data table and the multiple operation scenarios of the rail transit system; An execution module, configured to execute the plurality of software integration test cases according to the test data of the plurality of software integration test cases; Analysis module, used to analyze execution results and output code coverage; The determination module is further used to determine the software integration test strategies of the multiple software integration test cases according to the program entries and program exits of the multiple software integration test cases in the rail transit system software, and the global variables associated with the multiple software integration test cases in the rail transit system software; Generating test function sequences of the multiple software integration test cases according to the software integration test strategies of the multiple software integration test cases; The execution module is specifically used to execute the multiple software integration test cases according to the test data and test function sequences of the multiple software integration test cases.

8. An electronic device, characterized in that: include: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 6.

9. A non-transitory computer-readable storage medium storing computer instructions, characterized in that: The computer instructions are used to make a computer execute the method according to any one of claims 1-6.

Citation Information

Patent Citations

  • Method for generating test cases for computer interlocking system automatically

    CN103838675A

  • Code coverage rate test method and device and computer equipment

    CN107807881A