An automated parallel testing method for satellite navigation equipment

Through automated parallel testing methods, the problem of resource conflicts and timing conflicts in satellite navigation equipment parallel testing in parallel testing, and realized the ability of efficient parallel testing and rapid response to changes in demand.

CN118962736BActive Publication Date: 2025-01-28HUNAN SATELLITE NAVIGATION INFORMATION TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411438255.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-15
Publication Date
2025-01-28
Estimated Expiration
2044-10-15

AI Technical Summary

Technical Problem

There are resource conflicts and timing conflicts in the parallel testing of existing satellite navigation equipment, which are prone to errors and inconvenient to maintain and modify.

Method used

A automation parallel test method is adopted to set the test environment and test items to generate parallel control timing, solve the problem of resource conflict, and provide a visual configuration and inspection mechanism to improve the test efficiency and accuracy.

Benefits of technology

The automatic parallelization mechanism has been realized, the system parallel rate and resource utilization efficiency have been improved, the difficulty of writing and commissioning of parallel testing procedures has been reduced, and changes in demand for rapid response and visualization are supported.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118962736B_ABST
    Figure CN118962736B_ABST
Patent Text Reader

Abstract

The present application discloses an automated parallel testing method for satellite navigation equipment, including the following steps: S1, after setting the tested equipment, the signal connection mode of the instrument, and the workstation of the equipment, the relevant data is saved in the test environment file; S2, after setting the test step flow, test step parameters, variable set, and visual configuration of the test process of the test item, the relevant data is saved in the test item file; S3, after setting the test plan, connecting the test equipment, and setting the test mode of the test item, the test environment file and the test item file are read to start the test; S4, according to the test plan, the test items in the test plan are run in sequence, and for each test of the test item, the corresponding steps are repeated until the test is completed. The present application can not only respond quickly to changes in demand, has greater flexibility and scalability, but also can automatically optimize the test time and space efficiency, greatly reducing the R&D cost of the test system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of testing technology, and in particular, to an automated parallel testing method for satellite navigation equipment. Background Art

[0002] Satellite navigation technology is being deeply applied in various fields, driving the rapid development of the industry. A large number of electronic consumer products, automotive electronics, aerospace equipment, military equipment, etc. have added satellite navigation modules. Comprehensive, scientific and accurate quality assessment of navigation products has become a widespread and urgent need. Generally, automated test systems are used to perform automated testing on navigation products. Automated test systems use instructions to automatically manage and control the equipment under test and various instruments. Its application has penetrated into all aspects of product development from prototype to production.

[0003] However, the test contents and projects of satellite navigation equipment are increasing, the test cycle is getting longer, and the test requirements are constantly changing, which makes the design of the automated test system complex and unable to respond quickly to changes in requirements. This complexity and change mainly include iterative changes in test items, the addition of new test items, changes in the connection methods of the equipment and instruments used in the test, and the different requirements of different fields such as R&D and verification testing, measurement and certification testing, and product delivery testing. Especially in terms of test efficiency, a complete set of tests may take several hours to complete. In order to reduce costs, multi-station parallel testing is generally used to increase the output efficiency of the test system under the same time and hardware resources. However, the compilation of parallel test programs requires solving the problems of resource conflicts and timing conflicts, which is prone to errors, and its maintenance and modification are also particularly troublesome. Summary of the invention

[0004] The present application provides an automated parallel testing method for satellite navigation equipment to solve the technical problems of resource conflicts and timing conflicts, easy errors, and inconvenient maintenance and modification in the existing parallel testing process of satellite navigation equipment.

[0005] The technical solutions adopted in this application are as follows:

[0006] An automated parallel testing method for a satellite navigation device comprises the following steps:

[0007] S1. After setting the device under test, the signal connection method of the instrument, and the workstation of the device, save the relevant data into the test environment file;

[0008] S2. After setting the test step flow, test step parameters, variable set, and visual configuration of the test process of the test item, save the relevant data into the test item file;

[0009] S3, after setting the test plan, connecting the test equipment, setting the test item test mode, reading the test environment file and the test item file to start the test;

[0010] S4. According to the test plan, run the test items in the test plan in sequence. For each test of the test items, repeat the following processing until the test is completed: load the test items, determine the set of workstations for this test, and initialize the variable set; analyze the directed acyclic graph composed of the test sequence, determine the synchronization point mark of the test step entry port, and determine the execution mode of the test step; create an initialization control group and control flow, and put all control flows into the entry port of the test start step; according to the control flow operation rules, make the control flow stay and flow on the directed acyclic graph of the test sequence, control the operation of the test steps, and complete the automatic control of the serial and parallel timing of multiple workstations; display the test data and test results in real time according to the visual configuration of the test items.

[0011] Furthermore, step S1 further includes the steps of:

[0012] The workstation setting principles are checked to prevent abnormal workstation settings and signal connections, provide correct workstation information for subsequent parallelization, and perform signal calibration on the equipment based on the signal connection between the equipment in the test environment and between the equipment; the equipment workstation setting principles are as follows: shared equipment can be connected to all workstations, and workstation equipment is only connected to the equipment in this workstation and shared equipment. Equipment at one workstation is prohibited from being connected to equipment at another workstation. The equipment type, quantity, and connection method in each workstation should be consistent. Equipment placed in a certain workstation is called workstation equipment, and equipment that does not belong to any workstation is called shared equipment.

[0013] Further, in step S2, the test item consists of a test sequence and a variable set, the test sequence consists of an ordered connection of different test steps and parameter configurations of the test steps, the test steps include a general process control step, a processing instruction step, and a device instruction step, the general process control step includes a condition judgment step, a loop step, a parallel step, a test start step, a test end step, and an expression step; the test step includes a required entry port, an exit port, and an optional branch port, wherein the selection mode of the branch port is divided into a mutually exclusive selection mode, a parallel selection mode, and a loop selection mode, the mutually exclusive selection mode means that only one of the branch ports is selected to run according to the condition, the parallel selection mode means that all branch ports are run in parallel, the loop selection mode means that the branch port is repeatedly run until the condition is not met, and the loop selection mode can only contain one branch port; the exit port or branch port of the test step is connected to the entry port of another test step in a directed manner, but the exit port is prohibited from being connected to its predecessor, that is, the test sequence is a directed non- Ring graph, the nodes of the graph are test steps, and the directed edges of the graph are directed connections between ports; the test start step represents the entry point of the test sequence process, and the entry port of this step is prohibited from being connected; the test end step represents the end of the test sequence process, and the exit port of this step is prohibited from being connected; the variable set includes multiple variables, each variable includes a variable name, data type, initial value, parameter tag, and workstation tag. The variable data type can only be selected from the preset data type component. A data type component provides support for a data type used in the test, including the name of the data type and a class definition code of the data type, including basic data types: integers, floating point numbers, strings, dates, and data containers, etc. Provide built-in support; parameter tags are divided into parameter variables and running variables. Parameter variables set values ​​before testing, and can only take values ​​during the test, but cannot change values. Running variables do not have the above restrictions. Workstation tags are divided into workstation variables and shared variables. Workstation variables have an instance at each workstation, and shared variables have only one instance;

[0014] When setting the test step parameters, it includes setting the conditional expressions of conditional steps and loop steps, setting the parameter expressions of processing instruction steps and device instruction steps, and the variables for saving the return values ​​of instruction calls;

[0015] When setting the visualization configuration of the test process, the display mode of the test data generated by the test process and saved in the variables is set by binding the variables to the display components of text, curves and charts.

[0016] Furthermore, step S2 further includes the steps of:

[0017] Provides a test item checking mechanism. When configuring a test item, it checks in real time whether the test steps are valid and gives prompts for invalid places, including expression checking, checking whether all expressions conform to the expression specifications and whether the input parameter data type matches the data type of its expression.

[0018] Further, in step S3, the test item test mode includes a serial test mode, a parallel test mode, and a mixed test mode. The serial test mode tests one workstation at a time until all workstation tests are completed; the parallel test mode only tests once, and all workstations are tested simultaneously; the mixed test mode is a multi-pass test, each time testing one or more specified workstations until all workstation tests are completed.

[0019] Furthermore, in step S4, the test items are loaded, the station set for the current test is determined, and the variable set is initialized, which specifically includes the following steps:

[0020] According to the set test mode of the test item, determine the station set of the test item in this test pass, the station set includes the station ID of the station tested in this test pass;

[0021] Instantiate the workstation variables and set the initial values. Instantiate the workstation variables according to the workstation set, and index the workstation variables and workstation equipment through the workstation ID.

[0022] Further, in step S4, the test sequence directed acyclic graph is analyzed to determine the synchronization point mark of the test step entry port and the execution mode of the test step, which specifically includes the following steps:

[0023] Traverse the directed acyclic graph formed by the test sequence to determine the execution mode of each test step, wherein the test step using the station equipment or station variable is the station step, and the other test steps are shared steps, all shared steps are in the merged execution mode, the station step using the modified processing instruction or shared running variable is in the serial station execution mode, and the station step with a branch port, if the step of the subgraph where its child node is located contains a test step of the merged execution mode or the serial station execution mode, then this step is in the serial station execution mode, and the remaining station steps are in the parallel station execution mode;

[0024] When determining the synchronization point mark of the test step entry port, the entry endpoint of each test step whose execution mode is the merge execution mode or the serial station execution mode is marked as a synchronization point.

[0025] Further, in step S4, an initialization control group and control flow are created, and all control flows are placed in the entry port of the test start step, specifically including the steps:

[0026] Initially, an initial control group is created, including a group ID and a workstation ID set. The workstation ID set contains the workstations that need to be tested. A control flow is created for each workstation. The control group to which the control flow belongs is the initial control group. All control flows are placed at the entry port of the test start step at the same time.

[0027] Further, in step S4, according to the control flow operation rules, the control flow is made to stay and flow on the test sequence directed acyclic graph, the operation of the test steps is controlled, and the automatic control of the serial and parallel timing of multiple stations is completed, which specifically includes the steps of:

[0028] When the control flows into the entry port of a test step, if the port is not marked as a synchronization point, the control flow flows directly into this test step. If the entry port is marked as a synchronization point, the control flow stays at the entry port and needs to wait until all control flows in the control group to which it belongs also arrive at this entry port before all control flows in the control group can flow into this test step at the same time;

[0029] After the control flows into the test step, it stays in the test step and is processed according to the following rules:

[0030] When the test step is in the merge execution mode, the control flows that stay in the test step are grouped according to the control group, and the following processing is performed on each control group: the operation represented by this test step is executed, and the operation result is temporarily saved. If there is no branch port, this test step is executed, and all control flows in the control group flow into the next subsequent port at the same time. If there is a branch port, a copy is made of the control group and the control flow in the group as a sub-control group of the current control group. The copied control flow is the sub-control flow. All control flows in the current control group are set to a suspended state. According to the step operation result and the selection mode of the branch port, all sub-control flows flow into the branch port and run until all sub-control flows have finished running. All control flows in the current control group are restored from the suspended state, and all control flows in the control group flow to the next subsequent port;

[0031] When the test step is in serial workstation execution mode, the control flows that stay in the test step are grouped according to control groups, and the following processing is performed on each control group: the following processing is performed serially on each control flow in the control group: the operation represented by the control flow in the test step is executed, and the workstation equipment and workstation variables referenced by the test step are different according to the workstation ID of the control flow; if there is no branch port, the control flow is processed; if there is a branch port, a copy of the control flow is made, and the copied control flow is a sub-control flow, and the control group of the sub-control flow is a new control group. The workstation set of the new control group only contains the workstation of the current control flow, and the current control flow is set to a suspended state. According to the test step operation result and the selection mode of the branch port, all sub-control flows flow into the branch port and run until the sub-control flow is completed, the current control flow is restored from the suspended state, and the control flow is processed; after all control flows in the control group are processed, all control flows in the control group flow to the next subsequent port;

[0032] When the test step is in parallel workstation execution mode, the following processing is performed in parallel for each control flow that stays in the test step: the operation represented by the control flow in the test step is executed, and the workstation equipment and workstation variables referenced by the test step are different according to the workstation ID of the control flow; if there is no branch port, the current control flow flows to the next subsequent port; if there is a branch port, a copy of the control flow is made, and the copied control flow is the sub-control flow, and the sub-control group of the sub-control flow is a new control group. The workstation set of the new control group only contains the workstation of the current control flow, and the current control flow is set to a suspended state. According to the step operation result and the selection mode of the branch port, all sub-control flows flow into the branch port and run until the sub-control flow is completed, the current control flow is restored from the suspended state, and the current control flow flows to the next subsequent port.

[0033] Furthermore, according to the step operation result and the selection mode of the branch port, all sub-control flows flow into the branch port and run, specifically including the steps of:

[0034] For the mutually exclusive selection mode, the sub-control flow selects to enter a branch port according to the condition of step operation; for the parallel selection mode, the sub-control flow enters all branch ports in parallel; for the loop selection mode, the sub-control flow selects one branch port to enter;

[0035] The control flow to the next subsequent port specifically includes the following steps:

[0036] If the selection mode of the branch port of the test step is the loop selection mode, the calculation result of the conditional expression is judged. If it is true, the next subsequent port is the entry port of the test step. In all other cases, the next subsequent port is the exit port of the test step.

[0037] The sub-control flow has completed execution, including the following steps:

[0038] When a sub-control flow enters a branch port or an exit port, and the branch port or the exit port is not connected to any port, or the sub-control flow enters the test end step, the sub-control flow is completed. Otherwise, the sub-control flow follows the directed connection and reaches the entry port of the subsequent test step to continue running until it is completed.

[0039] On the other hand, the present application also provides an automated parallel testing device for a satellite navigation device, comprising:

[0040] The first setting module is used to set the device under test, the signal connection mode of the instrument, and the workstation of the device used in the test, and save the relevant data into the test environment file;

[0041] The second setting module is used to set the test step flow, test step parameters, variable set, and visual configuration of the test process of the test item, and save the relevant data into the test item file;

[0042] The third setting module is used to set the test plan, connect the test equipment, set the test item test mode, and then read the test environment file and the test item file to start the test;

[0043] The test and display module is used to run the test items in the test plan in sequence according to the test plan. For each test of the test item, the following processing is repeated until the test is completed: load the test item, determine the station set for this test, and initialize the variable set; analyze the directed acyclic graph composed of the test sequence, determine the synchronization point mark of the test step entry port, and determine the execution mode of the test step; create an initialization control group and control flow, and put all control flows into the entry port of the test start step; according to the control flow operation rules, make the control flow stay and flow on the directed acyclic graph of the test sequence, control the operation of the test steps, and complete the automatic control of the serial and parallel timing of multiple stations; display the test data and test results in real time according to the visual configuration of the test item.

[0044] On the other hand, the present application also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of the automated parallel testing method for the satellite navigation device when executing the computer program.

[0045] On the other hand, the present application further provides a storage medium, which includes a stored program, and when the program is run, controls a device where the storage medium is located to execute the steps of the automated parallel testing method for the satellite navigation device.

[0046] Compared with the prior art, this application has the following beneficial effects:

[0047] 1. The automated parallel testing method for satellite navigation equipment of the present application provides an automatic parallelization mechanism, automatically derives serial test sequences, solves resource conflict problems, and thus generates parallel control timing in real time, maximizes the parallel rate and resource utilization efficiency of the system, and reduces the difficulty of writing and debugging parallel test programs;

[0048] 2. This application uses a visual interactive method to quickly build a test environment and test steps. The extended devices and instruction sets can be used intuitively in the test process in a graphical way. The running process and the generated data are clear at a glance, and problems can be easily solved;

[0049] 3. This application can quickly respond to changes in various requirements, can be visually modified, debugged and run at any time, quickly iterate and verify whether the test items meet the requirements, speed up the research and development process of the test items, and shorten the time and cost of test solution design and verification;

[0050] 4. This application provides highly flexible and customized support to the outside world through an extensible architecture design: it provides a device expansion mechanism, can continuously expand multiple types of devices and instruments, encapsulates device instruction sets, provides an expansion mechanism for processing instructions, and realizes the improvement of test processing functions.

[0051] 5. This application can be used as a general automated parallel test, which can not only respond quickly to changes in demand and has great flexibility and scalability, but also automatically optimize test time and space efficiency to reduce test costs. While meeting the needs of the satellite navigation test field, it also supports other fields that require automated control and testing, greatly reducing the R&D cost of the test system.

[0052] In addition to the above-described purposes, features and advantages, the present application also has other purposes, features and advantages. The present application will be further described in detail with reference to the drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0053] The drawings constituting a part of the present application are used to provide a further understanding of the present application. The illustrative embodiments and descriptions of the present application are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0054] Figure 1 This is a flow chart of an automated parallel testing method for a satellite navigation device according to a preferred embodiment of the present application;

[0055] Figure 2 It is a schematic diagram of the composition principle of the automated testing platform of the preferred embodiment of the present application;

[0056] Figure 3 This is a test step connection diagram of a preferred embodiment of the present application;

[0057] Figure 4 It is a control flow diagram of a preferred embodiment of the present application;

[0058] Figure 5 This is a schematic diagram of a module of an automated parallel testing device for a satellite navigation device according to a preferred embodiment of the present application;

[0059] Figure 6 is a schematic block diagram of an electronic device entity in a preferred embodiment of the present application;

[0060] Figure 7 It is a schematic diagram of the internal structure of a computer device according to a preferred embodiment of the present application. DETAILED DESCRIPTION

[0061] The embodiments of the present application are described in detail below in conjunction with the accompanying drawings, but the present application can be implemented in a variety of different ways defined and covered below.

[0062] like Figure 1 As shown, the preferred embodiment of the present application provides an automated parallel testing method for a satellite navigation device, comprising the following steps:

[0063] S1. After setting the device under test, the signal connection method of the instrument, and the workstation of the device, save the relevant data into the test environment file;

[0064] S2. After setting the test step flow, test step parameters, variable set, and visual configuration of the test process of the test item, save the relevant data into the test item file;

[0065] S3, after setting the test plan, connecting the test equipment, setting the test item test mode, reading the test environment file and the test item file to start the test;

[0066] S4. According to the test plan, run the test items in the test plan in sequence. For each test of the test items, repeat the following processing until the test is completed: load the test items, determine the set of workstations for this test, and initialize the variable set; analyze the directed acyclic graph composed of the test sequence, determine the synchronization point mark of the test step entry port, and determine the execution mode of the test step; create an initialization control group and control flow, and put all control flows into the entry port of the test start step; according to the control flow operation rules, make the control flow stay and flow on the directed acyclic graph of the test sequence, control the operation of the test steps, and complete the automatic control of the serial and parallel timing of multiple workstations; display the test data and test results in real time according to the visual configuration of the test items.

[0067] Figure 2It is an automated parallel testing system for implementing the above method, which consists of a general automated testing platform, an external component set, a test environment set, and a test item set. The automated testing platform and the external component set mainly exist in the form of software code, and the test environment set and the test item set are data accessed by the software and exist in the form of files, including test environment files and test item files, respectively.

[0068] Various components define component interface definitions with unified interface specifications. Developers and users can add components to the automated testing platform as needed. The platform provides a framework for managing and running components, as well as a test environment editor and a test editor to provide editing, debugging, and running functions for the test environment and test items respectively.

[0069] Necessary external component types include: data components, test step components, equipment components, and processing instruction components. Each component type contains many components of the same type. Users can generate components through code. The following describes each type of component:

[0070] A data component in the data component collection provides support for a data type used in the test system, including the name of the data type and a class definition code for the data type. The platform provides built-in support for basic data types such as integers, floating-point numbers, strings, dates, and data containers.

[0071] Each test step component in the test step component set is an executable unit that can be placed in the test flow, and is used to orchestrate the test process in the test sequence, including the test step definition and its implementation code. The test step definition includes: step unique identifier, step name, number of branch ports and parameter definition. According to the selection mode of the branch port, it is divided into mutually exclusive selection mode, parallel selection mode and loop selection mode; the mutually exclusive selection mode means that only one of the branch ports is selected to run according to the condition, the parallel selection mode means that all branch ports are run in parallel, and the loop selection mode means that the branch port is repeatedly run until the condition is not met. The loop selection mode can only contain one branch port.

[0072] The platform provides basic test step components, such as general process control types: conditional judgment steps, loop steps, parallel steps, test start steps, test end steps, expression steps, as well as processing instruction steps and device instruction steps. Figure 3As shown, all test steps have an entry port and an exit port, and the branch port only exists in the test steps of the process control type. For example, the condition judgment step has two branch ports, representing the running branches when the condition is true and the condition is false respectively. The loop step has one branch port, representing the branch of the loop running when the loop condition is met; the parameter definition refers to the input parameters of the test step. For example, the parameter of the condition judgment and loop steps is a Boolean expression, and the parameter of the parallel step is an integer, which represents the number of parallel branches.

[0073] The device components in the device component collection are devices, instruments, or other hardware and software entities that can be controlled by instructions used in the test system, including device definitions and their implementation codes. The device definition includes the device unique identifier, device name, device connection method, number of signal ports, the name of each signal port, the type of signal flowing on the signal port, and the signal transmission direction.

[0074] The device component also contains the definition of its device instruction set, which contains multiple device instructions. The device instruction is the smallest operating unit for operating the device. The definition of the device instruction includes the name of the device instruction, a detailed description of the instruction, the name and data type of the instruction input parameter, the data type of the instruction return value, and the instruction type. The data type can only be selected in the data type component. The instruction type is divided into change-type instructions and non-change-type instructions. Change-type instructions mean that the instruction will change the device status, and non-change-type instructions mean that the instruction will not change the device status. The device instruction can be called in the device instruction step. The parameters of the device instruction step are composed of the device unique identifier of the called device instruction, the name of the device instruction, the input parameter expression, and the return value.

[0075] The processing instruction components in the processing instruction component set include processing instruction definitions and their implementation codes. The processing instruction components mainly include some data processing instructions such as calculation, analysis, and evaluation. The definition of the processing instruction includes the processing instruction name, a detailed description of the instruction, the input parameter name and data type of the instruction, the data type of the instruction return value, and the instruction type. The data type can only be selected in the data type component. The processing instruction can be called in the processing instruction step. The parameters of the processing instruction step are composed of the processing instruction name, input parameter expression, and return value of the called processing instruction.

[0076] The automated testing system provides a test environment editor that can load, edit, and save the test environment. In the editor, the required devices in the device components can be added to the environment. The matching signal ports of different devices can be connected using lines. One or more workstations are created in the environment. The device or devices under test can be placed in the workstation. The device placed in a certain workstation is called a workstation device, and the device that does not belong to any workstation is called a shared device. The principle of device station setting is as follows: shared devices can be connected to all workstations, and workstation devices are only connected to devices in this workstation and shared devices. Devices in one workstation are prohibited from being connected to devices in another workstation. The type, quantity, and connection method of the equipment in each workstation should be consistent.

[0077] The test environment editor detects the station setting principles to prevent abnormal station settings and signal connections, provides correct station information for subsequent parallelization, and performs signal calibration on devices based on the signal connections between devices in the test environment.

[0078] The automated test system provides a test item editor, which can load, edit, save, debug and run the test items. The test items are composed of test sequences and variable sets. The test sequence is composed of the ordered connection of different test steps and the parameter configuration of the test steps. The exit port or branch port of the test step can be connected to the entry port of another test step in a directed manner, but the port is prohibited from connecting to its predecessor, that is, the test sequence is a directed acyclic graph, the nodes of the graph are test steps, and the directed edges of the graph are directed connections between ports. The test start step represents the entry point of the test sequence process, and its entry port is prohibited from being connected. The test end step represents the end of the test sequence process, and its exit port is prohibited from being connected. The variable set includes multiple variables, each variable consists of a variable name, data type, initial value, parameter tag, and station tag. The variable data type can only be selected in the data type component. The parameter tag is divided into parameter variables and running variables. The parameter variable can set the value before the test, and can only take the value during the test, but cannot change the value. The running variable has no such restriction. The station tag is divided into station variables and shared variables. The station variable has an instance at each station, and the shared variable has only one instance.

[0079] The test item editor also sets parameters for the test steps in the test sequence, such as setting conditional expressions for conditional steps and loop steps, setting parameter expressions for processing instruction steps and device instruction steps, and setting variables for saving the return values ​​of instruction calls.

[0080] The automated testing system provides a test item checking mechanism. When configuring the test items, it checks in real time whether the test steps are valid and gives prompts for invalid places. For example, expression checking checks whether all expressions comply with expression specifications, whether the input parameter data type matches the data type of its expression, etc.

[0081] The automated testing system provides visual configuration of the testing process and completes the setting of the display mode of the test data generated by the testing process and saved in the variables, for example, by binding the variables to various display components such as text, curves, and charts.

[0082] The automated testing system provides a test running engine. When testing needs to be implemented, the user loads the required test environment and adds the test items to be tested to the test plan. The system automatically checks the validity of the test items and the matching of the test items with the test environment, and issues prompts for problematic areas. The system obtains the environment and workstation information and determines how many workstations in the test environment are used for testing.

[0083] The user connects the device in the test environment to the real hardware device and modifies the test item parameters as needed. The user determines the test mode of the test item, which is divided into serial test mode, parallel test mode, and mixed test mode. The serial test mode tests one station at a time until all stations are tested. The parallel test mode only tests once, and all stations are tested at the same time. The mixed test mode is a multi-pass test, each time testing one or more specified stations until all stations are tested.

[0084] Compared with the prior art, this embodiment has the following beneficial effects:

[0085] 1. The automated parallel testing method for satellite navigation equipment of this embodiment provides an automatic parallelization mechanism, automatically derives serial test sequences, solves resource conflict problems, and thus generates parallel control timing in real time, maximizes the parallel rate and resource utilization efficiency of the system, and reduces the difficulty of writing and debugging parallel test programs;

[0086] 2. This embodiment uses a visual interactive method to quickly build a test environment and test steps. The extended devices and instruction sets can be used intuitively in the test process in a graphical manner. The running process and the generated data are clear at a glance, and problems can be easily solved;

[0087] 3. This embodiment can quickly respond to changes in various requirements, can be visually modified, debugged and run at any time, quickly iterate and verify whether the test items meet the requirements, speed up the development process of test items, and shorten the time and cost of test solution design and verification;

[0088] 4. This embodiment provides highly flexible and highly customized support through an extensible architecture design: it provides a device expansion mechanism, can continuously expand multiple types of devices and instruments, encapsulates device instruction sets, provides an expansion mechanism for processing instructions, and improves test processing functions.

[0089] 5. This embodiment can be used as a general automated parallel test, which can not only respond quickly to changes in demand and has great flexibility and scalability, but also automatically optimize test time and space efficiency to reduce test costs. While meeting the needs of the satellite navigation test field, it also supports other fields that require automated control and testing, greatly reducing the R&D cost of the test system.

[0090] Preferably, in a preferred embodiment of the present application, step S1 further comprises the steps of:

[0091] The workstation setting principles are checked to prevent abnormal workstation settings and signal connections, provide correct workstation information for subsequent parallelization, and perform signal calibration on the equipment based on the signal connection between the equipment in the test environment and between the equipment; the equipment workstation setting principles are as follows: shared equipment can be connected to all workstations, and workstation equipment is only connected to the equipment in this workstation and shared equipment. Equipment at one workstation is prohibited from being connected to equipment at another workstation. The equipment type, quantity, and connection method in each workstation should be consistent. Equipment placed in a certain workstation is called workstation equipment, and equipment that does not belong to any workstation is called shared equipment.

[0092] The benefits of this embodiment include: by modeling the test environment, the relationship between the devices that influence each other is established, so that in the subsequent test process, automatic process deduction can be performed based on the influence relationship between the devices, providing a basis for multi-station parallel testing.

[0093] Preferably, in a preferred embodiment of the present application, in step S2, the test item consists of a test sequence and a variable set, the test sequence consists of an ordered connection of different test steps and a parameter configuration of the test steps, the test steps include a general process control step, a processing instruction step, a device instruction step, the general process control step includes a condition judgment step, a loop step, a parallel step, a test start step, a test end step, and an expression step; the test step includes a required entry port, an exit port, and an optional branch port, wherein the selection mode of the branch port is divided into a mutually exclusive selection mode, a parallel selection mode, and a loop selection mode, the mutually exclusive selection mode means that only one of the branch ports is selected to run according to the condition, the parallel selection mode means that all branch ports are run in parallel, the loop selection mode means that the branch port is repeatedly run until the condition is not met, and the loop selection mode can only contain one branch port; the exit port or branch port of the test step is connected to the entry port of another test step in a directed manner, but the exit port is prohibited from being connected to its predecessor, that is, the test sequence is A directed acyclic graph, the nodes of the graph are test steps, and the directed edges of the graph are directed connections between ports; the test start step represents the entry point of the test sequence process, and the entry port of this step is prohibited from being connected; the test end step represents the end of the test sequence process, and the exit port of this step is prohibited from being connected; the variable set includes multiple variables, each variable includes a variable name, data type, initial value, parameter tag, and workstation tag. The variable data type can only be selected from the preset data type component. A data type component provides support for a data type used in the test, including the name of the data type and a class definition code of the data type, including basic data types: integers, floating point numbers, strings, dates, and data containers, etc. Provide built-in support; parameter tags are divided into parameter variables and running variables. Parameter variables set values ​​before testing and can only take values ​​during testing, but cannot change values. Running variables do not have the above restrictions. Workstation tags are divided into workstation variables and shared variables. Workstation variables have an instance at each workstation, and shared variables have only one instance;

[0094] When setting the test step parameters, it includes setting the conditional expressions of conditional steps and loop steps, setting the parameter expressions of processing instruction steps and device instruction steps, and the variables for saving the return values ​​of instruction calls;

[0095] When setting the visualization configuration of the test process, the display mode of the test data generated by the test process and saved in the variables is set by binding the variables to the display components of text, curves and charts.

[0096] The benefits of this embodiment include: by presenting the test process in a graphical process, the efficiency of compiling test items is greatly improved, and the setting of station variables provides a basis for multi-station parallel testing.

[0097] Preferably, in a preferred embodiment of the present application, step S2 further includes the steps of:

[0098] Provides a test item checking mechanism. When configuring a test item, it checks in real time whether the test steps are valid and gives prompts for invalid places, including expression checking, checking whether all expressions conform to the expression specifications and whether the input parameter data type matches the data type of its expression.

[0099] The advantages of this embodiment include: ensuring that the process arrangement of the test items is effective.

[0100] Preferably, in a preferred embodiment of the present application, in step S3, the test item test mode includes a serial test mode, a parallel test mode, and a mixed test mode. The serial test mode tests one workstation at a time until all workstation tests are completed; the parallel test mode tests only once, and all workstations are tested simultaneously; the mixed test mode is a multi-pass test, each pass tests one or more specified workstations until all workstation tests are completed.

[0101] The advantages of this embodiment include: providing a variety of configurable test modes, which can be selected according to needs during testing.

[0102] Preferably, in a preferred embodiment of the present application, in step S4, loading the test items, determining the station set for the current test, and initializing the variable set specifically include the steps of:

[0103] According to the set test mode of the test item, determine the station set of the test item in this test pass, the station set includes the station ID of the station tested in this test pass;

[0104] Instantiate the workstation variables and set the initial values. Instantiate the workstation variables according to the workstation set, and index the workstation variables and workstation equipment through the workstation ID.

[0105] The benefits of this embodiment include: multiple station variables allow each station to have independent data, and when the subsequent control flow is run, the engine automatically accesses the variables of the corresponding station through the station ID in the control flow.

[0106] Preferably, in a preferred embodiment of the present application, in step S4, the test sequence directed acyclic graph is analyzed to determine the synchronization point mark of the test step entry port and determine the execution mode of the test step, which specifically includes the steps of:

[0107] Traverse the directed acyclic graph formed by the test sequence to determine the execution mode of each test step, wherein the test step using the station equipment or station variable is the station step, and the other test steps are shared steps, all shared steps are in the merged execution mode, the station step using the modified processing instruction or shared running variable is in the serial station execution mode, and the station step with a branch port, if the step of the subgraph where its child node is located contains a test step of the merged execution mode or the serial station execution mode, then this step is in the serial station execution mode, and the remaining station steps are in the parallel station execution mode;

[0108] When determining the synchronization point mark of the test step entry port, the entry endpoint of each test step whose execution mode is the merge execution mode or the serial station execution mode is marked as a synchronization point.

[0109] The benefits of this embodiment include: the merge point allows all control flows to wait and merge here, so that the operation of shared resources can achieve a mutual exclusion effect, and by calculating the execution mode and merge point of the test steps, the subsequent control flow can automatically execute the process.

[0110] Preferably, in a preferred embodiment of the present application, in step S4, an initialization control group and control flow are created, and all control flows are placed in the entry port of the test start step, specifically including the steps of:

[0111] Initially, an initial control group is created, including a group ID and a workstation ID set. The workstation ID set includes the workstations to be tested. A control flow is created for each workstation. The control group to which the control flow belongs is the initial control group. All control flows are placed at the entry port of the test start step at the same time. This embodiment uses control flows to control the test sequence. The control flow can flow freely on the directed graph of the test sequence, that is, it can stay and move on the entry port, test step, branch port, and exit port along the directed connection. The control flow contains the ID of the control group to which it belongs and the workstation to which it belongs. The control group of the control flow consists of a group ID and the ID set of all workstations in the group (see Figure 4 ), different control groups have different group IDs.

[0112] The benefits of this embodiment include: each workstation has a corresponding control flow, the flow and stay of the control flow between test steps represent the control timing of the test process, and the control group can be used for synchronization of the control flow within the group.

[0113] Preferably, in a preferred embodiment of the present application, in step S4, according to the control flow operation rules, the control flow is made to stay and flow on the test sequence directed acyclic graph, the operation of the test steps is controlled, and the automatic control of the serial and parallel timing of multiple stations is completed, which specifically includes the steps of:

[0114] When the control flows into the entry port of a test step, if the port is not marked as a synchronization point, the control flow flows directly into this test step. If the entry port is marked as a synchronization point, the control flow stays at the entry port and needs to wait until all control flows in the control group to which it belongs also arrive at this entry port before all control flows in the control group can flow into this test step at the same time;

[0115] After the control flows into the test step, it stays in the test step and is processed according to the following rules:

[0116] When the test step is in the merge execution mode, the control flows that stay in the test step are grouped according to the control group, and the following processing is performed on each control group: the operation represented by this test step is executed, and the operation result is temporarily saved. If there is no branch port, this test step is executed, and all control flows in the control group flow into the next subsequent port at the same time. If there is a branch port, a copy is made of the control group and the control flow in the group as a sub-control group of the current control group. The copied control flow is the sub-control flow. All control flows in the current control group are set to a suspended state. According to the step operation result and the selection mode of the branch port, all sub-control flows flow into the branch port and run until all sub-control flows have finished running. All control flows in the current control group are restored from the suspended state, and all control flows in the control group flow to the next subsequent port;

[0117] When the test step is in serial workstation execution mode, the control flows that stay in the test step are grouped according to control groups, and the following processing is performed on each control group: the following processing is performed serially on each control flow in the control group: the operation represented by the control flow in the test step is executed, and the workstation equipment and workstation variables referenced by the test step are different according to the workstation ID of the control flow; if there is no branch port, the control flow is processed; if there is a branch port, a copy of the control flow is made, and the copied control flow is a sub-control flow, and the control group of the sub-control flow is a new control group. The workstation set of the new control group only contains the workstation of the current control flow, and the current control flow is set to a suspended state. According to the test step operation result and the selection mode of the branch port, all sub-control flows flow into the branch port and run until the sub-control flow is completed, the current control flow is restored from the suspended state, and the control flow is processed; after all control flows in the control group are processed, all control flows in the control group flow to the next subsequent port;

[0118] When the test step is in parallel workstation execution mode, the following processing is performed in parallel for each control flow that stays in the test step: the operation represented by the control flow in the test step is executed, and the workstation equipment and workstation variables referenced by the test step are different according to the workstation ID of the control flow; if there is no branch port, the current control flow flows to the next subsequent port; if there is a branch port, a copy of the control flow is made, and the copied control flow is the sub-control flow, and the sub-control group of the sub-control flow is a new control group. The workstation set of the new control group only contains the workstation of the current control flow, and the current control flow is set to a suspended state. According to the step operation result and the selection mode of the branch port, all sub-control flows flow into the branch port and run until the sub-control flow is completed, the current control flow is restored from the suspended state, and the current control flow flows to the next subsequent port.

[0119] Preferably, in a preferred embodiment of the present application, the step of flowing all sub-control flows into the branch port and running them according to the step operation result and the selection mode of the branch port specifically includes the steps of:

[0120] For the mutually exclusive selection mode, the sub-control flow chooses to enter a branch port according to the condition of the step operation; for the parallel selection mode, the sub-control flow enters all branch ports in parallel; for the loop selection mode, the sub-control flow selects a branch port to enter.

[0121] Preferably, in a preferred embodiment of the present application, controlling the flow to flow to the next subsequent port specifically comprises the steps of:

[0122] If the selection mode of the branch port of the test step is the loop selection mode, the calculation result of the conditional expression is judged. If it is true, the next subsequent port is the entry port of the test step. In all other cases, the next subsequent port is the exit port of the test step.

[0123] Preferably, in a preferred embodiment of the present application, the sub-control flow is completed, specifically including the steps of:

[0124] When a sub-control flow enters a branch port or an exit port, and the branch port or the exit port is not connected to any port, or the sub-control flow enters the test end step, the sub-control flow is completed. Otherwise, the sub-control flow follows the directed connection and reaches the entry port of the subsequent test step to continue running until it is completed.

[0125] Through the above-described merge points, step execution modes, and control flow copying, waiting, flow and other operating rules, the control flow runs between test steps to complete the automatic control of serial and parallel timing of multiple stations.

[0126] During the test process, the test data and test results are displayed in real time according to the visual configuration of the test items. The changes in the test sequence and control flow are visualized in the test sequence diagram. Basic debugging functions such as breakpoints, pauses, single steps, and variable viewing are also provided.

[0127] The advantages of this embodiment include: the 3 selection modes of the branch port cover the sequence, branch, loop, and parallelism of the programming language, so that the test items have the same processing capabilities as other programming languages.

[0128] like Figure 5 As shown, another preferred embodiment of the present application further provides an automated parallel testing device for a satellite navigation device, comprising:

[0129] The first setting module is used to set the device under test, the signal connection mode of the instrument, and the workstation of the device used in the test, and save the relevant data into the test environment file;

[0130] The second setting module is used to set the test step flow, test step parameters, variable set, and visual configuration of the test process of the test item, and save the relevant data into the test item file;

[0131] The third setting module is used to set the test plan, connect the test equipment, set the test item test mode, and then read the test environment file and the test item file to start the test;

[0132] The test and display module is used to run the test items in the test plan in sequence according to the test plan. For each test of the test item, the following processing is repeated until the test is completed: load the test item, determine the station set for this test, and initialize the variable set; analyze the directed acyclic graph composed of the test sequence, determine the synchronization point mark of the test step entry port, and determine the execution mode of the test step; create an initialization control group and control flow, and put all control flows into the entry port of the test start step; according to the control flow operation rules, make the control flow stay and flow on the directed acyclic graph of the test sequence, control the operation of the test steps, and complete the automatic control of the serial and parallel timing of multiple stations; display the test data and test results in real time according to the visual configuration of the test item.

[0133] like Figure 6 As shown, another preferred embodiment of the present application also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of an automated parallel testing method for a satellite navigation device in the above embodiment when executing the computer program.

[0134] like Figure 7As shown, another preferred embodiment of the present application further provides a computer device, which may be a terminal or a liveness detection server, and its internal structure diagram may be as shown in FIG. Figure 7 As shown. The computer device includes a processor, a memory and a network interface connected through a system bus. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The network interface of the computer device is used to communicate with other external computer devices through a network connection. When the computer program is executed by the processor, the steps of the above-mentioned automated parallel testing method for satellite navigation equipment are implemented.

[0135] Those skilled in the art will understand that Figure 7 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.

[0136] A preferred embodiment of the present application further provides a storage medium, which includes a stored program, and when the program is run, controls the device where the storage medium is located to execute the steps of an automated parallel testing method for a satellite navigation device in the above embodiment.

[0137] It should be noted that the steps shown in the flowcharts of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and that, although a logical order is shown in the flowcharts, in some cases, the steps shown or described can be executed in an order different from that shown here.

[0138] If the functions described in the method of this embodiment are implemented in the form of software functional units and sold or used as independent products, they can be stored in one or more computing devices readable storage media. Based on this understanding, the part of the embodiment of the present application that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for a computing device (which can be a personal computer, server, mobile computing device or network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk and other media that can store program code.

[0139] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes. The schemes in the embodiments of the present application may be implemented in various computer languages, for example, object-oriented programming language Java and literal scripting language JavaScript, etc.

[0140] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0141] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0142] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0143] The parts not described in detail in this application are all known technologies to those skilled in the art. Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application and are not limiting. Although this application is described in detail with reference to the preferred embodiments, those skilled in the art should understand that the technical solutions of this application can be modified or replaced by equivalents without departing from the purpose and scope of the technical solutions of this application, which should be included in the scope of the claims of this application.

Claims

1. An automated parallel testing method for satellite navigation equipment, characterized in that: The following steps are involved: S1. After setting the device under test, the signal connection method of the instrument, and the workstation of the device, save the relevant data into the test environment file; S2. After setting the test step flow, test step parameters, variable set, and visual configuration of the test process of the test item, save the relevant data into the test item file; S3, after setting the test plan, connecting the test equipment, setting the test item test mode, reading the test environment file and the test item file to start the test; S4. According to the test plan, run the test items in the test plan in sequence. For each test of the test items, repeat the following processing until the test is completed: load the test items, determine the set of workstations for this test, and initialize the variable set; analyze the directed acyclic graph composed of the test sequence, determine the synchronization point mark of the test step entry port, and determine the execution mode of the test step; create an initialization control group and control flow, and put all control flows into the entry port of the test start step; according to the control flow operation rules, make the control flow stay and flow on the directed acyclic graph of the test sequence, control the operation of the test steps, and complete the automatic control of the serial and parallel timing of multiple workstations; display the test data and test results in real time according to the visual configuration of the test items.

2. The automated parallel testing method for satellite navigation equipment according to claim 1, characterized in that: Step S1 also includes the steps of: The workstation setting principles are checked to prevent abnormal workstation settings and signal connections, provide correct workstation information for subsequent parallelization, and perform signal calibration on the equipment based on the signal connection between the equipment in the test environment and between the equipment; the equipment workstation setting principles are as follows: shared equipment can be connected to all workstations, and workstation equipment is only connected to the equipment in this workstation and shared equipment. Equipment at one workstation is prohibited from being connected to equipment at another workstation. The equipment type, quantity, and connection method in each workstation should be consistent. Equipment placed in a certain workstation is called workstation equipment, and equipment that does not belong to any workstation is called shared equipment.

3. The automated parallel testing method for satellite navigation equipment according to claim 2, characterized in that: In step S2, the test item consists of a test sequence and a variable set. The test sequence consists of an ordered connection of different test steps and parameter configurations of the test steps. The test steps include a general process control step, a processing instruction step, and a device instruction step. The general process control step includes a condition judgment step, a loop step, a parallel step, a test start step, a test end step, and an expression step. The test step includes a required entry port, an exit port, and an optional branch port. The selection mode of the branch port is divided into a mutually exclusive selection mode, a parallel selection mode, and a loop selection mode. The mutually exclusive selection mode means that only one of the branch ports is selected to run according to the condition. The parallel selection mode means that all branch ports are run in parallel. The loop selection mode means that the branch port is repeatedly run until the condition is not met. The loop selection mode can only contain one branch port. The exit port or branch port of the test step is connected to the entry port of another test step in a directed manner, but the exit port is prohibited from being connected to its predecessor, that is, the test sequence is a directed acyclic graph. The nodes of the graph are test steps, and the directed edges of the graph are directed connections between ports; the test start step represents the entry point of the test sequence process, and the entry port of this step is prohibited from being connected; the test end step represents the end of the test sequence process, and the exit port of this step is prohibited from being connected; the variable set includes multiple variables, each variable includes a variable name, data type, initial value, parameter tag, and workstation tag. The variable data type can only be selected from the preset data type component. A data type component provides support for a data type used in the test, including the name of the data type and a class definition code of the data type, including basic data types: integers, floating point numbers, strings, dates, and data containers, etc. Provide built-in support; parameter tags are divided into parameter variables and running variables. Parameter variables set values ​​before testing and can only take values ​​during testing, but cannot change values. Running variables do not have the above restrictions. Workstation tags are divided into workstation variables and shared variables. Workstation variables have an instance at each workstation, and shared variables have only one instance; When setting the test step parameters, it includes setting the conditional expressions of conditional steps and loop steps, setting the parameter expressions of processing instruction steps and device instruction steps, and the variables for saving the return values ​​of instruction calls; When setting the visualization configuration of the test process, the display mode of the test data generated by the test process and saved in the variables is set by binding the variables to the display components of text, curves and charts.

4. The automated parallel testing method for satellite navigation equipment according to claim 3, characterized in that: Step S2 also includes the steps of: Provides a test item checking mechanism. When configuring a test item, it checks in real time whether the test steps are valid and gives prompts for invalid places, including expression checking, checking whether all expressions conform to the expression specifications and whether the input parameter data type matches the data type of its expression.

5. The automated parallel testing method for satellite navigation equipment according to claim 4, characterized in that: In step S3, the test item test mode includes a serial test mode, a parallel test mode, and a mixed test mode. The serial test mode tests one station at a time until all stations are tested. The parallel test mode only performs one test, and all stations are tested simultaneously; the mixed test mode is a multi-pass test, each test specifies one or more stations, until all stations are tested.

6. The automated parallel testing method for satellite navigation equipment according to claim 5, characterized in that: In step S4, the test items are loaded, the station set for the current test is determined, and the variable set is initialized, which specifically includes the following steps: According to the set test mode of the test item, determine the station set of the test item in this test pass, the station set includes the station ID of the station tested in this test pass; Instantiate the workstation variables and set the initial values. Instantiate the workstation variables according to the workstation set, and index the workstation variables and workstation equipment through the workstation ID.

7. The automated parallel testing method for satellite navigation equipment according to claim 6, characterized in that: In step S4, the test sequence directed acyclic graph is analyzed to determine the synchronization point mark of the test step entry port and the execution mode of the test step, which specifically includes the following steps: Traverse the directed acyclic graph formed by the test sequence to determine the execution mode of each test step, wherein the test step using the station equipment or station variable is the station step, and the other test steps are shared steps, all shared steps are in the merged execution mode, the station step using the modified processing instruction or shared running variable is in the serial station execution mode, and the station step with a branch port, if the steps of the subgraph where its child node is located contain steps of the merged execution mode or the serial station execution mode, then this step is in the serial station execution mode, and the remaining station steps are in the parallel station execution mode; When determining the synchronization point mark of the test step entry port, the entry endpoint of each test step whose execution mode is the merge execution mode or the serial station execution mode is marked as a synchronization point.

8. The automated parallel testing method for satellite navigation equipment according to claim 7, characterized in that: In step S4, an initialization control group and control flow are created, and all control flows are placed in the entry port of the test start step, specifically including the steps: Initially, an initial control group is created, including a group ID and a workstation ID set. The workstation ID set contains the workstations that need to be tested. A control flow is created for each workstation. The control group to which the control flow belongs is the initial control group. All control flows are placed at the entry port of the test start step at the same time.

9. The automated parallel testing method for satellite navigation equipment according to claim 8, characterized in that: In step S4, according to the control flow operation rules, the control flow is made to stay and flow on the test sequence directed acyclic graph, the operation of the test steps is controlled, and the automatic control of the serial and parallel timing of multiple stations is completed, which specifically includes the steps of: When the control flows into the entry port of a test step, if the port is not marked as a synchronization point, the control flow flows directly into this test step. If the entry port is marked as a synchronization point, the control flow stays at the entry port and needs to wait until all control flows in the control group to which it belongs also arrive at this entry port before all control flows in the control group can flow into this test step at the same time; After the control flows into the test step, it stays in the test step and is processed according to the following rules: When the test step is in the merge execution mode, the control flows that stay in the test step are grouped according to the control group, and the following processing is performed on each control group: the operation represented by this test step is executed, and the operation result is temporarily saved. If there is no branch port, this test step is executed, and all control flows in the control group flow into the next subsequent port at the same time. If there is a branch port, a copy is made of the control group and the control flow in the group as a sub-control group of the current control group. The copied control flow is the sub-control flow. All control flows in the current control group are set to a suspended state. According to the step operation result and the selection mode of the branch port, all sub-control flows flow into the branch port and run until all sub-control flows have finished running. All control flows in the current control group are restored from the suspended state, and all control flows in the control group flow to the next subsequent port; When the test step is in serial workstation execution mode, the control flow that stays in the test step is grouped according to the control group, and the following processing is performed on each control group: the following processing is performed serially on each control flow in the control group: the operation represented by the control flow in the test step is executed, and the workstation equipment and workstation variables referenced by the test step are different according to the workstation ID of the control flow; if there is no branch port, the control flow is processed; if there is a branch port, a copy of the control flow is made, and the copied control flow is the sub-control flow, and the control group of the sub-control flow is a new control group. The workstation set of the new control group only contains the workstation of the current control flow, and the current control flow is set to a suspended state. According to the test step operation result and the selection mode of the branch port, all sub-control flows flow into the branch port and run until the sub-control flow is completed, the current control flow is restored from the suspended state, and the control flow is processed; After all control flows in the control group are processed, all control flows in the control group flow to the next subsequent port; When the test step is in parallel workstation execution mode, the following processing is performed in parallel for each control flow that stays in the test step: the operation represented by the control flow in the test step is executed, and the workstation equipment and workstation variables referenced by the test step are different according to the workstation ID of the control flow; if there is no branch port, the current control flow flows to the next subsequent port; if there is a branch port, a copy of the control flow is made, and the copied control flow is the sub-control flow, and the sub-control group of the sub-control flow is a new control group. The workstation set of the new control group only contains the workstation of the current control flow, and the current control flow is set to a suspended state. According to the step operation result and the selection mode of the branch port, all sub-control flows flow into the branch port and run until the sub-control flow is completed, the current control flow is restored from the suspended state, and the current control flow flows to the next subsequent port.

10. The method for automated parallel testing of satellite navigation equipment according to claim 9, characterized in that: According to the step operation result and the selection mode of the branch port, all sub-control flows flow into the branch port and run, specifically including the steps of: For the mutually exclusive selection mode, the sub-control flow selects to enter a branch port according to the condition of step operation; for the parallel selection mode, the sub-control flow enters all branch ports in parallel; for the loop selection mode, the sub-control flow selects one branch port to enter; The control flow to the next subsequent port specifically includes the following steps: If the selection mode of the branch port of the test step is the loop selection mode, the calculation result of the conditional expression is judged. If it is true, the next subsequent port is the entry port of the test step. In all other cases, the next subsequent port is the exit port of the test step. The sub-control flow has completed execution, including the following steps: When a sub-control flow enters a branch port or an exit port, and the branch port or the exit port is not connected to any port, or the sub-control flow enters the test end step, the sub-control flow is completed. Otherwise, the sub-control flow follows the directed connection and reaches the entry port of the subsequent test step to continue running until it is completed.

Citation Information

Patent Citations

  • Visualization system and method for testing and calibrating satellite navigation receiving terminal

    CN111103601A

  • Automatic performance testing system for batch-produced satellites

    CN114518584A