WO2024093298A1 - Test method and apparatus - Google Patents

Test method and apparatus Download PDF

Info

Publication number
WO2024093298A1
WO2024093298A1 PCT/CN2023/103496 CN2023103496W WO2024093298A1 WO 2024093298 A1 WO2024093298 A1 WO 2024093298A1 CN 2023103496 W CN2023103496 W CN 2023103496W WO 2024093298 A1 WO2024093298 A1 WO 2024093298A1
Authority
WO
WIPO (PCT)
Prior art keywords
module
test
algorithm
tested
navigation
Prior art date
Application number
PCT/CN2023/103496
Other languages
French (fr)
Chinese (zh)
Inventor
孙冬
张诗杰
刘自源
Original Assignee
华为云计算技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为云计算技术有限公司 filed Critical 华为云计算技术有限公司
Publication of WO2024093298A1 publication Critical patent/WO2024093298A1/en

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C25/00Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software

Definitions

  • the present application relates to the technical field of software testing, and more specifically, to a testing method and device.
  • Autonomous positioning and navigation algorithms can include synchronous positioning, real-time positioning and map construction or concurrent localization and mapping (SLAM) and navigation. Therefore, autonomous positioning and navigation algorithms can be divided into three modules: mapping module, positioning module, and navigation module.
  • the testing method of the autonomous positioning and navigation algorithm is usually based on traditional software testing.
  • Traditional software testing calculates the expected output based on the input use case, and compares the output result with the actual result to determine whether the test passes.
  • massive amounts of data and continuous adjustment of parameters are required to iterate the autonomous positioning and navigation algorithm to cover as many scenarios as possible.
  • Such a testing process is very complex and difficult to predict.
  • testers cannot calculate the accurate expected output of a module in the autonomous positioning and navigation algorithm based on the code.
  • testers need to locate them based on experience, which makes it difficult to locate the specific problem, resulting in inaccurate problem location.
  • the present application provides a testing method and device, which can directly and accurately locate the location of the problem when a test problem occurs, thereby achieving accurate positioning of the test problem.
  • the present application provides a test method
  • the execution subject of the method can be a test device, or a component located in an electronic device (for example, a chip, a chip system or a processor, etc.), and the following description is taken as an example that the execution subject is a test device.
  • the method may include: loading the algorithm to be tested of the first business, the algorithm to be tested of the first business includes multiple algorithm modules, and there is a correlation between the input and output of the multiple algorithm modules; according to the test strategy, determining a test module in the multiple algorithm modules of the algorithm to be tested, the test module includes some algorithm modules in the multiple algorithm modules of the algorithm to be tested; determining the benchmark input and benchmark output corresponding to the test module; inputting the benchmark input data into the test module to obtain the test output data output by the test module; when the test output data is consistent with the benchmark output data, determining that the test module test passes.
  • the test strategy is used to characterize the operation process of multiple algorithm modules of the algorithm to be tested of the first service.
  • the test module includes some algorithm modules among the multiple algorithm modules of the algorithm to be tested, which can be understood as: the test module can be a part of the algorithm modules among the multiple algorithm modules.
  • the test module can also include all the algorithm modules among the multiple algorithm modules of the algorithm to be tested.
  • the test module can be all the algorithm modules among the multiple algorithm modules.
  • the embodiment of the present application determines the test module by adopting a test strategy in multiple algorithm modules of the algorithm to be tested of the first business, and then determines the benchmark input and benchmark output corresponding to the test module, and compares the test output data of the test module output obtained by inputting the benchmark input data into the test module with the benchmark output data. When the test output data is consistent with the benchmark output data, it is determined that the test module test has passed. In this way, when a test problem occurs, the location of the problem can be directly and accurately located, and the test problem can be accurately located.
  • the method before determining a test module from a plurality of algorithm modules according to the test strategy, the method further includes: determining a test strategy according to operation processes of the plurality of algorithm modules.
  • a test strategy is obtained through the operation process of multiple algorithm modules, providing an optional and efficient automated testing system for the testing of algorithms (such as autonomous positioning and navigation algorithms). Compared with testing based on the experience of testers, testing methods based on test strategies are more efficient and more accurate.
  • the test strategy may include at least one of the following: testing each algorithm module among multiple algorithm modules in parallel; after a target algorithm module among multiple algorithm modules passes the test, testing other algorithm modules among multiple algorithm modules in parallel; and performing combination testing on at least two algorithm modules among multiple algorithm modules.
  • the test module may include at least one test module, and the at least one test module includes: any one algorithm module among the multiple algorithm modules, and at least two algorithm modules among the multiple algorithm modules.
  • the benchmark input and benchmark output corresponding to the test module are determined by: inputting sample data into the benchmark algorithm of the first business, and determining the benchmark input data and benchmark output data corresponding to the test module, wherein multiple algorithm modules in the benchmark algorithm correspond one-to-one to multiple algorithm modules in the algorithm to be tested.
  • the first service is autonomous positioning and navigation
  • the multiple algorithm modules in the algorithm to be tested include a mapping module, a positioning module, and a navigation module.
  • the output data of the mapping module is used as input data of the positioning module and the navigation module.
  • the multiple algorithm modules in the algorithm to be tested include a mapping module, a positioning module, and a navigation module.
  • a mapping module By testing one or more of the mapping module, the positioning module, and the navigation module, when a test problem occurs, the location of the problem can be directly and accurately located, so that the test problem can be accurately located.
  • the test strategy may include testing the positioning unit and the navigation unit in parallel after the mapping unit test passes; after the mapping unit test passes, determining the test nodes as the positioning unit and the navigation unit according to the test strategy.
  • the testing strategy includes testing a combination module of the mapping module and the navigation module after the mapping module and the navigation module are tested; after the mapping module and the navigation module are tested, determining the test module as the combination module of the mapping module and the navigation module according to the testing strategy.
  • the embodiment of the present application performs a combined test on at least two modules among the multiple modules, so that when a test problem occurs, the problem can be directly and accurately located, thereby achieving accurate location of the test problem.
  • the testing strategy includes testing a combination module of the mapping module, the positioning module and the navigation module after the mapping module, the positioning module and the navigation module have been tested; after the mapping module, the positioning module and the navigation module have been tested, determining the test module as a combination module of the mapping module, the positioning module and the navigation module according to the testing strategy.
  • the embodiment of the present application performs end-to-end (overall) testing on multiple modules after each module in the multiple modules has been tested. This ensures the accuracy of the algorithm test.
  • the tester can directly and accurately locate the problem, thereby accurately locating the test problem.
  • the present application provides a testing device, which may include: a loading unit, used to load an algorithm to be tested for a first business, the algorithm to be tested for the first business includes multiple algorithm modules, and there is a correlation between the inputs and outputs of the multiple algorithm modules; a first determination unit, used to determine a test module from the multiple algorithm modules of the algorithm to be tested according to a test strategy, the test module including some of the multiple algorithm modules of the algorithm to be tested; a second determination unit, used to determine a benchmark input and a benchmark output corresponding to the test module; a first output unit, used to input the benchmark input data into the test module to obtain test output data output by the test module; and a third determination unit, used to determine that the test module test has passed when the test output data is consistent with the benchmark output data.
  • a loading unit used to load an algorithm to be tested for a first business, the algorithm to be tested for the first business includes multiple algorithm modules, and there is a correlation between the inputs and outputs of the multiple algorithm modules
  • the embodiment of the present application determines the test module by adopting a test strategy in multiple algorithm modules of the algorithm to be tested of the first business, and then determines the benchmark input and benchmark output corresponding to the test module, and compares the test output data of the test module output obtained by inputting the benchmark input data into the test module with the benchmark output data. When the test output data is consistent with the benchmark output data, it is determined that the test module test has passed. In this way, when a test problem occurs, the location of the problem can be directly and accurately located, and the test problem can be accurately located.
  • the device may further include: a fourth determination unit, configured to determine a test strategy according to the operation processes of the plurality of algorithm modules.
  • a test strategy is obtained through the operation process of multiple algorithm modules, providing an optional and efficient automated testing system for the testing of algorithms (such as autonomous positioning and navigation algorithms). Compared with testing based on the experience of testers, testing methods based on test strategies are more efficient and more accurate.
  • the test strategy may include at least one of the following: testing each algorithm module among multiple algorithm modules in parallel; after a target algorithm module among multiple algorithm modules passes the test, testing other algorithm modules among multiple algorithm modules in parallel; and performing combination testing on at least two algorithm modules among multiple algorithm modules.
  • the second determination unit is used to: input sample data into a benchmark algorithm of the first business, determine benchmark input data and benchmark output data corresponding to the test module, wherein multiple algorithm modules in the benchmark algorithm correspond one-to-one to multiple algorithm modules in the algorithm to be tested.
  • the first service is autonomous positioning and navigation
  • the multiple algorithm modules in the algorithm to be tested include a mapping module, a positioning module, and a navigation module.
  • the output data of the mapping module is used as input data of the positioning module and the navigation module.
  • the multiple algorithm modules in the algorithm to be tested include a mapping module, a positioning module, and a navigation module.
  • a mapping module By testing one or more of the mapping module, the positioning module, and the navigation module, when a test problem occurs, the location of the problem can be directly and accurately located, so that the test problem can be accurately located.
  • the test strategy includes testing the positioning unit and the navigation unit in parallel after the mapping unit test passes; the first determination unit is used to determine the test nodes as the positioning unit and the navigation unit according to the test strategy after the mapping unit test passes.
  • the test strategy includes testing a combination module of the mapping module and the navigation module after the mapping module and the navigation module are tested; and the first determination unit is used to determine that the test module is a combination module of the mapping module and the navigation module according to the test strategy after the mapping module and the navigation module are tested.
  • the embodiment of the present application performs a combined test on at least two modules among the multiple modules, so that when a test problem occurs, the problem can be directly and accurately located, thereby achieving accurate location of the test problem.
  • the testing strategy includes testing a combination module of the mapping module, the positioning module and the navigation module after the mapping module, the positioning module and the navigation module have been tested; after the mapping module, the positioning module and the navigation module have been tested, determining the test module as a combination module of the mapping module, the positioning module and the navigation module according to the testing strategy.
  • the embodiment of the present application performs end-to-end (overall) testing on multiple modules after each module in the multiple modules has been tested. This ensures the accuracy of the algorithm test.
  • the tester can directly and accurately locate the problem, thereby accurately locating the test problem.
  • the present application provides a testing device, which may include: a memory for storing a computer program; and a processor for executing the computer program stored in the memory, so that the device performs the method described in the first aspect.
  • the present application provides an electronic device, which may include: one or more processors; and a memory, in which codes are stored; when the codes are executed by the processor, the electronic device executes the method described in the first aspect.
  • the present application provides a computer-readable storage medium, which may include computer instructions.
  • the computer instructions When the computer instructions are executed on an electronic device, the electronic device executes the method described in the first aspect.
  • the present application provides a computer program product, wherein the computer program product comprises computer instructions, and when the computer instructions are executed on a computer, the computer executes the method as described in the first aspect.
  • the embodiment of the present application determines the test module by adopting a test strategy in multiple algorithm modules of the algorithm to be tested of the first business, and then determines the benchmark input and benchmark output corresponding to the test module, and compares the test output data of the test module output obtained by inputting the benchmark input data into the test module with the benchmark output data. When the test output data is consistent with the benchmark output data, it is determined that the test module test has passed. In this way, when a test problem occurs, the location of the problem can be directly and accurately located, and the test problem can be accurately located.
  • FIG1 is a software architecture diagram of an autonomous positioning and navigation algorithm in an embodiment of the present application.
  • FIG2 is a schematic diagram of the structure of a test device used in the test method provided in an embodiment of the present application.
  • FIG3 is a logic diagram of a test strategy provided in an embodiment of the present application.
  • FIG4 is a schematic flow chart of a testing method provided in an embodiment of the present application.
  • FIG5 is a schematic block diagram of a testing device provided in an embodiment of the present application.
  • Autonomous positioning and navigation algorithms can include synchronous positioning, real-time positioning and map construction or concurrent mapping and positioning (SLAM) and navigation.
  • SLAM allows the robot to start from an unknown location with an unknown change of machine, locate its own position and posture through repeated observation of map features (such as corners, pillars, etc.) during the movement, and then build a map incrementally according to its own position, so as to achieve the purpose of simultaneous positioning and map construction.
  • map construction is to project the sequential laser radar point cloud or visual features collected by the sensor from the local coordinate system of each frame to the global coordinate system, and then complete the map stitching and positioning, that is, to obtain the position and posture information of the mobile carrier in the constructed map.
  • Navigation is a technology for determining position and direction.
  • Figure 1 shows a software architecture diagram of an autonomous positioning and navigation algorithm in an embodiment of the present application.
  • the autonomous positioning and navigation algorithm can be subdivided into three modules: mapping module, positioning module and navigation module.
  • mapping module the output data of the mapping module is used as the input data of the positioning module and the navigation module respectively
  • the output data of the positioning module is used as the input data of the navigation module.
  • the testing method of the autonomous positioning and navigation algorithm is usually based on traditional software testing.
  • Traditional software testing calculates the expected output based on the input use case, and compares the output result with the actual result to determine whether the test passes.
  • massive amounts of data and continuous adjustment of parameters are required to iterate the autonomous positioning and navigation algorithm to cover as many scenarios as possible.
  • Such a testing process is very complex and difficult to predict.
  • testers cannot calculate the accurate expected output of a module in the autonomous positioning and navigation algorithm based on the code.
  • testers need to locate them based on experience, which makes it difficult to locate the specific problem, resulting in inaccurate problem location.
  • the embodiment of the present application provides a test method, which is applied to a test device.
  • the method is used to test the algorithm to be tested of the first business, which includes multiple algorithm modules, and the multiple algorithm modules to be tested correspond to the multiple algorithm modules in the benchmark algorithm of the first business.
  • the first sample data is input into the benchmark algorithm of the first business to determine the benchmark input data and benchmark output data corresponding to each algorithm module.
  • the algorithm to be tested of the first business is loaded; according to the test strategy, the test module is determined in the multiple algorithm modules of the algorithm to be tested, and the benchmark input and benchmark output corresponding to the test module are determined; the benchmark input data is input into the test module to obtain the test output data output by the test module; when the test output data is consistent with the benchmark output data, it is determined that the test module has passed the test; in this way, when a test problem occurs in a module, the module with the problem can be accurately located to achieve accurate positioning of the test problem.
  • FIG. 2 is a schematic diagram of the structure of a test device for applying a test method provided in an embodiment of the present application.
  • the test device 200 may include multiple storage units 202, and the multiple storage units 202 may include a first storage unit 2021, a second storage unit 2022, a third storage unit 2023, and a fourth storage unit 2024, ... ...
  • the first sample data is input into the benchmark algorithm of the first business, and the benchmark input data and benchmark output data corresponding to each algorithm module are determined.
  • these storage units 202 respectively store the first sample data, and the benchmark input data and benchmark output data corresponding to each algorithm module.
  • the multiple algorithm modules in the benchmark algorithm of the first business include the first algorithm module, the second algorithm module, and the third algorithm module
  • the output data of the first algorithm module is the input data of the second algorithm module and the third algorithm module
  • the first storage unit 2021 is used to store the first sample data
  • the second storage unit 2022 is used to store the benchmark output data of the first algorithm module
  • the third storage unit 2023 is used to store the benchmark output data of the second algorithm module
  • the fourth storage unit 2024 is used to store the benchmark output data of the third algorithm module.
  • the test device 200 further includes a test strategy control unit 201, which is used to control the operation flow of each algorithm module in the algorithm to be tested of the first service.
  • the test strategy control unit 201 can determine the test strategy according to the operation flow of each algorithm module in the algorithm to be tested of the first service. Assume that the multiple algorithm modules in the algorithm to be tested of the first service include a first algorithm module, a second algorithm module and a third algorithm module, and the output data of the first algorithm module is the input data of the second algorithm module and the third algorithm module. Then, a test strategy can be to test the second algorithm module and the third algorithm module after the first algorithm module is tested.
  • the test strategy can also include a test strategy for testing the first algorithm module, the second algorithm module and the third algorithm module in parallel; the test strategy can also include a test strategy for combining at least two algorithm modules in a plurality of algorithm modules, for example, a test strategy for combining the first algorithm module with the second algorithm module, combining the first algorithm module with the third algorithm module, combining the first algorithm module with the third algorithm module, combining the first algorithm module, the second algorithm module and the third algorithm module.
  • the embodiments of the present application are not specifically limited.
  • the test device 200 may further include a test unit 203, which is used to test each algorithm module in the algorithm to be tested of the first service.
  • the test unit 203 loads the algorithm to be tested of the first service.
  • the first service is autonomous positioning navigation.
  • the algorithm to be tested is an autonomous positioning and navigation algorithm.
  • the test unit 203 determines the algorithm module to be tested through the test strategy control unit, and obtains the input data of the algorithm module from the storage unit 202, and performs calculations to obtain output data.
  • the test unit 203 compares the output data with the benchmark output data stored in the algorithm module in the storage unit 202. If the two data are consistent, the test unit 203 determines that the algorithm module has passed the test and outputs the test result of the test passing. If the two data are inconsistent, the test unit 203 determines that the algorithm module has failed the test and outputs the test result of the test failing.
  • module testing can refer to checking and verifying with the smallest module.
  • the meaning of the module in module testing generally speaking, its specific meaning should be determined according to the actual situation.
  • a module can refer to a function
  • a module in Java, a module can refer to a class, and in graphical software, a module can refer to a window or a menu.
  • Integration testing can refer to combining several modules to test a specific function. Different from the isolated modules in module testing, integration testing pays more attention to the interaction between different modules.
  • test device executing unit test The following is a detailed introduction to the test device executing unit test, the test device executing unit test and integration test, and end-to-end test. The details are as follows:
  • the test fixture performs unit testing.
  • FIG3 is a logic diagram of a test strategy provided in an embodiment of the present application.
  • the algorithm to be tested includes an autonomous positioning and navigation algorithm
  • the first algorithm module includes a mapping module
  • multiple algorithm modules in the second algorithm module include a positioning module
  • the third algorithm module includes a navigation module.
  • the output data of the mapping module is used as the input data of the positioning module and the navigation module.
  • the test strategy can be: after the mapping module test passes, the positioning module and the navigation module are tested separately. Then, after the test unit loads the autonomous positioning and navigation algorithm, the test unit determines that the test module to be tested is a mapping module through the test strategy control unit.
  • the test unit obtains the first sample data from the first storage module and inputs the data into the mapping module.
  • the test unit obtains the output data of the mapping module (such as the above-mentioned test output data), and compares the data with the benchmark output data of the mapping module stored in the second storage module (such as the point cloud map data). If the data is consistent with the point cloud map data, the test unit determines that the mapping module test passes. If the data is inconsistent with the point cloud map data, the test unit determines that the mapping module test fails. After the mapping module test passes, the test unit determines that the next test module to be tested is the positioning module through the test strategy control unit. The test unit inputs the point cloud map data in the second storage module into the positioning module.
  • the test unit obtains the output data of the positioning module and compares the data with the benchmark output data (such as posture data) of the positioning module stored in the third storage module. If the data is consistent with the posture data, the test unit determines that the positioning module test passes; if the data is inconsistent with the posture data, the test unit determines that the positioning module test fails.
  • the test unit determines that the next test module to be tested is the navigation module through the test strategy control unit.
  • the test unit inputs the grid map data in the second storage module into the navigation module.
  • the test unit obtains the output data of the navigation module and compares the data with the benchmark output data (such as navigation data) of the navigation module stored in the fourth storage module. If the data is consistent with the navigation data, the test unit determines that the navigation module test passes; if the data is inconsistent with the navigation data, the test unit determines that the navigation module test fails.
  • the multiple algorithm modules in the algorithm to be tested include a mapping module, a positioning module, and a navigation module.
  • the mapping module, the positioning module, and the navigation module By testing one or more of the mapping module, the positioning module, and the navigation module, when a test problem occurs, the location of the problem can be directly and accurately located, thereby achieving accurate positioning of the test problem.
  • the test device performs a combination test.
  • the test strategy can be: after the mapping module, the positioning module and the navigation module are all tested, the combination of the mapping module and the positioning module, the combination of the positioning module and the navigation module, and the combination of the mapping module and the navigation module are tested respectively. Then, after the test unit loads the autonomous positioning and navigation algorithm, the test unit uses the above-mentioned module test method to test the mapping module, the positioning module and the navigation module. After passing the test, the test unit determines that the test module to be tested is a combination of the mapping module and the positioning module through the test strategy control unit. At this time, the test unit obtains the first sample data from the first storage unit and inputs the data into the combination of the mapping module and the positioning module.
  • the test unit obtains the output data of the positioning module and compares the data with the reference output data (such as posture data) of the positioning module stored in the third storage module. If the data is consistent with the posture data, the test unit determines that the combination test of the mapping module and the positioning module passes. If the data is inconsistent with the posture data, the test unit determines that the combination test of the mapping module and the positioning module fails. Similarly, the test unit determines that the test module to be tested is a combination of the positioning module and the navigation module through the test strategy control unit. The test unit inputs the point cloud map data in the second storage unit into the positioning module. The test module obtains the output data of the navigation module, and compares the data with the reference output data (such as navigation data) of the navigation module stored in the fourth storage module.
  • the reference output data such as posture data
  • the test unit determines that the combined test of the positioning module and the navigation module has passed; if the data is inconsistent with the navigation data, the test unit determines that the combined test of the positioning module and the navigation module has failed.
  • the test unit determines that the test modules to be tested are the mapping module and the navigation module through the test strategy control unit.
  • the test unit inputs the map data in the first storage module into the combination of the mapping module and the navigation module.
  • the test module obtains the output data of the navigation module and compares the data with the reference output data (such as navigation data) of the navigation module stored in the fourth storage module. If the data is consistent with the navigation data, the test unit determines that the navigation module test has passed; if the data is inconsistent with the navigation data, the test unit determines that the navigation module test has failed.
  • the embodiment of the present application performs a combined test on at least two modules among the multiple modules, so that when a test problem occurs, the problem can be directly and accurately located, thereby achieving accurate location of the test problem.
  • the test device performs end-to-end testing.
  • the test strategy can be: after the mapping module, the positioning module and the navigation module are all tested and passed, and the combination of the mapping module and the positioning module, the combination of the positioning module and the navigation module, and the combination of the mapping module and the navigation module are all tested and passed, the mapping module, the positioning module and the navigation module are tested. Then, after the test unit loads the autonomous positioning and navigation algorithm, the test unit uses the above-mentioned unit test method to test the mapping module, the positioning module and the navigation module, and the above-mentioned integrated test method to test the combination of the mapping module and the positioning module, the combination of the positioning module and the navigation module, and the combination of the mapping module and the navigation module.
  • the test unit determines that the test module to be tested is the mapping module, the positioning module and the navigation module through the test strategy control unit.
  • the test unit obtains the first sample data from the first storage unit and inputs the data into the mapping module, the positioning module and the navigation module.
  • the test unit obtains the output data of the navigation module and compares the data with the reference output data (such as navigation data) of the navigation module stored in the fourth storage module. If the data is consistent with the navigation data, the test unit determines that the navigation module test has passed; if the data is inconsistent with the navigation data, the test unit determines that the navigation module test has failed.
  • the embodiment of the present application performs end-to-end (overall) testing on multiple modules after each module in the multiple modules has been tested. This ensures the accuracy of the algorithm test.
  • the tester can directly and accurately locate the problem, thereby accurately locating the test problem.
  • test module performs different tests, which will not be listed here one by one.
  • test device may include different product forms, such as: chips, devices (such as: test platforms, test equipment, servers (virtual or physical)).
  • the device architecture shown in FIG. 2 is for exemplary purposes only. In a specific implementation, the device may include more or fewer modules or algorithm modules, and the modules or algorithm modules may be deleted or added based on actual conditions.
  • Fig. 4 shows a schematic flow chart of a test method provided in an embodiment of the present application, which can be performed by the test device shown in Fig. 2.
  • the method 400 may include S401, S402, S403, S404, S405, S406 and S407 (some of which are optional), and please refer to the description of the following embodiment for details.
  • the test method provided in the embodiment of the present application is used to test the algorithm to be tested of the first business, and the algorithm includes multiple algorithm modules, and the multiple algorithm modules to be tested correspond one-to-one to the multiple algorithm modules in the benchmark algorithm of the first business.
  • the first sample data is input into the benchmark algorithm of the first business to determine the benchmark input data and benchmark output data corresponding to each algorithm module.
  • the multiple algorithm modules include a first algorithm module, a second algorithm module, and a third algorithm module for illustration.
  • the test device stores the first sample data and the benchmark output data of each module. These data can be stored in one storage unit or in corresponding storage units respectively.
  • the test device may include a plurality of storage units, and the plurality of storage units may include a first storage unit, a second storage unit, a third storage unit and a fourth storage unit. The first storage unit is used to store the first sample data, the second storage unit is used to store the first benchmark output data, the third storage module is used to store the second benchmark output data, and the fourth storage module is used to store the third benchmark output data.
  • the test device loads the algorithm to be tested of the first service, the algorithm to be tested of the first service includes multiple algorithm modules, and there is a correlation between the input and output of the multiple algorithm modules.
  • the multiple algorithm modules include a first algorithm module, a second algorithm module and a third algorithm module.
  • the test device can output data of the algorithm to be tested of the first service.
  • an algorithm module As an algorithm module. Exemplarily, after the sample data is input into the algorithm to be tested of the first service, the first data, the second data and the third data are output respectively after operation. Then, the test device can use the point that outputs the first data as the first algorithm module, the point that outputs the second data as the second algorithm module, and the point that outputs the third data as the third algorithm module.
  • the output data of one algorithm module among the first algorithm module, the second algorithm module and the third algorithm module is used as the input data of another or two algorithm modules.
  • the first data output by the first algorithm module can be used as the input data of the second algorithm module
  • the second data output by the second algorithm module can be used as the input data of the third algorithm module
  • the third algorithm module outputs the third data.
  • the first data output by the first algorithm module can be used as the input data of the second algorithm module and the third algorithm module respectively
  • the second data output by the second algorithm module can also be used as the input data of the third algorithm module
  • the third algorithm module outputs the third data.
  • the data transmission between the algorithm modules is not limited to the above-mentioned ones, and the embodiments of the present application are not specifically limited.
  • the algorithm to be tested of the first service may include an autonomous positioning and navigation algorithm.
  • the algorithm to be tested of the first service may also include other algorithms, such as a navigation algorithm, a positioning algorithm, an automatic driving algorithm, etc. This is not specifically limited in the embodiments of the present application.
  • the algorithm to be tested of the first service is an autonomous positioning and navigation algorithm as an example for explanation.
  • the algorithm to be tested for the first business is an autonomous positioning and navigation algorithm, which can be divided into the following three modules: a mapping module, a positioning module, and a navigation module.
  • the algorithm module to be tested for the above-mentioned first business is a mapping module
  • the above-mentioned second algorithm module is a positioning module
  • the above-mentioned third algorithm module is a navigation module.
  • the output data of the mapping module is used as the input data of the positioning module and the navigation module. For example, sample data (such as location information) is input into the mapping module, and the first data (such as point cloud map data or raster map data) is output after the mapping module is calculated.
  • the first data (such as point cloud map data) output by the mapping module is input into the positioning module, and the second data (such as posture data) is output after the positioning module is calculated.
  • the first data (such as raster map data) output by the mapping module and the second data (such as posture data) output by the positioning module are input into the navigation module, and the third data (such as navigation data) is output after the navigation module is calculated.
  • the testing device determines a testing strategy according to the operation processes of multiple algorithm modules.
  • the test strategy is used to characterize the operation process of multiple algorithm modules of the algorithm to be tested of the first service.
  • the operation process can be understood as the operation process of multiple algorithm modules, exemplarily, the operation process of the first algorithm module, the second algorithm module and the third algorithm module, for example, the operation process may include: after the first algorithm module is operated, the second algorithm module and the third algorithm module are operated in parallel; or the first algorithm module, the second algorithm module and the third algorithm module are operated in sequence.
  • the operation process is not limited to the above enumeration.
  • the test device can determine different test strategies for the operation process. For example, if the operation process is that after the first algorithm module is operated, the second algorithm module and the third algorithm module are operated in parallel, the test strategy may include at least one of the following: the first algorithm module, the second algorithm module and the third algorithm module are tested in parallel; after the first algorithm module is tested and passed, the second algorithm module and the third algorithm module are tested in parallel; at least two of the first algorithm module, the second algorithm module and the third algorithm module are tested in combination; after at least one of the first algorithm module, the second algorithm module and the third algorithm module is tested and passed, at least two of the first algorithm module, the second algorithm module and the third algorithm module are tested in combination.
  • the combined test of at least two algorithm modules among the first algorithm module, the second algorithm module and the third algorithm module may include the following combinations: combined test of the first algorithm module and the second algorithm module, combined test of the first algorithm module and the third algorithm module, combined test of the second algorithm module and the third algorithm module, and combined test of the first algorithm module, the second algorithm module and the third algorithm module.
  • At least one algorithm module among the first algorithm module, the second algorithm module and the third algorithm module passes the test
  • at least two algorithm modules among the first algorithm module, the second algorithm module and the third algorithm module are tested in combination, which may specifically include the following situations: after the first algorithm module passes the test, the first algorithm module is tested in combination with the second algorithm module; after the first algorithm module passes the test, the first algorithm module is tested in combination with the third algorithm module; after the first algorithm module and the second algorithm module pass the test, the first algorithm module is tested in combination with the second algorithm module; after the first algorithm module and the second algorithm module pass the test, the first algorithm module, the second algorithm module and the third algorithm module are tested in combination; after the first algorithm module, the second algorithm module and the third algorithm module pass the test, the first algorithm module and the third algorithm module are tested in combination; after the first algorithm module, the second algorithm module and the third algorithm module pass the test, the first algorithm module and the third algorithm module are tested in combination; after the first algorithm module, the second algorithm module and the third algorithm module pass the test, the second algorithm module
  • the testing strategy may include testing the positioning module and the navigation module in parallel after the mapping module has been tested; the testing strategy may also include testing the mapping module and the navigation module in combination after the mapping module and the navigation module have been tested; the testing strategy may also include testing the mapping module, the positioning module, and the navigation module in combination after the mapping module, the positioning module, and the navigation module have been tested.
  • a test strategy is obtained through the operation process of the first algorithm module, the second algorithm module and the third algorithm module, providing an optional and efficient automated testing system for the testing of algorithms (such as autonomous positioning and navigation algorithms). Compared with testing based on the experience of testers, testing methods based on test strategies are more efficient and more accurate.
  • the testing device determines a test module from among the multiple algorithm modules of the algorithm to be tested according to the test strategy, where the test module includes some of the multiple algorithm modules of the algorithm to be tested.
  • the test module includes some algorithm modules among the multiple algorithm modules of the algorithm to be tested, which can be understood as: the test module can be a part of the algorithm modules among the multiple algorithm modules.
  • the test module can also include all the algorithm modules among the multiple algorithm modules of the algorithm to be tested.
  • the test module can be all the algorithm modules among the multiple algorithm modules.
  • the test module may include at least one algorithm module, and the at least one algorithm module includes: a first algorithm module, a second algorithm module, a third algorithm module, a combination of the first algorithm module and the second algorithm module, a combination of the first algorithm module and the third algorithm module, a combination of the second algorithm module and the third algorithm module, and a combination of the first algorithm module, the second algorithm module and the third algorithm module.
  • the test strategy may include testing the positioning module and the navigation module in parallel after the mapping module test passes; S403 may specifically be: after the mapping module test passes, according to the test strategy, determining that the test modules are the positioning module and the navigation module.
  • the test strategy includes performing a combined test on the mapping module and the navigation module after the mapping module and the navigation module are tested.
  • S403 may specifically be: after the mapping module and the navigation module are tested, determining, according to the test strategy, that the test module is a combination of the mapping module and the navigation module.
  • the test strategy includes performing combined testing on the mapping module, the positioning module and the navigation module after the mapping module, the positioning module and the navigation module have been tested;
  • S403 may specifically be: after the mapping module, the positioning module and the navigation module have been tested, determining, according to the test strategy, that the test module is a combination of the mapping module, the positioning module and the navigation module.
  • the testing device determines a reference input and a reference output corresponding to the testing module.
  • the test device determines the test module, and then the test device can determine the benchmark input data and benchmark output data corresponding to the test module based on the benchmark input data and benchmark output data of each algorithm module determined before the test.
  • the testing device inputs the reference input data into the testing module to obtain the test output data output by the testing module.
  • the test device inputs the benchmark output data of the mapping module (such as point cloud map data) into the positioning module to obtain the test output data of the positioning module.
  • the benchmark output data of the mapping module such as point cloud map data
  • the test device inputs the reference output data (such as raster map data) of the mapping module into the navigation module to obtain the test output data of the navigation module.
  • the reference output data such as raster map data
  • the test device inputs the first sample data (such as map data) into the combination of the mapping module and the navigation module to obtain the test output data of the navigation module.
  • the test device inputs the first sample data (such as map data) into the combination of the mapping module, the positioning module and the navigation module, and obtains the test output data of the navigation module.
  • first sample data such as map data
  • test device determines that the test module has passed the test.
  • the test device After obtaining the test output data, the test device compares the test output data with the pre-stored reference output data of the test module. When the test output data is consistent with the pre-stored reference output data of the test module, the test device determines that the test module is Block test passed.
  • test device determines that the test module fails the test.
  • the test device After obtaining the test output data, the test device compares the test output data with the pre-stored benchmark output data of the test module. When the test output data is inconsistent with the pre-stored benchmark output data of the test module, the test device determines that the test module fails the test.
  • the test module is the first algorithm module
  • the test device compares the test output data of the first algorithm module with the pre-stored reference output data of the first algorithm module. When the test output data is consistent with the reference output data, the test device determines that the test of the first algorithm module has passed. When the test output data is inconsistent with the reference output data, the test device determines that the test of the first algorithm module has failed.
  • the test module is a mapping module
  • the test output data of the mapping module is the point cloud map data or raster map data output by the mapping module.
  • the test device compares the data with the pre-stored benchmark output data of the mapping module. When the test output data of the mapping module is consistent with the pre-stored benchmark output data of the mapping module, the test device determines that the mapping module test has passed; when the test output data of the mapping module is inconsistent with the pre-stored benchmark output data of the mapping module, the test device determines that the mapping module test has failed.
  • the test module is a positioning module
  • the test output data of the positioning module is the posture data output by the positioning module.
  • the test device compares the data with the pre-stored benchmark output data of the positioning module. When the test output data of the positioning module is consistent with the pre-stored benchmark output data of the positioning module, the test device determines that the positioning module test has passed; when the test output data of the mapping module is inconsistent with the pre-stored benchmark output data of the positioning module, the test device determines that the positioning module test has failed.
  • test method provided by the embodiment of the present application is described in detail above in conjunction with Figures 1 to 4.
  • test device provided by the embodiment of the present application will be described in detail below in conjunction with Figure 5. It should be understood that the description of the device embodiment corresponds to the description of the method embodiment. Therefore, the content not described in detail can be referred to the method embodiment above, and for the sake of brevity, it will not be repeated here.
  • FIG5 shows a schematic block diagram of a test device 500 provided in an embodiment of the present application, wherein the device 500 includes: a loading unit 501, a first determining unit 502, a second determining unit 503, a first output unit 504 and a third determining unit 505; wherein,
  • the loading unit 501 is used to load the algorithm to be tested of the first service, the algorithm to be tested of the first service includes multiple algorithm modules, and there is a correlation between the input and output of the multiple algorithm modules; illustratively, the loading unit 501 can perform the above step S401.
  • the loading unit 501 can be the test unit 203 shown in Figure 2.
  • the first determination unit 502 is used to: determine a test module from among the multiple algorithm modules of the algorithm to be tested according to the test strategy, wherein the test module includes some of the multiple algorithm modules of the algorithm to be tested; illustratively, the first determination unit 502 may perform the above step S403.
  • the first determination unit 502 may be the test strategy control unit 201 as shown in FIG2.
  • the second determination unit 503 is used to determine the reference input and reference output corresponding to the test module. Exemplarily, the second determination unit 503 may execute the above step S404.
  • the second determination unit 503 may be the test unit 203 shown in FIG2.
  • the first output unit 504 is used to input the reference input data into the test module to obtain the test output data output by the test module; illustratively, the first output unit 504 can execute the above step S405.
  • the first output unit 504 can be the test unit 203 shown in FIG2.
  • the third determination unit 505 is used to: when the test output data is consistent with the reference output data, determine that the test module has passed the test. Exemplarily, the third determination unit 505 can execute the above step S406.
  • the third determination unit 505 can be the test unit 203 shown in FIG2.
  • the device 500 may further include: a fourth determination unit 506, configured to determine a test strategy according to the operation flow of the plurality of algorithm modules.
  • the fourth determination unit 506 may execute the above step S402.
  • the fourth determination unit 506 may be the test unit 203 shown in FIG2.
  • the test strategy may include at least one of the following: testing each algorithm module among multiple algorithm modules in parallel; after a target algorithm module among multiple algorithm modules passes the test, testing other algorithm modules among multiple algorithm modules in parallel; and performing combination testing on at least two algorithm modules among multiple algorithm modules.
  • the second determination unit is used to: input the sample data into the benchmark algorithm of the first business, determine the benchmark input data and benchmark output data corresponding to the test module, wherein the multiple algorithm modules in the benchmark algorithm are consistent with the to-be-tested The multiple algorithm modules in the algorithm correspond one to one.
  • the first service is autonomous positioning and navigation
  • the multiple algorithm modules in the algorithm to be tested include a mapping module, a positioning module, and a navigation module.
  • the output data of the mapping module is used as input data of the positioning module and the navigation module.
  • the test strategy includes testing the positioning unit and the navigation unit in parallel after the mapping unit test passes; the first determination unit is used to determine the test nodes as the positioning unit and the navigation unit according to the test strategy after the mapping unit test passes.
  • the test strategy includes testing a combination module of the mapping module and the navigation module after the mapping module and the navigation module are tested; and the first determination unit is used to determine that the test module is a combination module of the mapping module and the navigation module according to the test strategy after the mapping module and the navigation module are tested.
  • the testing strategy includes testing a combination module of the mapping module, the positioning module and the navigation module after the mapping module, the positioning module and the navigation module have been tested; after the mapping module, the positioning module and the navigation module have been tested, determining the test module as a combination module of the mapping module, the positioning module and the navigation module according to the testing strategy.
  • the embodiment of the present application determines the test module by adopting the test strategy in the multiple algorithm modules of the algorithm to be tested of the first business, and then determines the benchmark input and benchmark output corresponding to the test module, and compares the test output data of the test module output obtained by inputting the benchmark input data into the test module with the benchmark output data. When the test output data is consistent with the benchmark output data, it is determined that the test module test has passed. In this way, when a test problem occurs, the location of the problem can be directly and accurately located, and the test problem can be accurately located.
  • An embodiment of the present application also provides a device, which includes a processing unit and a storage module, wherein the storage module is used to store instructions, and the processing unit executes the instructions stored in the storage module so that the device executes the method or steps executed by the above embodiment.
  • the division of the units in the above device is only a division of logical functions. In actual implementation, they can be fully or partially integrated into one physical entity, or they can be physically separated.
  • the units in the device can be implemented in the form of a processor calling software; for example, the device includes a processor, the processor is connected to a memory, and instructions are stored in the memory.
  • the processor calls the instructions stored in the memory to implement any of the above methods or realize the functions of the units of the device, wherein the processor is, for example, a general-purpose processor, such as a CPU or a microprocessor, and the memory is a memory in the device or a memory outside the device.
  • the units in the device can be implemented in the form of hardware circuits, and the functions of some or all of the units can be realized by designing the hardware circuits.
  • the hardware circuit can be understood as one or more processors; for example, in one implementation, the hardware circuit is an ASIC, and the functions of some or all of the above units are realized by designing the logical relationship of the components in the circuit; for example, in another implementation, the hardware circuit can be implemented by PLD.
  • FPGA as an example, it can include a large number of logic gate circuits, and the connection relationship between the logic gate circuits is configured through the configuration file, so as to realize the functions of some or all of the above units. All units of the above device may be implemented entirely in the form of a processor calling software, or entirely in the form of a hardware circuit, or partially in the form of a processor calling software and the rest in the form of a hardware circuit.
  • a processor is a circuit with the ability to process signals.
  • the processor may be a circuit with the ability to read and run instructions, such as a CPU, a microprocessor, a GPU, or a DSP; in another implementation, the processor may implement certain functions through the logical relationship of a hardware circuit, and the logical relationship of the hardware circuit is fixed or reconfigurable, such as a hardware circuit implemented by an ASIC or PLD, such as an FPGA.
  • the process of the processor loading a configuration document to implement the hardware circuit configuration can be understood as the process of the processor loading instructions to implement the functions of some or all of the above units.
  • it can also be a hardware circuit designed for artificial intelligence, which can be understood as an ASIC, such as an NPU, TPU, DPU, and the like.
  • each unit in the above device can be one or more processors (or processing circuits) configured to implement the above method, such as: CPU, GPU, NPU, TPU, DPU, microprocessor, DSP, ASIC, FPGA, or a combination of at least two of these processor forms.
  • processors or processing circuits
  • the units in the above device can be fully or partially integrated together, or can be implemented independently. In one implementation, these units are integrated together and implemented in the form of a system-on-a-chip (SOC).
  • SOC may include at least one processor for implementing any of the above methods or implementing the functions of each unit of the device.
  • the type of the at least one processor may be different, for example, including a CPU and an FPGA, a CPU and an artificial intelligence processor, a CPU and a GPU, etc.
  • a testing device provided in an embodiment of the present application includes: a processor and a memory, the memory is coupled to the processor, the memory is used to store computer program code, the computer program code includes computer instructions, when the processor reads the computer instructions from the memory, the testing device executes the testing method shown in Figures 1 to 4.
  • An embodiment of the present application provides a computer program product.
  • the computer program product runs on a computer, the computer executes the test method shown in Figures 1 to 4.
  • a computer-readable storage medium provided in an embodiment of the present application includes computer instructions.
  • a network device executes the test method shown in FIGS. 1 to 4 .
  • a chip system provided in an embodiment of the present application includes one or more processors. When the one or more processors execute instructions, the one or more processors execute the test method shown in Figures 1 to 4.
  • A/B can mean A or B.
  • the “and/or” in this article is merely a way to describe the association relationship of associated objects, indicating that three relationships may exist.
  • a and/or B can mean: A exists alone, A and B exist at the same time, and B exists alone.
  • first and second are used for descriptive purposes only and are not to be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features.
  • a feature defined as “first” or “second” may explicitly or implicitly include one or more of the features.
  • “multiple” means two or more.
  • words such as “exemplary” or “for example” are used to indicate examples, illustrations or descriptions. Any embodiment or design described as “exemplary” or “for example” in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as “exemplary” or “for example” is intended to present related concepts in a specific way.
  • the above-mentioned communication equipment and the like include hardware structures and/or software modules corresponding to the execution of each function.
  • the embodiments of the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the embodiments of the present application.
  • the embodiment of the present application can divide the functional modules of the above-mentioned communication equipment etc. according to the above-mentioned method example.
  • each functional module can be divided corresponding to each function, or two or more functions can be integrated into one processing module.
  • the above-mentioned integrated module can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the embodiment of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Provided in the present application are a test method and apparatus. The method is used for testing an algorithm to be tested of a first service, wherein said algorithm comprises a plurality of algorithm modules, and the plurality of algorithm modules in said algorithm correspond to a plurality of algorithm modules in a reference algorithm of the first service on a one-to-one basis. The method comprises: before testing, inputting first sample data into a reference algorithm of a first service, and determining reference input data and reference output data, which correspond to each algorithm module; and during testing, loading an algorithm to be tested of a first service; according to a test policy, determining a test module from a plurality of algorithm modules of said algorithm, and determining a reference input and a reference output, which correspond to the test module; inputting the reference input data into the test module, so as to obtain test output data output by the test module; and when the test output data is consistent with the reference output data, determining that the testing of the test module is passed. In this way, when a certain module has a test problem, the module having the problem can be accurately positioned, thus realizing the accurate positioning of the test problem.

Description

一种测试方法及装置A testing method and device
本申请要求于2022年10月31日提交国家知识产权局、申请号为202211344929.7、发明名称为“一种测试方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims priority to the Chinese patent application filed with the State Intellectual Property Office on October 31, 2022, with application number 202211344929.7 and invention name “A testing method and device”, the entire contents of which are incorporated by reference in this application.
技术领域Technical Field
本申请涉及软件测试技术领域,并且更具体地,涉及一种测试方法及装置。The present application relates to the technical field of software testing, and more specifically, to a testing method and device.
背景技术Background technique
随着科技的迅速发展,在增强现实(augmented reality,AR)、虚拟现实(virtual reality,VR)、机器人、无人机、无人驾驶等领域更加注重用户体验。为了增加用户体验,应运而生各种前沿技术,例如自主定位导航技术(或称自主定位导航算法)。自主定位导航算法可以包括同步定位、即时定位与地图构建或并发建图与定位(simultaneous localization and mapping,SLAM)和导航。因此,自主定位导航算法可细分为:建图模块、定位模块和导航模块等三大模块。With the rapid development of science and technology, more attention is paid to user experience in the fields of augmented reality (AR), virtual reality (VR), robots, drones, and unmanned driving. In order to enhance user experience, various cutting-edge technologies have emerged, such as autonomous positioning and navigation technology (or autonomous positioning and navigation algorithm). Autonomous positioning and navigation algorithms can include synchronous positioning, real-time positioning and map construction or concurrent localization and mapping (SLAM) and navigation. Therefore, autonomous positioning and navigation algorithms can be divided into three modules: mapping module, positioning module, and navigation module.
为了确保自主定位导航算法的准确性,需要对自主定位导航算法进行测试,自主定位导航算法的测试方法通常是采用传统的软件测试,传统的软件测试是根据输入用例来计算预期输出,并将输出结果与实际结果进行比对来确定是否测试通过。为了应对千变万化的现实场景,需要海量的数据和不断的调整参数对自主定位导航算法进行迭代,才能覆盖尽可能多的场景,这样的测试过程非常复杂且难以预测。In order to ensure the accuracy of the autonomous positioning and navigation algorithm, it is necessary to test the autonomous positioning and navigation algorithm. The testing method of the autonomous positioning and navigation algorithm is usually based on traditional software testing. Traditional software testing calculates the expected output based on the input use case, and compares the output result with the actual result to determine whether the test passes. In order to cope with the ever-changing real-world scenarios, massive amounts of data and continuous adjustment of parameters are required to iterate the autonomous positioning and navigation algorithm to cover as many scenarios as possible. Such a testing process is very complex and difficult to predict.
因此,对于一致的输入数据,测试人员不能根据代码对自主定位导航算法中的一个模块计算出准确的预期输出。当自主定位导航算法的测试过程中出现问题时,测试人员需要根据经验进行定位,难以定位到具体出现问题的地方,使得测试问题定位不准确。Therefore, for consistent input data, testers cannot calculate the accurate expected output of a module in the autonomous positioning and navigation algorithm based on the code. When problems occur during the testing of the autonomous positioning and navigation algorithm, testers need to locate them based on experience, which makes it difficult to locate the specific problem, resulting in inaccurate problem location.
发明内容Summary of the invention
本申请提供一种测试方法及装置,当出现测试问题时,可以直接精准的定位到问题所在位置,实现测试问题准确定位。The present application provides a testing method and device, which can directly and accurately locate the location of the problem when a test problem occurs, thereby achieving accurate positioning of the test problem.
为达到上述目的,本申请采用如下技术方案。In order to achieve the above-mentioned purpose, this application adopts the following technical solution.
第一方面,本申请提供一种测试方法,该方法的执行主体可以是测试装置,也可以是位于电子设备中的部件(例如,芯片,芯片系统或处理器等),下面以执行主体是测试装置为例进行描述。方法可以包括:加载第一业务的待测试算法,第一业务的待测试算法包括多个算法模块,多个算法模块的输入输出之间存在关联;根据测试策略,在待测试算法的多个算法模块中确定测试模块,测试模块包括待测试算法的多个算法模块中的部分算法模块;确定测试模块对应的基准输入和基准输出;将基准输入数据输入测试模块,得到测试模块输出的测试输出数据;当测试输出数据与基准输出数据一致时,确定测试模块测试通过。In the first aspect, the present application provides a test method, the execution subject of the method can be a test device, or a component located in an electronic device (for example, a chip, a chip system or a processor, etc.), and the following description is taken as an example that the execution subject is a test device. The method may include: loading the algorithm to be tested of the first business, the algorithm to be tested of the first business includes multiple algorithm modules, and there is a correlation between the input and output of the multiple algorithm modules; according to the test strategy, determining a test module in the multiple algorithm modules of the algorithm to be tested, the test module includes some algorithm modules in the multiple algorithm modules of the algorithm to be tested; determining the benchmark input and benchmark output corresponding to the test module; inputting the benchmark input data into the test module to obtain the test output data output by the test module; when the test output data is consistent with the benchmark output data, determining that the test module test passes.
其中,多个算法模块的输入输出之间存在关联,可以理解为:多个算法模块中一个或一部分算法模块的输出数据,是另一部分算法模块的输入数据。There is a correlation between the input and output of multiple algorithm modules, which can be understood as: the output data of one or part of the algorithm modules among the multiple algorithm modules is the input data of another part of the algorithm modules.
其中,测试策略用于表征第一业务的待测试算法的多个算法模块的运行流程。The test strategy is used to characterize the operation process of multiple algorithm modules of the algorithm to be tested of the first service.
其中,测试模块包括待测试算法的多个算法模块中的部分算法模块,可以理解为:测试模块可以是多个算法模块中的一部分算法模块。当然,测试模块也可以包括待测试算法的多个算法模块中的全部算法模块。当待测试算法的多个算法模块中各算法模块均测试通过之后,测试模块可以为多个算法模块中的全部算法模块。Wherein, the test module includes some algorithm modules among the multiple algorithm modules of the algorithm to be tested, which can be understood as: the test module can be a part of the algorithm modules among the multiple algorithm modules. Of course, the test module can also include all the algorithm modules among the multiple algorithm modules of the algorithm to be tested. When each algorithm module among the multiple algorithm modules of the algorithm to be tested passes the test, the test module can be all the algorithm modules among the multiple algorithm modules.
本申请实施例通过在第一业务的待测试算法的多个算法模块中采用测试策略确定测试模块,再确定测试模块对应的基准输入和基准输出,将基准输入数据输入测试模块得到的测试模块输出的测试输出数据,与基准输出数据进行比较。当测试输出数据与基准输出数据一致时,确定测试模块测试通过。这样,当出现测试问题时,可以直接精准的定位到问题所在位置,实现测试问题准确定位。The embodiment of the present application determines the test module by adopting a test strategy in multiple algorithm modules of the algorithm to be tested of the first business, and then determines the benchmark input and benchmark output corresponding to the test module, and compares the test output data of the test module output obtained by inputting the benchmark input data into the test module with the benchmark output data. When the test output data is consistent with the benchmark output data, it is determined that the test module test has passed. In this way, when a test problem occurs, the location of the problem can be directly and accurately located, and the test problem can be accurately located.
在一些实施方式中,在按照测试策略,在多个算法模块中确定测试模块之前,该方法还包括:根据多个算法模块的运行流程,确定测试策略。 In some implementations, before determining a test module from a plurality of algorithm modules according to the test strategy, the method further includes: determining a test strategy according to operation processes of the plurality of algorithm modules.
本申请实施例中,通过多个算法模块的运行流程得到测试策略,为算法(如自主定位导航算法)的测试提供可选高效的自动化测试系统,相较于基于测试人员的经验测试,基于测试策略的测试方法测试更高效、更精准。In an embodiment of the present application, a test strategy is obtained through the operation process of multiple algorithm modules, providing an optional and efficient automated testing system for the testing of algorithms (such as autonomous positioning and navigation algorithms). Compared with testing based on the experience of testers, testing methods based on test strategies are more efficient and more accurate.
在一种具体可实现方式中,测试策略可以包括以下至少一项:多个算法模块中各个算法模块并列测试;在多个算法模块中的目标算法模块测试通过之后,多个算法模块中的其他算法模块并列测试;多个算法模块中至少两个算法模块进行组合测试。In a specific implementable manner, the test strategy may include at least one of the following: testing each algorithm module among multiple algorithm modules in parallel; after a target algorithm module among multiple algorithm modules passes the test, testing other algorithm modules among multiple algorithm modules in parallel; and performing combination testing on at least two algorithm modules among multiple algorithm modules.
相应的,测试模块可以包括至少一个测试模块,至少一个测试模块包括:多个算法模块中的任一个算法模块、多个算法模块中的至少两个算法模块。Correspondingly, the test module may include at least one test module, and the at least one test module includes: any one algorithm module among the multiple algorithm modules, and at least two algorithm modules among the multiple algorithm modules.
在一种具体实现方式中,确定测试模块对应的基准输入和基准输出,具体为:将样本数据输入到第一业务的基准算法中,确定测试模块对应的基准输入数据和基准输出数据,其中,基准算法中的多个算法模块与待测试算法中的多个算法模块一一对应。In a specific implementation, the benchmark input and benchmark output corresponding to the test module are determined by: inputting sample data into the benchmark algorithm of the first business, and determining the benchmark input data and benchmark output data corresponding to the test module, wherein multiple algorithm modules in the benchmark algorithm correspond one-to-one to multiple algorithm modules in the algorithm to be tested.
在一种具体可实现方式中,第一业务是自主定位导航,待测试算法中多个算法模块包括建图模块,定位模块,及导航模块,建图模块的输出数据作为定位模块和导航模块的输入数据。In a specific implementation, the first service is autonomous positioning and navigation, and the multiple algorithm modules in the algorithm to be tested include a mapping module, a positioning module, and a navigation module. The output data of the mapping module is used as input data of the positioning module and the navigation module.
本申请实施例中,针对自主定位导航的业务,其待测试算法中多个算法模块包括建图模块,定位模块,及导航模块。通过对建图模块,定位模块,及导航模块中的一个或多个模块进行测试。这样,当出现测试问题时,可以直接精准的定位到问题所在位置,实现测试问题准确定位。In the embodiment of the present application, for the autonomous positioning and navigation service, the multiple algorithm modules in the algorithm to be tested include a mapping module, a positioning module, and a navigation module. By testing one or more of the mapping module, the positioning module, and the navigation module, when a test problem occurs, the location of the problem can be directly and accurately located, so that the test problem can be accurately located.
在一种具体可实现方式中,测试策略可以包括在建图单元测试通过之后,定位单元和导航单元并行测试;在建图单元测试通过之后,按照测试策略,确定测试节点为定位单元和导航单元。In a specific implementable manner, the test strategy may include testing the positioning unit and the navigation unit in parallel after the mapping unit test passes; after the mapping unit test passes, determining the test nodes as the positioning unit and the navigation unit according to the test strategy.
在一种具体可实现方式中,测试策略包括在建图模块和导航模块测试通过之后,建图模块和导航模块的组合模块进行测试;在建图模块和导航模块测试通过之后,按照测试策略,确定测试模块为建图模块和导航模块的组合模块。In a specific implementable manner, the testing strategy includes testing a combination module of the mapping module and the navigation module after the mapping module and the navigation module are tested; after the mapping module and the navigation module are tested, determining the test module as the combination module of the mapping module and the navigation module according to the testing strategy.
这样,本申请实施例通过对多个模块中的至少两个模块进行组合测试,使得在确保对算法测试的准确性的情况下,当出现测试问题时,可以直接精准的定位到问题所在位置,实现测试问题准确定位。In this way, the embodiment of the present application performs a combined test on at least two modules among the multiple modules, so that when a test problem occurs, the problem can be directly and accurately located, thereby achieving accurate location of the test problem.
在一种具体可实现方式中,测试策略包括在建图模块、定位模块和导航模块测试通过之后,建图模块、定位模块和导航模块的组合模块进行测试;在建图模块、定位模块和导航模块测试通过之后,按照测试策略,确定测试模块为建图模块、定位模块和导航模块的组合模块。In a specific implementable manner, the testing strategy includes testing a combination module of the mapping module, the positioning module and the navigation module after the mapping module, the positioning module and the navigation module have been tested; after the mapping module, the positioning module and the navigation module have been tested, determining the test module as a combination module of the mapping module, the positioning module and the navigation module according to the testing strategy.
这样,本申请实施例通过在多个模块中各模块测试通过之后,对多个模块中进行端到端(整体)测试,使得在确保对算法测试的准确性的情况下,当出现测试问题时,测试人员可以直接精准的定位到问题所在位置,实现测试问题准确定位。In this way, the embodiment of the present application performs end-to-end (overall) testing on multiple modules after each module in the multiple modules has been tested. This ensures the accuracy of the algorithm test. When a test problem occurs, the tester can directly and accurately locate the problem, thereby accurately locating the test problem.
第二方面,本申请提供一种测试装置,该装置可以包括:加载单元,用于加载第一业务的待测试算法,第一业务的待测试算法包括多个算法模块,多个算法模块的输入输出之间存在关联;第一确定单元,用于根据测试策略,在待测试算法的多个算法模块中确定测试模块,测试模块包括待测试算法的多个算法模块中的部分算法模块;第二确定单元,用于确定测试模块对应的基准输入和基准输出;第一输出单元,用于将基准输入数据输入测试模块,得到测试模块输出的测试输出数据;第三确定单元,用于当测试输出数据与基准输出数据一致时,确定测试模块测试通过。In a second aspect, the present application provides a testing device, which may include: a loading unit, used to load an algorithm to be tested for a first business, the algorithm to be tested for the first business includes multiple algorithm modules, and there is a correlation between the inputs and outputs of the multiple algorithm modules; a first determination unit, used to determine a test module from the multiple algorithm modules of the algorithm to be tested according to a test strategy, the test module including some of the multiple algorithm modules of the algorithm to be tested; a second determination unit, used to determine a benchmark input and a benchmark output corresponding to the test module; a first output unit, used to input the benchmark input data into the test module to obtain test output data output by the test module; and a third determination unit, used to determine that the test module test has passed when the test output data is consistent with the benchmark output data.
本申请实施例通过在第一业务的待测试算法的多个算法模块中采用测试策略确定测试模块,再确定测试模块对应的基准输入和基准输出,将基准输入数据输入测试模块得到的测试模块输出的测试输出数据,与基准输出数据进行比较。当测试输出数据与基准输出数据一致时,确定测试模块测试通过。这样,当出现测试问题时,可以直接精准的定位到问题所在位置,实现测试问题准确定位。The embodiment of the present application determines the test module by adopting a test strategy in multiple algorithm modules of the algorithm to be tested of the first business, and then determines the benchmark input and benchmark output corresponding to the test module, and compares the test output data of the test module output obtained by inputting the benchmark input data into the test module with the benchmark output data. When the test output data is consistent with the benchmark output data, it is determined that the test module test has passed. In this way, when a test problem occurs, the location of the problem can be directly and accurately located, and the test problem can be accurately located.
在一些可实现方式中,该装置还可以包括:第四确定单元,用于根据多个算法模块的运行流程,确定测试策略。In some implementations, the device may further include: a fourth determination unit, configured to determine a test strategy according to the operation processes of the plurality of algorithm modules.
本申请实施例中,通过多个算法模块的运行流程得到测试策略,为算法(如自主定位导航算法)的测试提供可选高效的自动化测试系统,相较于基于测试人员的经验测试,基于测试策略的测试方法测试更高效、更精准。In an embodiment of the present application, a test strategy is obtained through the operation process of multiple algorithm modules, providing an optional and efficient automated testing system for the testing of algorithms (such as autonomous positioning and navigation algorithms). Compared with testing based on the experience of testers, testing methods based on test strategies are more efficient and more accurate.
在一种具体可实现方式中,测试策略可以包括以下至少一项:多个算法模块中各个算法模块并列测试;在多个算法模块中的目标算法模块测试通过之后,多个算法模块中的其他算法模块并列测试;多个算法模块中至少两个算法模块进行组合测试。 In a specific implementable manner, the test strategy may include at least one of the following: testing each algorithm module among multiple algorithm modules in parallel; after a target algorithm module among multiple algorithm modules passes the test, testing other algorithm modules among multiple algorithm modules in parallel; and performing combination testing on at least two algorithm modules among multiple algorithm modules.
在一种具体可实现方式中,第二确定单元用于:将样本数据输入到第一业务的基准算法中,确定测试模块对应的基准输入数据和基准输出数据,其中,基准算法中的多个算法模块与待测试算法中的多个算法模块一一对应。In a specific implementation, the second determination unit is used to: input sample data into a benchmark algorithm of the first business, determine benchmark input data and benchmark output data corresponding to the test module, wherein multiple algorithm modules in the benchmark algorithm correspond one-to-one to multiple algorithm modules in the algorithm to be tested.
在一种具体可实现方式中,第一业务是自主定位导航,待测试算法中多个算法模块包括建图模块,定位模块,及导航模块,建图模块的输出数据作为定位模块和导航模块的输入数据。In a specific implementation, the first service is autonomous positioning and navigation, and the multiple algorithm modules in the algorithm to be tested include a mapping module, a positioning module, and a navigation module. The output data of the mapping module is used as input data of the positioning module and the navigation module.
本申请实施例中,针对自主定位导航的业务,其待测试算法中多个算法模块包括建图模块,定位模块,及导航模块。通过对建图模块,定位模块,及导航模块中的一个或多个模块进行测试。这样,当出现测试问题时,可以直接精准的定位到问题所在位置,实现测试问题准确定位。In the embodiment of the present application, for the autonomous positioning and navigation service, the multiple algorithm modules in the algorithm to be tested include a mapping module, a positioning module, and a navigation module. By testing one or more of the mapping module, the positioning module, and the navigation module, when a test problem occurs, the location of the problem can be directly and accurately located, so that the test problem can be accurately located.
在一种具体可实现方式中,测试策略包括在建图单元测试通过之后,定位单元和导航单元并行测试;第一确定单元用于在建图单元测试通过之后,按照测试策略,确定测试节点为定位单元和导航单元。In a specific implementable manner, the test strategy includes testing the positioning unit and the navigation unit in parallel after the mapping unit test passes; the first determination unit is used to determine the test nodes as the positioning unit and the navigation unit according to the test strategy after the mapping unit test passes.
在一种具体可实现方式中,测试策略包括在建图模块和导航模块测试通过之后,建图模块和导航模块的组合模块进行测试;第一确定单元用于在建图模块和导航模块测试通过之后,按照测试策略,确定测试模块为建图模块和导航模块的组合模块。In a specific implementable manner, the test strategy includes testing a combination module of the mapping module and the navigation module after the mapping module and the navigation module are tested; and the first determination unit is used to determine that the test module is a combination module of the mapping module and the navigation module according to the test strategy after the mapping module and the navigation module are tested.
这样,本申请实施例通过对多个模块中的至少两个模块进行组合测试,使得在确保对算法测试的准确性的情况下,当出现测试问题时,可以直接精准的定位到问题所在位置,实现测试问题准确定位。In this way, the embodiment of the present application performs a combined test on at least two modules among the multiple modules, so that when a test problem occurs, the problem can be directly and accurately located, thereby achieving accurate location of the test problem.
在一种具体可实现方式中,测试策略包括在建图模块、定位模块和导航模块测试通过之后,建图模块、定位模块和导航模块的组合模块进行测试;在建图模块、定位模块和导航模块测试通过之后,按照测试策略,确定测试模块为建图模块、定位模块和导航模块的组合模块。In a specific implementable manner, the testing strategy includes testing a combination module of the mapping module, the positioning module and the navigation module after the mapping module, the positioning module and the navigation module have been tested; after the mapping module, the positioning module and the navigation module have been tested, determining the test module as a combination module of the mapping module, the positioning module and the navigation module according to the testing strategy.
这样,本申请实施例通过在多个模块中各模块测试通过之后,对多个模块中进行端到端(整体)测试,使得在确保对算法测试的准确性的情况下,当出现测试问题时,测试人员可以直接精准的定位到问题所在位置,实现测试问题准确定位。In this way, the embodiment of the present application performs end-to-end (overall) testing on multiple modules after each module in the multiple modules has been tested. This ensures the accuracy of the algorithm test. When a test problem occurs, the tester can directly and accurately locate the problem, thereby accurately locating the test problem.
第三方面,本申请提供一种测试装置,该装置可以包括:存储器,用于存储计算机程序;处理器,用于执行所述存储器中存储的计算机程序,以使得所述装置执行如第一方面所述的方法。In a third aspect, the present application provides a testing device, which may include: a memory for storing a computer program; and a processor for executing the computer program stored in the memory, so that the device performs the method described in the first aspect.
第四方面,本申请提供一种电子装置,所述电子装置可以包括:一个或多个处理器;以及存储器,所述存储器中存储有代码;当所述代码被所述处理器执行时,使得所述电子装置执行如第一方面所述的方法。In a fourth aspect, the present application provides an electronic device, which may include: one or more processors; and a memory, in which codes are stored; when the codes are executed by the processor, the electronic device executes the method described in the first aspect.
第五方面,本申请提供一种计算机可读存储介质,其可以包括计算机指令,当所述计算机指令在电子装置上运行时,使得所述电子装置执行如第一方面所述的方法。In a fifth aspect, the present application provides a computer-readable storage medium, which may include computer instructions. When the computer instructions are executed on an electronic device, the electronic device executes the method described in the first aspect.
第六方面,本申请提供一种计算机程序产品,所述计算机程序产品包括计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如第一方面所述的方法。In a sixth aspect, the present application provides a computer program product, wherein the computer program product comprises computer instructions, and when the computer instructions are executed on a computer, the computer executes the method as described in the first aspect.
其中,上述第二方面至第六方面中各个的具体实施方式及对应的技术效果可以参见上述第一方面的具体实施方式及技术效果。Among them, the specific implementation methods and corresponding technical effects of each of the second to sixth aspects mentioned above can refer to the specific implementation methods and technical effects of the first aspect mentioned above.
本申请实施例通过在第一业务的待测试算法的多个算法模块中采用测试策略确定测试模块,再确定测试模块对应的基准输入和基准输出,将基准输入数据输入测试模块得到的测试模块输出的测试输出数据,与基准输出数据进行比较。当测试输出数据与基准输出数据一致时,确定测试模块测试通过。这样,当出现测试问题时,可以直接精准的定位到问题所在位置,实现测试问题准确定位。The embodiment of the present application determines the test module by adopting a test strategy in multiple algorithm modules of the algorithm to be tested of the first business, and then determines the benchmark input and benchmark output corresponding to the test module, and compares the test output data of the test module output obtained by inputting the benchmark input data into the test module with the benchmark output data. When the test output data is consistent with the benchmark output data, it is determined that the test module test has passed. In this way, when a test problem occurs, the location of the problem can be directly and accurately located, and the test problem can be accurately located.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
图1为本申请实施例中的一种自主定位导航算法的软件架构图;FIG1 is a software architecture diagram of an autonomous positioning and navigation algorithm in an embodiment of the present application;
图2为本申请实施例提供的测试方法应用的测试装置的结构示意图;FIG2 is a schematic diagram of the structure of a test device used in the test method provided in an embodiment of the present application;
图3为本申请实施例中提供的一种测试策略的逻辑示意图;FIG3 is a logic diagram of a test strategy provided in an embodiment of the present application;
图4为本申请实施例提供的测试方法的示意性流程图;FIG4 is a schematic flow chart of a testing method provided in an embodiment of the present application;
图5为本申请实施例提供的测试装置的示意性框图。FIG5 is a schematic block diagram of a testing device provided in an embodiment of the present application.
具体实施方式Detailed ways
随着科技的迅速发展,在增强现实(augmented reality,AR)、虚拟现实(virtual reality,VR)、 机器人、无人机、无人驾驶等领域更加注重用户体验。为了增加用户体验,应运而生各种前沿技术,例如自主定位导航技术(或称自主定位导航算法)。自主定位导航算法可以包括同步定位、即时定位与地图构建或并发建图与定位(simultaneous localization and mapping,SLAM)和导航。With the rapid development of technology, augmented reality (AR), virtual reality (VR), Robots, drones, unmanned driving and other fields pay more attention to user experience. In order to improve user experience, various cutting-edge technologies have emerged, such as autonomous positioning and navigation technology (or autonomous positioning and navigation algorithms). Autonomous positioning and navigation algorithms can include synchronous positioning, real-time positioning and map construction or concurrent mapping and positioning (SLAM) and navigation.
其中,SLAM可以让机器人从未知换机的未知地点出发,在运动过程中通过重复观测到的地图特征(比如,墙角、柱子等)定位自身位置和姿态,再根据自身位置增量式的构建地图,从而达到同时定位和地图构建的目的。从该技术的定义可知,该技术由地图构建和定位两部分组成。地图构建是把通过传感器采集的序贯激光雷达点云或视觉特征从各帧局部坐标系投影至全局坐标系,之后完成地图拼接和定位,即获取移动载体在所建地图中的位置和姿态信息。而导航是用于确定位置和方向的技术,导航可以引导飞行器、汽车等移动设备沿一定航线从一点运动到另一点。因此,图1所示为本申请实施例中的一种自主定位导航算法的软件架构图,如图1所示,自主定位导航算法可细分为:建图模块、定位模块和导航模块等三大模块。其中,建图模块的输出数据分别作为定位模块和导航模块的输入数据,定位模块的输出数据作为导航模块的输入数据。Among them, SLAM allows the robot to start from an unknown location with an unknown change of machine, locate its own position and posture through repeated observation of map features (such as corners, pillars, etc.) during the movement, and then build a map incrementally according to its own position, so as to achieve the purpose of simultaneous positioning and map construction. From the definition of this technology, it can be seen that this technology consists of two parts: map construction and positioning. Map construction is to project the sequential laser radar point cloud or visual features collected by the sensor from the local coordinate system of each frame to the global coordinate system, and then complete the map stitching and positioning, that is, to obtain the position and posture information of the mobile carrier in the constructed map. Navigation is a technology for determining position and direction. Navigation can guide mobile devices such as aircraft and cars to move from one point to another along a certain route. Therefore, Figure 1 shows a software architecture diagram of an autonomous positioning and navigation algorithm in an embodiment of the present application. As shown in Figure 1, the autonomous positioning and navigation algorithm can be subdivided into three modules: mapping module, positioning module and navigation module. Among them, the output data of the mapping module is used as the input data of the positioning module and the navigation module respectively, and the output data of the positioning module is used as the input data of the navigation module.
为了确保自主定位导航算法的准确性,需要对自主定位导航算法进行测试,自主定位导航算法的测试方法通常是采用传统的软件测试,传统的软件测试是根据输入用例来计算预期输出,并将输出结果与实际结果进行比对来确定是否测试通过。为了应对千变万化的现实场景,需要海量的数据和不断的调整参数对自主定位导航算法进行迭代,才能覆盖尽可能多的场景,这样的测试过程非常复杂且难以预测。In order to ensure the accuracy of the autonomous positioning and navigation algorithm, it is necessary to test the autonomous positioning and navigation algorithm. The testing method of the autonomous positioning and navigation algorithm is usually based on traditional software testing. Traditional software testing calculates the expected output based on the input use case, and compares the output result with the actual result to determine whether the test passes. In order to cope with the ever-changing real-life scenarios, massive amounts of data and continuous adjustment of parameters are required to iterate the autonomous positioning and navigation algorithm to cover as many scenarios as possible. Such a testing process is very complex and difficult to predict.
因此,对于一致的输入数据,测试人员不能根据代码对自主定位导航算法中的一个模块计算出准确的预期输出。当自主定位导航算法的测试过程中出现问题时,测试人员需要根据经验进行定位,难以定位到具体出现问题的地方,使得测试问题定位不准确。Therefore, for consistent input data, testers cannot calculate the accurate expected output of a module in the autonomous positioning and navigation algorithm based on the code. When problems occur during the testing of the autonomous positioning and navigation algorithm, testers need to locate them based on experience, which makes it difficult to locate the specific problem, resulting in inaccurate problem location.
为了实现能够对测试问题进行精准定位,本申请实施例提供一种测试方法,应用于测试装置,该方法用于测试第一业务的待测试算法,该算法包括多个算法模块,待测试中的多个算法模块与第一业务的基准算法中的多个算法模块一一对应。在测试之前,将第一样本数据输入第一业务的基准算法,确定各算法模块对应的基准输入数据和基准输出数据。在测试时,加载第一业务的待测试算法;根据测试策略,在待测试算法的多个算法模块中确定测试模块,并确定测试模块对应的基准输入和基准输出;将基准输入数据输入测试模块,得到测试模块输出的测试输出数据;当测试输出数据与基准输出数据一致时,确定测试模块测试通过;这样,当某个模块出现测试问题时,可以准确定位到出现问题的模块,实现测试问题准确定位。In order to accurately locate the test problem, the embodiment of the present application provides a test method, which is applied to a test device. The method is used to test the algorithm to be tested of the first business, which includes multiple algorithm modules, and the multiple algorithm modules to be tested correspond to the multiple algorithm modules in the benchmark algorithm of the first business. Before the test, the first sample data is input into the benchmark algorithm of the first business to determine the benchmark input data and benchmark output data corresponding to each algorithm module. During the test, the algorithm to be tested of the first business is loaded; according to the test strategy, the test module is determined in the multiple algorithm modules of the algorithm to be tested, and the benchmark input and benchmark output corresponding to the test module are determined; the benchmark input data is input into the test module to obtain the test output data output by the test module; when the test output data is consistent with the benchmark output data, it is determined that the test module has passed the test; in this way, when a test problem occurs in a module, the module with the problem can be accurately located to achieve accurate positioning of the test problem.
鉴于此,图2为本申请实施例提供的测试方法应用的测试装置的结构示意图,如图2所示,该测试装置200可以包括多个存储单元202,多个存储单元202可以包括第一存储单元2021、第二存储单元2022、第三存储单元2023和第四存储单元2024,……。具体的,在测试之前,将第一样本数据输入第一业务的基准算法,确定各算法模块对应的基准输入数据和基准输出数据。这样这些存储单元202分别存储第一样本数据、及各算法模块对应的基准输入数据和基准输出数据。假设,第一业务的基准算法中多个算法模块包括第一算法模块、第二算法模块和第三算法模块,第一算法模块的输出数据为第二算法模块和第三算法模块的输入数据,那么,第一存储单元2021用于存储第一样本数据,第二存储单元2022用于存储第一算法模块的基准输出数据,第三存储单元2023用于存储第二算法模块的基准输出数据,第四存储单元2024用于存储第三算法模块的基准输出数据。In view of this, FIG. 2 is a schematic diagram of the structure of a test device for applying a test method provided in an embodiment of the present application. As shown in FIG. 2, the test device 200 may include multiple storage units 202, and the multiple storage units 202 may include a first storage unit 2021, a second storage unit 2022, a third storage unit 2023, and a fourth storage unit 2024, ... ... Specifically, before the test, the first sample data is input into the benchmark algorithm of the first business, and the benchmark input data and benchmark output data corresponding to each algorithm module are determined. In this way, these storage units 202 respectively store the first sample data, and the benchmark input data and benchmark output data corresponding to each algorithm module. Assuming that the multiple algorithm modules in the benchmark algorithm of the first business include the first algorithm module, the second algorithm module, and the third algorithm module, and the output data of the first algorithm module is the input data of the second algorithm module and the third algorithm module, then the first storage unit 2021 is used to store the first sample data, the second storage unit 2022 is used to store the benchmark output data of the first algorithm module, the third storage unit 2023 is used to store the benchmark output data of the second algorithm module, and the fourth storage unit 2024 is used to store the benchmark output data of the third algorithm module.
如图2所示,该测试装置200还包括测试策略控制单元201,该测试策略控制单元201用于控制第一业务的待测试算法中各个算法模块的运算流程。具体的,该测试策略控制单元201可以根据第一业务的待测试算法中各个算法模块的运算流程确定测试策略。假设,第一业务的待测试算法中多个算法模块包括第一算法模块、第二算法模块和第三算法模块,第一算法模块的输出数据为第二算法模块和第三算法模块的输入数据。则,一种测试策略可以为在第一算法模块测试通过之后,再测试第二算法模块和第三算法模块。当然,测试策略还可以包括第一算法模块、第二算法模块和第三算法模块并行测试的测试策略;测试策略还可以包括多个算法模块中至少两个算法模块进行组合测试,例如,第一算法模块与第二算法模块组合测试、第一算法模块与第三算法模块组合测试、第一算法模块、第二算法模块和第三算法模块组合测试等测试策略。本申请实施例不做具体限定。As shown in FIG. 2 , the test device 200 further includes a test strategy control unit 201, which is used to control the operation flow of each algorithm module in the algorithm to be tested of the first service. Specifically, the test strategy control unit 201 can determine the test strategy according to the operation flow of each algorithm module in the algorithm to be tested of the first service. Assume that the multiple algorithm modules in the algorithm to be tested of the first service include a first algorithm module, a second algorithm module and a third algorithm module, and the output data of the first algorithm module is the input data of the second algorithm module and the third algorithm module. Then, a test strategy can be to test the second algorithm module and the third algorithm module after the first algorithm module is tested. Of course, the test strategy can also include a test strategy for testing the first algorithm module, the second algorithm module and the third algorithm module in parallel; the test strategy can also include a test strategy for combining at least two algorithm modules in a plurality of algorithm modules, for example, a test strategy for combining the first algorithm module with the second algorithm module, combining the first algorithm module with the third algorithm module, combining the first algorithm module with the third algorithm module, combining the first algorithm module, the second algorithm module and the third algorithm module. The embodiments of the present application are not specifically limited.
其中,如图2所示,该测试装置200还可以包括测试单元203,该测试单元203用于测试第一业务的待测试算法中各个算法模块。测试单元203加载第一业务的待测试算法,如第一业务为自主定位导航,相 应的,待测试算法为自主定位导航算法。测试单元203通过测试策略控制单元确定待测试的算法模块,并从存储单元202中获取该算法模块的输入数据,进行运算得到输出数据。测试单元203将该输出数据与存储单元202中该算法模块存储的基准输出数据进行比对。若两个数据一致,则测试单元203确定该算法模块测试通过,并输出测试通过的测试结果。若两个数据不一致,则测试单元203确定该算法模块测试不通过,并输出测试不通过的测试结果。As shown in FIG2 , the test device 200 may further include a test unit 203, which is used to test each algorithm module in the algorithm to be tested of the first service. The test unit 203 loads the algorithm to be tested of the first service. For example, the first service is autonomous positioning navigation. Accordingly, the algorithm to be tested is an autonomous positioning and navigation algorithm. The test unit 203 determines the algorithm module to be tested through the test strategy control unit, and obtains the input data of the algorithm module from the storage unit 202, and performs calculations to obtain output data. The test unit 203 compares the output data with the benchmark output data stored in the algorithm module in the storage unit 202. If the two data are consistent, the test unit 203 determines that the algorithm module has passed the test and outputs the test result of the test passing. If the two data are inconsistent, the test unit 203 determines that the algorithm module has failed the test and outputs the test result of the test failing.
针对不同的测试策略,上述测试装置可以执行模块测试和/或集成测试。其中,模块测试可以指以最小模块进行检查和验证。对于模块测试中的模块的含义,一般来说,要根据实际情况去判定其具体含义,如在C语言中模块可以指一个函数,Java里模块可以指一个类,图形化的软件中模块可以指一个窗口或一个菜单。集成测试可以指将若干的模块组合起来,测试某项特定功能。不同于模块测试中孤立的模块,集成测试更关注不同模块之间的交互。According to different testing strategies, the above-mentioned testing device can perform module testing and/or integration testing. Among them, module testing can refer to checking and verifying with the smallest module. As for the meaning of the module in module testing, generally speaking, its specific meaning should be determined according to the actual situation. For example, in C language, a module can refer to a function, in Java, a module can refer to a class, and in graphical software, a module can refer to a window or a menu. Integration testing can refer to combining several modules to test a specific function. Different from the isolated modules in module testing, integration testing pays more attention to the interaction between different modules.
以下分别详细介绍测试装置执行单元测试,测试装置执行单元测试和集成测试,及端到端测试。具体如下:The following is a detailed introduction to the test device executing unit test, the test device executing unit test and integration test, and end-to-end test. The details are as follows:
一、测试装置执行单元测试。1. The test fixture performs unit testing.
图3为本申请实施例中提供的一种测试策略的逻辑示意图,如图3所示,假设,第一业务是自主定位导航,待测试算法包括自主定位导航算法,第一算法模块包括建图模块,第二算法模块中多个算法模块包括定位模块,第三算法模块包括导航模块。其中,建图模块的输出数据作为定位模块和导航模块的输入数据。测试策略可以为:在建图模块测试通过之后,分别测试定位模块和导航模块。则,测试单元在加载自主定位导航算法之后,测试单元通过测试策略控制单元确定待测试的测试模块为建图模块。此时,测试单元从第一存储模块中获取第一样本数据并将该数据输入建图模块。测试单元得到建图模块的输出数据(如上述测试输出数据),并将该数据与第二存储模块中存储的建图模块的基准输出数据(如点云地图数据)进行比对。若该数据与点云地图数据一致,则测试单元确定建图模块测试通过。若该数据与点云地图数据不一致,则测试单元确定建图模块测试不通过。在建图模块测试通过之后,测试单元通过测试策略控制单元确定下一个待测试的测试模块为定位模块。测试单元将第二存储模块中的点云地图数据输入定位模块。测试单元得到定位模块的输出数据,并将该数据与第三存储模块中存储的定位模块的基准输出数据(如位姿数据)进行比对。若该数据与位姿数据一致,则测试单元确定定位模块测试通过;若该数据与位姿数据不一致,则测试单元确定定位模块测试不通过。同理,在建图模块测试通过之后,测试单元通过测试策略控制单元确定下一个待测试的测试模块为导航模块。测试单元将第二存储模块中的栅格地图数据输入导航模块。测试单元得到导航模块的输出数据,并将该数据与第四存储模块中存储的导航模块的基准输出数据(如导航数据)进行比对。若该数据与导航数据一致,则测试单元确定导航模块测试通过;若该数据与导航数据不一致,则测试单元确定导航模块测试不通过。FIG3 is a logic diagram of a test strategy provided in an embodiment of the present application. As shown in FIG3, it is assumed that the first business is autonomous positioning and navigation, the algorithm to be tested includes an autonomous positioning and navigation algorithm, the first algorithm module includes a mapping module, multiple algorithm modules in the second algorithm module include a positioning module, and the third algorithm module includes a navigation module. Among them, the output data of the mapping module is used as the input data of the positioning module and the navigation module. The test strategy can be: after the mapping module test passes, the positioning module and the navigation module are tested separately. Then, after the test unit loads the autonomous positioning and navigation algorithm, the test unit determines that the test module to be tested is a mapping module through the test strategy control unit. At this time, the test unit obtains the first sample data from the first storage module and inputs the data into the mapping module. The test unit obtains the output data of the mapping module (such as the above-mentioned test output data), and compares the data with the benchmark output data of the mapping module stored in the second storage module (such as the point cloud map data). If the data is consistent with the point cloud map data, the test unit determines that the mapping module test passes. If the data is inconsistent with the point cloud map data, the test unit determines that the mapping module test fails. After the mapping module test passes, the test unit determines that the next test module to be tested is the positioning module through the test strategy control unit. The test unit inputs the point cloud map data in the second storage module into the positioning module. The test unit obtains the output data of the positioning module and compares the data with the benchmark output data (such as posture data) of the positioning module stored in the third storage module. If the data is consistent with the posture data, the test unit determines that the positioning module test passes; if the data is inconsistent with the posture data, the test unit determines that the positioning module test fails. Similarly, after the mapping module test passes, the test unit determines that the next test module to be tested is the navigation module through the test strategy control unit. The test unit inputs the grid map data in the second storage module into the navigation module. The test unit obtains the output data of the navigation module and compares the data with the benchmark output data (such as navigation data) of the navigation module stored in the fourth storage module. If the data is consistent with the navigation data, the test unit determines that the navigation module test passes; if the data is inconsistent with the navigation data, the test unit determines that the navigation module test fails.
这样,本申请实施例中,针对自主定位导航的业务,其待测试算法中多个算法模块包括建图模块,定位模块,及导航模块。通过对建图模块,定位模块,及导航模块中的一个或多个模块进行测试。这样,当出现测试问题时,可以直接精准的定位到问题所在位置,实现测试问题准确定位。Thus, in the embodiment of the present application, for the autonomous positioning and navigation service, the multiple algorithm modules in the algorithm to be tested include a mapping module, a positioning module, and a navigation module. By testing one or more of the mapping module, the positioning module, and the navigation module, when a test problem occurs, the location of the problem can be directly and accurately located, thereby achieving accurate positioning of the test problem.
二、测试装置执行组合测试。2. The test device performs a combination test.
假设,如图3所示,测试策略可以为:在建图模块、定位模块和导航模块均测试通过之后,分别测试建图模块与定位模块的组合、定位模块和导航模块的组合、及建图模块和导航模块的组合。则,测试单元在加载自主定位导航算法之后,测试单元采用上述模块测试方式对建图模块、定位模块和导航模块测试通过之后,测试单元通过测试策略控制单元确定待测试的测试模块为建图模块和定位模块的组合。此时,测试单元从第一存储单元中获取第一样本数据并将该数据输入建图模块和定位模块的组合。测试单元得到定位模块的输出数据,并将该数据与第三存储模块中存储的定位模块的基准输出数据(如位姿数据)进行比对。若该数据与位姿数据一致,则测试单元确定建图模块和定位模块的组合测试通过。若该数据与位姿数据不一致,则测试单元确定建图模块和定位模块的组合测试不通过。同理,测试单元通过测试策略控制单元确定待测试的测试模块为定位模块和导航模块的组合。测试单元将第二存储单元中的点云地图数据输入定位模块。测试模块得到导航模块的输出数据,并将该数据与第四存储模块中存储的导航模块的基准输出数据(如导航数据)进行比对。若该数据与导航数据一致,则测试单元确定定位模块和导航模块的组合测试通过;若该数据与导航数据不一致,则测试单元确定定位模块和导航模块的组合测试不通过。同理,测试单元通过测试策略控制单元确定待测试的测试模块为建图模块和导航模块 的组合。测试单元将第一存储模块中的地图数据输入建图模块和导航模块的组合。测试模块得到导航模块的输出数据,并将该数据与第四存储模块中存储的导航模块的基准输出数据(如导航数据)进行比对。若该数据与导航数据一致,则测试单元确定导航模块测试通过;若该数据与导航数据不一致,则测试单元确定导航模块测试不通过。Assume that, as shown in FIG3, the test strategy can be: after the mapping module, the positioning module and the navigation module are all tested, the combination of the mapping module and the positioning module, the combination of the positioning module and the navigation module, and the combination of the mapping module and the navigation module are tested respectively. Then, after the test unit loads the autonomous positioning and navigation algorithm, the test unit uses the above-mentioned module test method to test the mapping module, the positioning module and the navigation module. After passing the test, the test unit determines that the test module to be tested is a combination of the mapping module and the positioning module through the test strategy control unit. At this time, the test unit obtains the first sample data from the first storage unit and inputs the data into the combination of the mapping module and the positioning module. The test unit obtains the output data of the positioning module and compares the data with the reference output data (such as posture data) of the positioning module stored in the third storage module. If the data is consistent with the posture data, the test unit determines that the combination test of the mapping module and the positioning module passes. If the data is inconsistent with the posture data, the test unit determines that the combination test of the mapping module and the positioning module fails. Similarly, the test unit determines that the test module to be tested is a combination of the positioning module and the navigation module through the test strategy control unit. The test unit inputs the point cloud map data in the second storage unit into the positioning module. The test module obtains the output data of the navigation module, and compares the data with the reference output data (such as navigation data) of the navigation module stored in the fourth storage module. If the data is consistent with the navigation data, the test unit determines that the combined test of the positioning module and the navigation module has passed; if the data is inconsistent with the navigation data, the test unit determines that the combined test of the positioning module and the navigation module has failed. Similarly, the test unit determines that the test modules to be tested are the mapping module and the navigation module through the test strategy control unit. The test unit inputs the map data in the first storage module into the combination of the mapping module and the navigation module. The test module obtains the output data of the navigation module and compares the data with the reference output data (such as navigation data) of the navigation module stored in the fourth storage module. If the data is consistent with the navigation data, the test unit determines that the navigation module test has passed; if the data is inconsistent with the navigation data, the test unit determines that the navigation module test has failed.
这样,本申请实施例通过对多个模块中的至少两个模块进行组合测试,使得在确保对算法测试的准确性的情况下,当出现测试问题时,可以直接精准的定位到问题所在位置,实现测试问题准确定位。In this way, the embodiment of the present application performs a combined test on at least two modules among the multiple modules, so that when a test problem occurs, the problem can be directly and accurately located, thereby achieving accurate location of the test problem.
三、测试装置执行端到端测试。3. The test device performs end-to-end testing.
假设,如图3所示,测试策略可以为:在建图模块、定位模块和导航模块均测试通过,及建图模块和定位模块的组合、定位模块和导航模块的组合、及建图模块和导航模块的组合均测试通过之后,测试建图模块、定位模块和导航模块。则,测试单元在加载自主定位导航算法之后,测试单元采用上述单元测试方式对建图模块、定位模块和导航模块测试通过,及采用上述集成测试方式对建图模块和定位模块的组合、定位模块和导航模块的组合、及建图模块和导航模块的组合测试通过之后,测试单元通过测试策略控制单元确定待测试的测试模块为建图模块、定位模块和导航模块。此时,测试单元从第一存储单元中获取第一样本数据并将该数据输入建图模块、定位模块和导航模块。测试单元得到导航模块的输出数据,并将该数据与第四存储模块中存储的导航模块的基准输出数据(如导航数据)进行比对。若该数据与导航数据一致,则测试单元确定导航模块测试通过;若该数据与导航数据不一致,则测试单元确定导航模块测试不通过。Assume that, as shown in FIG3, the test strategy can be: after the mapping module, the positioning module and the navigation module are all tested and passed, and the combination of the mapping module and the positioning module, the combination of the positioning module and the navigation module, and the combination of the mapping module and the navigation module are all tested and passed, the mapping module, the positioning module and the navigation module are tested. Then, after the test unit loads the autonomous positioning and navigation algorithm, the test unit uses the above-mentioned unit test method to test the mapping module, the positioning module and the navigation module, and the above-mentioned integrated test method to test the combination of the mapping module and the positioning module, the combination of the positioning module and the navigation module, and the combination of the mapping module and the navigation module. After passing the test, the test unit determines that the test module to be tested is the mapping module, the positioning module and the navigation module through the test strategy control unit. At this time, the test unit obtains the first sample data from the first storage unit and inputs the data into the mapping module, the positioning module and the navigation module. The test unit obtains the output data of the navigation module and compares the data with the reference output data (such as navigation data) of the navigation module stored in the fourth storage module. If the data is consistent with the navigation data, the test unit determines that the navigation module test has passed; if the data is inconsistent with the navigation data, the test unit determines that the navigation module test has failed.
这样,本申请实施例通过在多个模块中各模块测试通过之后,对多个模块中进行端到端(整体)测试,使得在确保对算法测试的准确性的情况下,当出现测试问题时,测试人员可以直接精准的定位到问题所在位置,实现测试问题准确定位。In this way, the embodiment of the present application performs end-to-end (overall) testing on multiple modules after each module in the multiple modules has been tested. This ensures the accuracy of the algorithm test. When a test problem occurs, the tester can directly and accurately locate the problem, thereby accurately locating the test problem.
综上,根据不同的测试策略,测试模块执行不同的测试。在此不再一一列举。In summary, according to different test strategies, the test module performs different tests, which will not be listed here one by one.
上述测试装置可以包括不同产品形态,例如:芯片、装置(如:测试平台、测试设备、服务器(虚拟或实体))。The above-mentioned test device may include different product forms, such as: chips, devices (such as: test platforms, test equipment, servers (virtual or physical)).
应理解,图2所示的装置架构仅为示例性说明,在具体实现过程中,上述装置可能包括更多或更少的模块或算法模块,并且可以根据实际情况对上述模块或算法模块进行删减或增加。It should be understood that the device architecture shown in FIG. 2 is for exemplary purposes only. In a specific implementation, the device may include more or fewer modules or algorithm modules, and the modules or algorithm modules may be deleted or added based on actual conditions.
图4示出了本申请实施例提供的测试方法的示意性流程图,该方法可以由图2所示的测试装置执行。该方法400可以包括S401、S402、S403、S404、S405、S406和S407(其中部分步骤可选),具体请参考以下实施例的描述。Fig. 4 shows a schematic flow chart of a test method provided in an embodiment of the present application, which can be performed by the test device shown in Fig. 2. The method 400 may include S401, S402, S403, S404, S405, S406 and S407 (some of which are optional), and please refer to the description of the following embodiment for details.
本申请实施例中提供的测试方法用于测试第一业务的待测试算法,该算法包括多个算法模块,待测试中的多个算法模块与第一业务的基准算法中的多个算法模块一一对应。在测试之前,将第一样本数据输入第一业务的基准算法,确定各算法模块对应的基准输入数据和基准输出数据。示例性的,本申请实施例中,以多个算法模块包括第一算法模块、第二算法模块和第三算法模块,进行说明。The test method provided in the embodiment of the present application is used to test the algorithm to be tested of the first business, and the algorithm includes multiple algorithm modules, and the multiple algorithm modules to be tested correspond one-to-one to the multiple algorithm modules in the benchmark algorithm of the first business. Before the test, the first sample data is input into the benchmark algorithm of the first business to determine the benchmark input data and benchmark output data corresponding to each algorithm module. Exemplarily, in the embodiment of the present application, the multiple algorithm modules include a first algorithm module, a second algorithm module, and a third algorithm module for illustration.
在一种具体可实现方式中,在将第一样本数据输入第一业务的基准算法,经第一业务的基准算法之后在第一算法模块、第二算法模块和第三算法模块分别输出第一基准输出数据、第二基准输出数据、第三基准输出数据。在得到各个算法模块输出的基准输出数据之后,测试装置存储第一样本数据和各个模块的基准输出数据。这些数据可以存储在一个存储单元中,也可以分别存储在对应的存储单元中。示例性的,测试装置可以包括多个存储单据,该多个存储单元可以包括第一存储单元、第二存储单元、第三存储单元和第四存储单元。第一存储单元用于存储第一样本数据,第二存储单元用于存储第一基准输出数据,第三存储模块用于存储第二基准输出数据,第四存储模块用于存储第三基准输出数据。In a specific implementable manner, after the first sample data is input into the benchmark algorithm of the first business, the first algorithm module, the second algorithm module and the third algorithm module respectively output the first benchmark output data, the second benchmark output data and the third benchmark output data after the benchmark algorithm of the first business. After obtaining the benchmark output data output by each algorithm module, the test device stores the first sample data and the benchmark output data of each module. These data can be stored in one storage unit or in corresponding storage units respectively. Exemplarily, the test device may include a plurality of storage units, and the plurality of storage units may include a first storage unit, a second storage unit, a third storage unit and a fourth storage unit. The first storage unit is used to store the first sample data, the second storage unit is used to store the first benchmark output data, the third storage module is used to store the second benchmark output data, and the fourth storage module is used to store the third benchmark output data.
在测试过程中,在S401中,测试装置加载第一业务的待测试算法,第一业务的待测试算法包括多个算法模块,多个算法模块的输入输出之间存在关联。During the test process, in S401, the test device loads the algorithm to be tested of the first service, the algorithm to be tested of the first service includes multiple algorithm modules, and there is a correlation between the input and output of the multiple algorithm modules.
其中,多个算法模块的输入输出之间存在关联,可以理解为:多个算法模块中一个或一部分算法模块的输出数据,是另一部分算法模块的输入数据。There is a correlation between the input and output of multiple algorithm modules, which can be understood as: the output data of one or part of the algorithm modules among the multiple algorithm modules is the input data of another part of the algorithm modules.
示例性的,如上述,多个算法模块包括第一算法模块、第二算法模块和第三算法模块。Exemplarily, as described above, the multiple algorithm modules include a first algorithm module, a second algorithm module and a third algorithm module.
测试装置加载第一业务的待测试算法之后,测试装置可以将第一业务的待测试算法输出数据 的点作为一个算法模块。示例性的,将样本数据输入第一业务的待测试算法之后,经运算分别输出第一数据、第二数据和第三数据。则,测试装置可以将输出第一数据的点作为第一算法模块,将输出第二数据的点作为第二算法模块,将输出第三数据的点作为第三算法模块。After the test device loads the algorithm to be tested of the first service, the test device can output data of the algorithm to be tested of the first service. As an algorithm module. Exemplarily, after the sample data is input into the algorithm to be tested of the first service, the first data, the second data and the third data are output respectively after operation. Then, the test device can use the point that outputs the first data as the first algorithm module, the point that outputs the second data as the second algorithm module, and the point that outputs the third data as the third algorithm module.
其中,第一算法模块、第二算法模块和第三算法模块中一个算法模块的输出数据作为另一个或两个算法模块的输入数据。示例性的,第一算法模块输出的第一数据可以作为第二算法模块的输入数据,第二算法模块输出的第二数据可以作为第三算法模块的输入数据,第三算法模块输出第三数据。示例性的,第一算法模块输出的第一数据可以分别作为第二算法模块和第三算法模块的输入数据,第二算法模块输出的第二数据也可以作为第三算法模块的输入数据,第三算法模块输出第三数据。当然,各个算法模块之间数据传输并不局限于上述列举的,本申请实施例不做具体限定。Among them, the output data of one algorithm module among the first algorithm module, the second algorithm module and the third algorithm module is used as the input data of another or two algorithm modules. Exemplarily, the first data output by the first algorithm module can be used as the input data of the second algorithm module, the second data output by the second algorithm module can be used as the input data of the third algorithm module, and the third algorithm module outputs the third data. Exemplarily, the first data output by the first algorithm module can be used as the input data of the second algorithm module and the third algorithm module respectively, the second data output by the second algorithm module can also be used as the input data of the third algorithm module, and the third algorithm module outputs the third data. Of course, the data transmission between the algorithm modules is not limited to the above-mentioned ones, and the embodiments of the present application are not specifically limited.
第一业务的待测试算法可以包括自主定位导航算法,当然,第一业务的待测试算法还可以包括其他算法,例如,导航算法、定位算法、自动驾驶算法,等等。本申请实施例中不做具体限定。在本申请实施例中,以第一业务的待测试算法是自主定位导航算法为例进行说明。The algorithm to be tested of the first service may include an autonomous positioning and navigation algorithm. Of course, the algorithm to be tested of the first service may also include other algorithms, such as a navigation algorithm, a positioning algorithm, an automatic driving algorithm, etc. This is not specifically limited in the embodiments of the present application. In the embodiments of the present application, the algorithm to be tested of the first service is an autonomous positioning and navigation algorithm as an example for explanation.
示例性的,第一业务的待测试算法为自主定位导航算法,该自主定位导航算法可以分为如下三个模块:建图模块、定位模块和导航模块。相应的,上述第一业务的待测试算法模块为建图模块,上述第二算法模块为定位模块,上述第三算法模块为导航模块。建图模块的输出数据作为定位模块和导航模块的输入数据。例如,样本数据(如位置信息)输入建图模块,经建图模块运算之后输出第一数据(如点云地图数据或栅格地图数据)。建图模块输出的第一数据(如点云地图数据)输入定位模块,经定位模块运算之后输出第二数据(如位姿数据)。建图模块输出的第一数据(如栅格地图数据)和定位模块输出的第二数据(如位姿数据)输入导航模块,经导航模块运算之后输出第三数据(如导航数据)。Exemplarily, the algorithm to be tested for the first business is an autonomous positioning and navigation algorithm, which can be divided into the following three modules: a mapping module, a positioning module, and a navigation module. Correspondingly, the algorithm module to be tested for the above-mentioned first business is a mapping module, the above-mentioned second algorithm module is a positioning module, and the above-mentioned third algorithm module is a navigation module. The output data of the mapping module is used as the input data of the positioning module and the navigation module. For example, sample data (such as location information) is input into the mapping module, and the first data (such as point cloud map data or raster map data) is output after the mapping module is calculated. The first data (such as point cloud map data) output by the mapping module is input into the positioning module, and the second data (such as posture data) is output after the positioning module is calculated. The first data (such as raster map data) output by the mapping module and the second data (such as posture data) output by the positioning module are input into the navigation module, and the third data (such as navigation data) is output after the navigation module is calculated.
S402、测试装置根据多个算法模块的运行流程,确定测试策略。S402: The testing device determines a testing strategy according to the operation processes of multiple algorithm modules.
其中,测试策略用于表征第一业务的待测试算法的多个算法模块的运行流程。The test strategy is used to characterize the operation process of multiple algorithm modules of the algorithm to be tested of the first service.
其中,运行流程可以理解为多个算法模块的运行流程,示例性的,第一算法模块、第二算法模块和第三算法模块的运算流程,例如,运行流程可以包括:第一算法模块运算之后,第二算法模块和第三算法模块并行运算;或者,第一算法模块、第二算法模块和第三算法模块依次运算。在本申请实施例中运行流程并不局限于上述列举。The operation process can be understood as the operation process of multiple algorithm modules, exemplarily, the operation process of the first algorithm module, the second algorithm module and the third algorithm module, for example, the operation process may include: after the first algorithm module is operated, the second algorithm module and the third algorithm module are operated in parallel; or the first algorithm module, the second algorithm module and the third algorithm module are operated in sequence. In the embodiment of the present application, the operation process is not limited to the above enumeration.
针对运行流程,测试装置可以确定不同的测试策略。例如,运行流程为第一算法模块运算之后,第二算法模块和第三算法模块并行运算,测试策略可以包括以下至少一项:第一算法模块、第二算法模块和第三算法模块并列测试;在第一算法模块测试通过之后,第二算法模块和第三算法模块并列测试;第一算法模块、第二算法模块和第三算法模块中至少两个算法模块进行组合测试;在第一算法模块、第二算法模块和第三算法模块中至少一个算法模块测试通过之后,第一算法模块、第二算法模块和第三算法模块中至少两个算法模块进行组合测试。The test device can determine different test strategies for the operation process. For example, if the operation process is that after the first algorithm module is operated, the second algorithm module and the third algorithm module are operated in parallel, the test strategy may include at least one of the following: the first algorithm module, the second algorithm module and the third algorithm module are tested in parallel; after the first algorithm module is tested and passed, the second algorithm module and the third algorithm module are tested in parallel; at least two of the first algorithm module, the second algorithm module and the third algorithm module are tested in combination; after at least one of the first algorithm module, the second algorithm module and the third algorithm module is tested and passed, at least two of the first algorithm module, the second algorithm module and the third algorithm module are tested in combination.
其中,第一算法模块、第二算法模块和第三算法模块中至少两个算法模块进行组合测试可以包括以下组合形式:第一算法模块与第二算法模块组合测试、第一算法模块与第三算法模块组合测试、第二算法模块与第三算法模块组合测试、及第一算法模块、第二算法模块和第三算法模块组合测试。Among them, the combined test of at least two algorithm modules among the first algorithm module, the second algorithm module and the third algorithm module may include the following combinations: combined test of the first algorithm module and the second algorithm module, combined test of the first algorithm module and the third algorithm module, combined test of the second algorithm module and the third algorithm module, and combined test of the first algorithm module, the second algorithm module and the third algorithm module.
其中,在第一算法模块、第二算法模块和第三算法模块中至少一个算法模块测试通过之后,第一算法模块、第二算法模块和第三算法模块中至少两个算法模块进行组合测试,具体可以包括如下情形:在第一算法模块测试通过之后,第一算法模块与第二算法模块组合测试;在第一算法模块测试通过之后,第一算法模块与第三算法模块组合测试;在第一算法模块和第二算法模块测试通过之后,第一算法模块与第二算法模块组合测试;在第一算法模块和第二算法模块测试通过之后,第一算法模块、第二算法模块和第三算法模块组合测试;在第一算法模块、第二算法模块和第三算法模块测试通过之后,第一算法模块与第二算法模块组合测试;在第一算法模块、第二算法模块和第三算法模块测试通过之后,第一算法模块-第三算法模块组合测试;在第一算法模块、第二算法模块和第三算法模块测试通过之后,第二算法模块与第三算法模块组合测试;在第一算法模块、第二算法模块和第三算法模块测试通过之后,第一算法模块、第二算法模块和第三算法 模块组合测试。在第一算法模块、第二算法模块和第三算法模块测试通过,及第一算法模块与第二算法模块组合测试、第一算法模块与第三算法模块组合测试、第二算法模块与第三算法模块组合测试均通过之后,第一算法模块、第二算法模块和第三算法模块组合测试。在本申请实施例还可能存在其他情形,在此不再一一列举。Among them, after at least one algorithm module among the first algorithm module, the second algorithm module and the third algorithm module passes the test, at least two algorithm modules among the first algorithm module, the second algorithm module and the third algorithm module are tested in combination, which may specifically include the following situations: after the first algorithm module passes the test, the first algorithm module is tested in combination with the second algorithm module; after the first algorithm module passes the test, the first algorithm module is tested in combination with the third algorithm module; after the first algorithm module and the second algorithm module pass the test, the first algorithm module is tested in combination with the second algorithm module; after the first algorithm module and the second algorithm module pass the test, the first algorithm module, the second algorithm module and the third algorithm module are tested in combination; after the first algorithm module, the second algorithm module and the third algorithm module pass the test, the first algorithm module and the third algorithm module are tested in combination; after the first algorithm module, the second algorithm module and the third algorithm module pass the test, the second algorithm module and the third algorithm module are tested in combination; after the first algorithm module, the second algorithm module and the third algorithm module pass the test, the second algorithm module and the third algorithm module are tested in combination; after the first algorithm module, the second algorithm module and the third algorithm module pass the test, the second algorithm module and the third algorithm module are tested in combination; Module combination test. After the first algorithm module, the second algorithm module and the third algorithm module have passed the test, and the first algorithm module and the second algorithm module combination test, the first algorithm module and the third algorithm module combination test, and the second algorithm module and the third algorithm module combination test have all passed, the first algorithm module, the second algorithm module and the third algorithm module combination test. There may be other situations in the embodiments of the present application, which are not listed here one by one.
示例性的,沿用上述示例,测试策略可以包括在建图模块测试通过之后,定位模块和导航模块并行测试;测试策略也可以包括在建图模块和导航模块测试通过之后,建图模块与导航模块进行组合测试;测试策略还可以包括在建图模块、定位模块和导航模块测试通过之后,建图模块、定位模块和导航模块进行组合测试。Exemplarily, following the above example, the testing strategy may include testing the positioning module and the navigation module in parallel after the mapping module has been tested; the testing strategy may also include testing the mapping module and the navigation module in combination after the mapping module and the navigation module have been tested; the testing strategy may also include testing the mapping module, the positioning module, and the navigation module in combination after the mapping module, the positioning module, and the navigation module have been tested.
本申请实施例中,通过第一算法模块、第二算法模块和第三算法模块的运行流程得到测试策略,为算法(如自主定位导航算法)的测试提供可选高效的自动化测试系统,相较于基于测试人员的经验测试,基于测试策略的测试方法测试更高效、更精准。In an embodiment of the present application, a test strategy is obtained through the operation process of the first algorithm module, the second algorithm module and the third algorithm module, providing an optional and efficient automated testing system for the testing of algorithms (such as autonomous positioning and navigation algorithms). Compared with testing based on the experience of testers, testing methods based on test strategies are more efficient and more accurate.
S403、测试装置按照测试策略,在待测试算法的多个算法模块中确定测试模块,测试模块包括待测试算法的多个算法模块中的部分算法模块。S403: The testing device determines a test module from among the multiple algorithm modules of the algorithm to be tested according to the test strategy, where the test module includes some of the multiple algorithm modules of the algorithm to be tested.
其中,测试模块包括待测试算法的多个算法模块中的部分算法模块,可以理解为:测试模块可以是多个算法模块中的一部分算法模块。当然,测试模块也可以包括待测试算法的多个算法模块中的全部算法模块。当待测试算法的多个算法模块中各算法模块均测试通过之后,测试模块可以为多个算法模块中的全部算法模块。Wherein, the test module includes some algorithm modules among the multiple algorithm modules of the algorithm to be tested, which can be understood as: the test module can be a part of the algorithm modules among the multiple algorithm modules. Of course, the test module can also include all the algorithm modules among the multiple algorithm modules of the algorithm to be tested. When each algorithm module among the multiple algorithm modules of the algorithm to be tested passes the test, the test module can be all the algorithm modules among the multiple algorithm modules.
也就是说,测试模块可以包括至少一个算法模块,至少一个算法模块包括:第一算法模块、第二算法模块、第三算法模块、第一算法模块与第二算法模块的组合、第一算法模块与第三算法模块的组合、第二算法模块与第三算法模块的组合、及第一算法模块、第二算法模块和第三算法模块的组合。That is, the test module may include at least one algorithm module, and the at least one algorithm module includes: a first algorithm module, a second algorithm module, a third algorithm module, a combination of the first algorithm module and the second algorithm module, a combination of the first algorithm module and the third algorithm module, a combination of the second algorithm module and the third algorithm module, and a combination of the first algorithm module, the second algorithm module and the third algorithm module.
示例性的,沿用上述示例,测试策略可以包括在建图模块测试通过之后,定位模块和导航模块并行测试;S403具体可以为:在建图模块测试通过之后,按照测试策略,确定测试模块为定位模块和导航模块。Exemplarily, following the above example, the test strategy may include testing the positioning module and the navigation module in parallel after the mapping module test passes; S403 may specifically be: after the mapping module test passes, according to the test strategy, determining that the test modules are the positioning module and the navigation module.
示例性的,沿用上述示例,测试策略包括在建图模块和导航模块测试通过之后,建图模块与导航模块进行组合测试;S403具体可以为:在建图模块和导航模块测试通过之后,按照测试策略,确定测试模块为建图模块与导航模块的组合。Exemplarily, following the above example, the test strategy includes performing a combined test on the mapping module and the navigation module after the mapping module and the navigation module are tested. S403 may specifically be: after the mapping module and the navigation module are tested, determining, according to the test strategy, that the test module is a combination of the mapping module and the navigation module.
示例性的,沿用上述示例,测试策略包括在建图模块、定位模块和导航模块测试通过之后,建图模块、定位模块和导航模块进行组合测试;S403具体可以为:在建图模块、定位模块和导航模块测试通过之后,按照测试策略,确定测试模块为建图模块、定位模块和导航模块的组合。Exemplarily, following the above example, the test strategy includes performing combined testing on the mapping module, the positioning module and the navigation module after the mapping module, the positioning module and the navigation module have been tested; S403 may specifically be: after the mapping module, the positioning module and the navigation module have been tested, determining, according to the test strategy, that the test module is a combination of the mapping module, the positioning module and the navigation module.
S404、测试装置确定测试模块对应的基准输入和基准输出。S404: The testing device determines a reference input and a reference output corresponding to the testing module.
本步骤中,测试装置通过确定测试模块,之后,测试装置可以根据测试之前确定的各个算法模块的基准输入数据和基准输出数据,即可确定测试模块对应的基准输入数据和基准输出数据。In this step, the test device determines the test module, and then the test device can determine the benchmark input data and benchmark output data corresponding to the test module based on the benchmark input data and benchmark output data of each algorithm module determined before the test.
S405、测试装置将基准输入数据输入测试模块,得到测试模块输出的测试输出数据。S405 . The testing device inputs the reference input data into the testing module to obtain the test output data output by the testing module.
示例性的,沿用上述示例,在测试策略确定测试模块为定位模块时,测试装置将建图模块的基准输出数据(如点云地图数据)输入定位模块之后,得到定位模块的测试输出数据。Exemplarily, following the above example, when the test strategy determines that the test module is a positioning module, the test device inputs the benchmark output data of the mapping module (such as point cloud map data) into the positioning module to obtain the test output data of the positioning module.
示例性的,沿用上述示例,在测试策略确定测试模块为导航模块时,测试装置将建图模块的基准输出数据(如栅格地图数据)输入导航模块之后,得到导航模块的测试输出数据。Exemplarily, following the above example, when the test strategy determines that the test module is a navigation module, the test device inputs the reference output data (such as raster map data) of the mapping module into the navigation module to obtain the test output data of the navigation module.
示例性的,沿用上述示例,在测试策略确定测试算法模块为建图模块与导航模块的组合时,测试装置将第一样本数据(如地图数据)输入建图模块与导航模块的组合之后,得到导航模块的测试输出数据。Exemplarily, following the above example, when the test strategy determines that the test algorithm module is a combination of a mapping module and a navigation module, the test device inputs the first sample data (such as map data) into the combination of the mapping module and the navigation module to obtain the test output data of the navigation module.
示例性的,沿用上述示例,在测试策略确定测试模块为建图模块、定位模块和导航模块的组合时,测试装置将第一样本数据(如地图数据)输入建图模块、定位模块和导航模块的组合之后,得到导航模块的测试输出数据。Exemplarily, following the above example, when the test strategy determines that the test module is a combination of a mapping module, a positioning module and a navigation module, the test device inputs the first sample data (such as map data) into the combination of the mapping module, the positioning module and the navigation module, and obtains the test output data of the navigation module.
S406、当测试输出数据与基准输出数据一致时,测试装置确定测试模块测试通过。S406: When the test output data is consistent with the reference output data, the test device determines that the test module has passed the test.
在得到测试输出数据之后,测试装置将测试输出数据与预先存储的测试模块的基准输出数据进行比较。当测试输出数据与预先存储的测试模块的基准输出数据一致时,测试装置确定测试模 块测试通过。After obtaining the test output data, the test device compares the test output data with the pre-stored reference output data of the test module. When the test output data is consistent with the pre-stored reference output data of the test module, the test device determines that the test module is Block test passed.
S407、当测试输出数据与基准输出数据不一致时,测试装置确定测试模块测试不通过。S407: When the test output data is inconsistent with the reference output data, the test device determines that the test module fails the test.
在得到测试输出数据之后,测试装置将测试输出数据与预先存储的测试模块的基准输出数据进行比较。当测试输出数据与预先存储的测试模块的基准输出数据不一致时,测试装置确定测试模块测试不通过。After obtaining the test output data, the test device compares the test output data with the pre-stored benchmark output data of the test module. When the test output data is inconsistent with the pre-stored benchmark output data of the test module, the test device determines that the test module fails the test.
示例性的,沿用上述示例,测试模块为第一算法模块,测试装置将第一算法模块的测试输出数据与预先存储的第一算法模块的基准输出数据进行比较,当测试输出数据与基准输出数据一致时,测试装置确定第一算法模块测试通过。当测试输出数据与基准输出数据不一致时,测试装置确定第一算法模块测试不通过。Exemplarily, following the above example, the test module is the first algorithm module, and the test device compares the test output data of the first algorithm module with the pre-stored reference output data of the first algorithm module. When the test output data is consistent with the reference output data, the test device determines that the test of the first algorithm module has passed. When the test output data is inconsistent with the reference output data, the test device determines that the test of the first algorithm module has failed.
例如,测试模块为建图模块,建图模块的测试输出数据为建图模块输出的点云地图数据或栅格地图数据。测试装置将该数据与预先存储的建图模块的基准输出数据比较,当建图模块的测试输出数据与预先存储的建图模块的基准输出数据一致时,测试装置确定建图模块测试通过;当建图模块的测试输出数据与预先存储的建图模块的基准输出数据不一致时,测试装置确定建图模块测试不通过。For example, the test module is a mapping module, and the test output data of the mapping module is the point cloud map data or raster map data output by the mapping module. The test device compares the data with the pre-stored benchmark output data of the mapping module. When the test output data of the mapping module is consistent with the pre-stored benchmark output data of the mapping module, the test device determines that the mapping module test has passed; when the test output data of the mapping module is inconsistent with the pre-stored benchmark output data of the mapping module, the test device determines that the mapping module test has failed.
例如,测试模块为定位模块,定位模块的测试输出数据为定位模块输出的位姿数据。测试装置将该数据与预先存储的定位模块的基准输出数据比较,当定位模块的测试输出数据与预先存储的定位模块的基准输出数据一致时,测试装置确定定位模块测试通过;当建图模块的测试输出数据与预先存储的定位模块的基准输出数据不一致时,测试装置确定定位模块测试不通过。For example, the test module is a positioning module, and the test output data of the positioning module is the posture data output by the positioning module. The test device compares the data with the pre-stored benchmark output data of the positioning module. When the test output data of the positioning module is consistent with the pre-stored benchmark output data of the positioning module, the test device determines that the positioning module test has passed; when the test output data of the mapping module is inconsistent with the pre-stored benchmark output data of the positioning module, the test device determines that the positioning module test has failed.
如果没有特殊说明以及逻辑冲突,本申请各个实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。Unless otherwise specified or there is no logical conflict, the terms and/or descriptions between the various embodiments of the present application are consistent and can be referenced to each other. The technical features in different embodiments can be combined to form new embodiments based on their internal logical relationships.
上文中结合图1至图4详细说明了本申请实施例提供的测试方法。下面将结合图5详细说明本申请实施例提供的测试装置。应理解,装置实施例的描述与方法实施例的描述相互对应,因此,未详细描述的内容可以参见上文方法实施例,为了简洁,这里不再赘述。The test method provided by the embodiment of the present application is described in detail above in conjunction with Figures 1 to 4. The test device provided by the embodiment of the present application will be described in detail below in conjunction with Figure 5. It should be understood that the description of the device embodiment corresponds to the description of the method embodiment. Therefore, the content not described in detail can be referred to the method embodiment above, and for the sake of brevity, it will not be repeated here.
图5示出了本申请实施例提供的测试装置500的示意性框图,该装置500包括:加载单元501、第一确定单元502、第二确定单元503、第一输出单元504和第三确定单元505;其中,FIG5 shows a schematic block diagram of a test device 500 provided in an embodiment of the present application, wherein the device 500 includes: a loading unit 501, a first determining unit 502, a second determining unit 503, a first output unit 504 and a third determining unit 505; wherein,
加载单元501用于:加载第一业务的待测试算法,第一业务的待测试算法包括多个算法模块,多个算法模块的输入输出之间存在关联;示例性的,加载单元501可以执行上述S401的步骤。加载单元501可以为如图2所示的测试单元203。The loading unit 501 is used to load the algorithm to be tested of the first service, the algorithm to be tested of the first service includes multiple algorithm modules, and there is a correlation between the input and output of the multiple algorithm modules; illustratively, the loading unit 501 can perform the above step S401. The loading unit 501 can be the test unit 203 shown in Figure 2.
第一确定单元502用于:根据测试策略,在待测试算法的多个算法模块中确定测试模块,测试模块包括待测试算法的多个算法模块中的部分算法模块;示例性的,第一确定单元502可以执行上述S403的步骤。第一确定单元502可以为如图2所示的测试策略控制单元201。The first determination unit 502 is used to: determine a test module from among the multiple algorithm modules of the algorithm to be tested according to the test strategy, wherein the test module includes some of the multiple algorithm modules of the algorithm to be tested; illustratively, the first determination unit 502 may perform the above step S403. The first determination unit 502 may be the test strategy control unit 201 as shown in FIG2.
第二确定单元503用于:确定测试模块对应的基准输入和基准输出;示例性的,第二确定单元503可以执行上述S404的步骤。第二确定单元503可以为如图2所示的测试单元203。The second determination unit 503 is used to determine the reference input and reference output corresponding to the test module. Exemplarily, the second determination unit 503 may execute the above step S404. The second determination unit 503 may be the test unit 203 shown in FIG2.
第一输出单元504用于:将基准输入数据输入测试模块,得到测试模块输出的测试输出数据;示例性的,第一输出单元504可以执行上述S405的步骤。第一输出单元504可以为如图2所示的测试单元203。The first output unit 504 is used to input the reference input data into the test module to obtain the test output data output by the test module; illustratively, the first output unit 504 can execute the above step S405. The first output unit 504 can be the test unit 203 shown in FIG2.
第三确定单元505用于:当测试输出数据与基准输出数据一致时,确定测试模块测试通过。示例性的,第三确定单元505可以执行上述S406的步骤。第三确定单元505可以为如图2所示的测试单元203。The third determination unit 505 is used to: when the test output data is consistent with the reference output data, determine that the test module has passed the test. Exemplarily, the third determination unit 505 can execute the above step S406. The third determination unit 505 can be the test unit 203 shown in FIG2.
在一些可实现方式中,该装置500还可以包括:第四确定单元506,用于根据多个算法模块的运行流程,确定测试策略。示例性的,第四确定单元506可以执行上述S402的步骤。第四确定单元506可以为如图2所示的测试单元203。In some implementations, the device 500 may further include: a fourth determination unit 506, configured to determine a test strategy according to the operation flow of the plurality of algorithm modules. Exemplarily, the fourth determination unit 506 may execute the above step S402. The fourth determination unit 506 may be the test unit 203 shown in FIG2.
在一种具体可实现方式中,测试策略可以包括以下至少一项:多个算法模块中各个算法模块并列测试;在多个算法模块中的目标算法模块测试通过之后,多个算法模块中的其他算法模块并列测试;多个算法模块中至少两个算法模块进行组合测试。In a specific implementable manner, the test strategy may include at least one of the following: testing each algorithm module among multiple algorithm modules in parallel; after a target algorithm module among multiple algorithm modules passes the test, testing other algorithm modules among multiple algorithm modules in parallel; and performing combination testing on at least two algorithm modules among multiple algorithm modules.
在一种具体可实现方式中,第二确定单元用于:将样本数据输入到第一业务的基准算法中,确定测试模块对应的基准输入数据和基准输出数据,其中,基准算法中的多个算法模块与待测试 算法中的多个算法模块一一对应。In a specific implementation, the second determination unit is used to: input the sample data into the benchmark algorithm of the first business, determine the benchmark input data and benchmark output data corresponding to the test module, wherein the multiple algorithm modules in the benchmark algorithm are consistent with the to-be-tested The multiple algorithm modules in the algorithm correspond one to one.
在一种具体可实现方式中,第一业务是自主定位导航,待测试算法中多个算法模块包括建图模块,定位模块,及导航模块,建图模块的输出数据作为定位模块和导航模块的输入数据。In a specific implementation, the first service is autonomous positioning and navigation, and the multiple algorithm modules in the algorithm to be tested include a mapping module, a positioning module, and a navigation module. The output data of the mapping module is used as input data of the positioning module and the navigation module.
在一种具体可实现方式中,测试策略包括在建图单元测试通过之后,定位单元和导航单元并行测试;第一确定单元用于在建图单元测试通过之后,按照测试策略,确定测试节点为定位单元和导航单元。In a specific implementable manner, the test strategy includes testing the positioning unit and the navigation unit in parallel after the mapping unit test passes; the first determination unit is used to determine the test nodes as the positioning unit and the navigation unit according to the test strategy after the mapping unit test passes.
在一种具体可实现方式中,测试策略包括在建图模块和导航模块测试通过之后,建图模块和导航模块的组合模块进行测试;第一确定单元用于在建图模块和导航模块测试通过之后,按照测试策略,确定测试模块为建图模块和导航模块的组合模块。In a specific implementable manner, the test strategy includes testing a combination module of the mapping module and the navigation module after the mapping module and the navigation module are tested; and the first determination unit is used to determine that the test module is a combination module of the mapping module and the navigation module according to the test strategy after the mapping module and the navigation module are tested.
在一种具体可实现方式中,测试策略包括在建图模块、定位模块和导航模块测试通过之后,建图模块、定位模块和导航模块的组合模块进行测试;在建图模块、定位模块和导航模块测试通过之后,按照测试策略,确定测试模块为建图模块、定位模块和导航模块的组合模块。In a specific implementable manner, the testing strategy includes testing a combination module of the mapping module, the positioning module and the navigation module after the mapping module, the positioning module and the navigation module have been tested; after the mapping module, the positioning module and the navigation module have been tested, determining the test module as a combination module of the mapping module, the positioning module and the navigation module according to the testing strategy.
这样,本申请实施例通过在第一业务的待测试算法的多个算法模块中采用测试策略确定测试模块,再确定测试模块对应的基准输入和基准输出,将基准输入数据输入测试模块得到的测试模块输出的测试输出数据,与基准输出数据进行比较。当测试输出数据与基准输出数据一致时,确定测试模块测试通过。这样,当出现测试问题时,可以直接精准的定位到问题所在位置,实现测试问题准确定位。In this way, the embodiment of the present application determines the test module by adopting the test strategy in the multiple algorithm modules of the algorithm to be tested of the first business, and then determines the benchmark input and benchmark output corresponding to the test module, and compares the test output data of the test module output obtained by inputting the benchmark input data into the test module with the benchmark output data. When the test output data is consistent with the benchmark output data, it is determined that the test module test has passed. In this way, when a test problem occurs, the location of the problem can be directly and accurately located, and the test problem can be accurately located.
本申请实施例还提供了一种装置,该装置包括处理单元和存储模块,其中存储模块用于存储指令,处理单元执行存储模块所存储的指令,以使该装置执行上述实施例执行的方法或者步骤。An embodiment of the present application also provides a device, which includes a processing unit and a storage module, wherein the storage module is used to store instructions, and the processing unit executes the instructions stored in the storage module so that the device executes the method or steps executed by the above embodiment.
应理解,以上装置中各单元的划分仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。此外,装置中的单元可以以处理器调用软件的形式实现;例如装置包括处理器,处理器与存储器连接,存储器中存储有指令,处理器调用存储器中存储的指令,以实现以上任一种方法或实现该装置各单元的功能,其中处理器例如为通用处理器,例如CPU或微处理器,存储器为装置内的存储器或装置外的存储器。或者,装置中的单元可以以硬件电路的形式实现,可以通过对硬件电路的设计实现部分或全部单元的功能,该硬件电路可以理解为一个或多个处理器;例如,在一种实现中,该硬件电路为ASIC,通过对电路内元件逻辑关系的设计,实现以上部分或全部单元的功能;再如,在另一种实现中,该硬件电路为可以通过PLD实现,以FPGA为例,其可以包括大量逻辑门电路,通过配置文件来配置逻辑门电路之间的连接关系,从而实现以上部分或全部单元的功能。以上装置的所有单元可以全部通过处理器调用软件的形式实现,或全部通过硬件电路的形式实现,或部分通过处理器调用软件的形式实现,剩余部分通过硬件电路的形式实现。It should be understood that the division of the units in the above device is only a division of logical functions. In actual implementation, they can be fully or partially integrated into one physical entity, or they can be physically separated. In addition, the units in the device can be implemented in the form of a processor calling software; for example, the device includes a processor, the processor is connected to a memory, and instructions are stored in the memory. The processor calls the instructions stored in the memory to implement any of the above methods or realize the functions of the units of the device, wherein the processor is, for example, a general-purpose processor, such as a CPU or a microprocessor, and the memory is a memory in the device or a memory outside the device. Alternatively, the units in the device can be implemented in the form of hardware circuits, and the functions of some or all of the units can be realized by designing the hardware circuits. The hardware circuit can be understood as one or more processors; for example, in one implementation, the hardware circuit is an ASIC, and the functions of some or all of the above units are realized by designing the logical relationship of the components in the circuit; for example, in another implementation, the hardware circuit can be implemented by PLD. Taking FPGA as an example, it can include a large number of logic gate circuits, and the connection relationship between the logic gate circuits is configured through the configuration file, so as to realize the functions of some or all of the above units. All units of the above device may be implemented entirely in the form of a processor calling software, or entirely in the form of a hardware circuit, or partially in the form of a processor calling software and the rest in the form of a hardware circuit.
在本申请实施例中,处理器是一种具有信号的处理能力的电路,在一种实现中,处理器可以是具有指令读取与运行能力的电路,例如CPU、微处理器、GPU、或DSP等;在另一种实现中,处理器可以通过硬件电路的逻辑关系实现一定功能,该硬件电路的逻辑关系是固定的或可以重构的,例如处理器为ASIC或PLD实现的硬件电路,例如FPGA。在可重构的硬件电路中,处理器加载配置文档,实现硬件电路配置的过程,可以理解为处理器加载指令,以实现以上部分或全部单元的功能的过程。此外,还可以是针对人工智能设计的硬件电路,其可以理解为一种ASIC,例如NPU、TPU、DPU等等。In an embodiment of the present application, a processor is a circuit with the ability to process signals. In one implementation, the processor may be a circuit with the ability to read and run instructions, such as a CPU, a microprocessor, a GPU, or a DSP; in another implementation, the processor may implement certain functions through the logical relationship of a hardware circuit, and the logical relationship of the hardware circuit is fixed or reconfigurable, such as a hardware circuit implemented by an ASIC or PLD, such as an FPGA. In a reconfigurable hardware circuit, the process of the processor loading a configuration document to implement the hardware circuit configuration can be understood as the process of the processor loading instructions to implement the functions of some or all of the above units. In addition, it can also be a hardware circuit designed for artificial intelligence, which can be understood as an ASIC, such as an NPU, TPU, DPU, and the like.
可见,以上装置中的各单元可以是被配置成实施以上方法的一个或多个处理器(或处理电路),例如:CPU、GPU、NPU、TPU、DPU、微处理器、DSP、ASIC、FPGA,或这些处理器形式中至少两种的组合。It can be seen that each unit in the above device can be one or more processors (or processing circuits) configured to implement the above method, such as: CPU, GPU, NPU, TPU, DPU, microprocessor, DSP, ASIC, FPGA, or a combination of at least two of these processor forms.
此外,以上装置中的各单元可以全部或部分可以集成在一起,或者可以独立实现。在一种实现中,这些单元集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。该SOC中可以包括至少一个处理器,用于实现以上任一种方法或实现该装置各单元的功能,该至少一个处理器的种类可以不同,例如包括CPU和FPGA,CPU和人工智能处理器,CPU和GPU等。In addition, the units in the above device can be fully or partially integrated together, or can be implemented independently. In one implementation, these units are integrated together and implemented in the form of a system-on-a-chip (SOC). The SOC may include at least one processor for implementing any of the above methods or implementing the functions of each unit of the device. The type of the at least one processor may be different, for example, including a CPU and an FPGA, a CPU and an artificial intelligence processor, a CPU and a GPU, etc.
可选的,该可能的设计中,上述图1~图4所示方法实施例中涉及智能驾驶系统的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。该可能的设计中所述的智能驾驶系统用于执行图1~图4所示测试方法中智能驾驶系统的功能,因此可以达到与上述测试方法 相同的效果。Optionally, in this possible design, all relevant contents of each step of the intelligent driving system in the method embodiment shown in Figures 1 to 4 above can be referred to the functional description of the corresponding functional module, and will not be repeated here. The intelligent driving system described in this possible design is used to perform the functions of the intelligent driving system in the test method shown in Figures 1 to 4, so it can achieve the same as the above test method. Same effect.
本申请实施例提供的一种测试装置,包括:处理器和存储器,存储器与处理器耦合,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当处理器从存储器中读取计算机指令,以使得测试装置执行图1~图4所示测试方法。A testing device provided in an embodiment of the present application includes: a processor and a memory, the memory is coupled to the processor, the memory is used to store computer program code, the computer program code includes computer instructions, when the processor reads the computer instructions from the memory, the testing device executes the testing method shown in Figures 1 to 4.
本申请实施例提供的一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行图1~图4所示测试方法。An embodiment of the present application provides a computer program product. When the computer program product runs on a computer, the computer executes the test method shown in Figures 1 to 4.
本申请实施例提供的一种计算机可读存储介质,包括计算机指令,当计算机指令在终端上运行时,使得网络设备执行图1~图4所示测试方法。A computer-readable storage medium provided in an embodiment of the present application includes computer instructions. When the computer instructions are executed on a terminal, a network device executes the test method shown in FIGS. 1 to 4 .
本申请实施例提供的一种芯片系统,包括一个或多个处理器,当一个或多个处理器执行指令时,一个或多个处理器执行图1~图4所示测试方法。A chip system provided in an embodiment of the present application includes one or more processors. When the one or more processors execute instructions, the one or more processors execute the test method shown in Figures 1 to 4.
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。In the description of the embodiments of the present application, unless otherwise specified, “/” means or. For example, A/B can mean A or B. The “and/or” in this article is merely a way to describe the association relationship of associated objects, indicating that three relationships may exist. For example, A and/or B can mean: A exists alone, A and B exist at the same time, and B exists alone.
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。In the following, the terms "first" and "second" are used for descriptive purposes only and are not to be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features. In the description of the embodiments of the present application, unless otherwise specified, "multiple" means two or more.
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。In the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way.
可以理解的是,上述通信设备等为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。It is understandable that, in order to realize the above functions, the above-mentioned communication equipment and the like include hardware structures and/or software modules corresponding to the execution of each function. Those skilled in the art should easily realize that, in combination with the units and algorithm steps of each example described in the embodiments disclosed herein, the embodiments of the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the embodiments of the present application.
本申请实施例可以根据上述方法示例对上述通信设备等进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。The embodiment of the present application can divide the functional modules of the above-mentioned communication equipment etc. according to the above-mentioned method example. For example, each functional module can be divided corresponding to each function, or two or more functions can be integrated into one processing module. The above-mentioned integrated module can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the embodiment of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation.
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。 Through the description of the above implementation methods, technicians in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. The specific working process of the system, device and unit described above can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.

Claims (19)

  1. 一种测试方法,其特征在于,所述方法包括:A testing method, characterized in that the method comprises:
    加载第一业务的待测试算法,所述第一业务的待测试算法包括多个算法模块,所述多个算法模块的输入输出之间存在关联;Loading a to-be-tested algorithm of a first service, where the to-be-tested algorithm of the first service includes a plurality of algorithm modules, and inputs and outputs of the plurality of algorithm modules are associated with each other;
    根据测试策略,在所述待测试算法的多个算法模块中确定测试模块,所述测试模块包括所述待测试算法的多个算法模块中的部分算法模块;According to the test strategy, determining a test module from among the multiple algorithm modules of the algorithm to be tested, wherein the test module includes some of the multiple algorithm modules of the algorithm to be tested;
    确定所述测试模块对应的基准输入和基准输出;Determining a reference input and a reference output corresponding to the test module;
    将所述基准输入数据输入所述测试模块,得到所述测试模块输出的测试输出数据;Inputting the reference input data into the test module to obtain test output data output by the test module;
    当所述测试输出数据与所述基准输出数据一致时,确定所述测试模块测试通过。When the test output data is consistent with the reference output data, it is determined that the test module has passed the test.
  2. 根据权利要求1所述的方法,其特征在于,在按照测试策略,在所述多个算法模块中确定测试模块之前,还包括:The method according to claim 1, characterized in that before determining the test module from the plurality of algorithm modules according to the test strategy, it further comprises:
    根据所述多个算法模块的运行流程,确定所述测试策略。The test strategy is determined according to the operation processes of the multiple algorithm modules.
  3. 根据权利要求1或2所述的方法,其特征在于,所述测试策略包括以下至少一项:The method according to claim 1 or 2, characterized in that the test strategy includes at least one of the following:
    所述多个算法模块中各个算法模块并列测试;Each algorithm module in the multiple algorithm modules is tested in parallel;
    在所述多个算法模块中的目标算法模块测试通过之后,所述多个算法模块中的其他算法模块并列测试;After a target algorithm module among the multiple algorithm modules passes the test, other algorithm modules among the multiple algorithm modules are tested in parallel;
    所述多个算法模块中至少两个算法模块进行组合测试。At least two algorithm modules among the multiple algorithm modules are tested in combination.
  4. 根据权利要求1-3中任一项所述的方法,其特征在于,所述确定所述测试模块对应的基准输入和基准输出,包括:The method according to any one of claims 1 to 3, characterized in that determining the reference input and reference output corresponding to the test module comprises:
    将样本数据输入到所述第一业务的基准算法中,确定所述测试模块对应的基准输入数据和基准输出数据,其中,所述基准算法中的多个算法模块与所述待测试算法中的多个算法模块一一对应。Input sample data into a benchmark algorithm of the first business to determine benchmark input data and benchmark output data corresponding to the test module, wherein multiple algorithm modules in the benchmark algorithm correspond one-to-one to multiple algorithm modules in the algorithm to be tested.
  5. 根据权利要求1-4中任一项所述的方法,其特征在于,所述第一业务是自主定位导航,所述待测试算法中多个算法模块包括建图模块,定位模块,及导航模块,所述建图模块的输出数据作为所述定位模块和所述导航模块的输入数据。The method according to any one of claims 1-4 is characterized in that the first business is autonomous positioning and navigation, the multiple algorithm modules in the algorithm to be tested include a mapping module, a positioning module, and a navigation module, and the output data of the mapping module is used as input data of the positioning module and the navigation module.
  6. 根据权利要求5所述的方法,其特征在于,所述测试策略包括在所述建图模块测试通过之后,所述定位模块和所述导航模块并行测试;The method according to claim 5, characterized in that the test strategy includes testing the positioning module and the navigation module in parallel after the mapping module is tested;
    在所述建图模块测试通过之后,按照所述测试策略,确定测试模块为所述定位模块和所述导航模块。After the mapping module test passes, according to the test strategy, the test modules are determined to be the positioning module and the navigation module.
  7. 根据权利要求5所述的方法,其特征在于,所述测试策略包括在所述建图模块和所述导航模块测试通过之后,所述建图模块和所述导航模块的组合模块进行测试;The method according to claim 5, characterized in that the test strategy includes testing a combination module of the mapping module and the navigation module after the mapping module and the navigation module are tested;
    在所述建图模块和所述导航模块测试通过之后,按照所述测试策略,确定测试模块为所述建图模块和所述导航模块的组合模块。After the mapping module and the navigation module pass the test, according to the test strategy, the test module is determined to be a combination module of the mapping module and the navigation module.
  8. 根据权利要求5所述的方法,其特征在于,所述测试策略包括在所述建图模块、所述定位模块和所述导航模块测试通过之后,所述建图模块、所述定位模块和所述导航模块的组合模块进行测试;The method according to claim 5, characterized in that the test strategy includes testing a combination module of the mapping module, the positioning module and the navigation module after the mapping module, the positioning module and the navigation module are tested;
    在所述建图模块、所述定位模块和所述导航模块测试通过之后,按照所述测试策略,确定测试模块为所述建图模块、所述定位模块和所述导航模块的组合模块。After the mapping module, the positioning module and the navigation module are tested and passed, according to the test strategy, the test module is determined to be a combination module of the mapping module, the positioning module and the navigation module.
  9. 一种测试装置,其特征在于,所述装置包括:A testing device, characterized in that the device comprises:
    加载单元,用于加载第一业务的待测试算法,所述第一业务的待测试算法包括多个算法模块,所述多个算法模块的输入输出之间存在关联;A loading unit, used to load an algorithm to be tested of a first service, wherein the algorithm to be tested of the first service includes a plurality of algorithm modules, and inputs and outputs of the plurality of algorithm modules are associated with each other;
    第一确定单元,用于根据测试策略,在所述待测试算法的多个算法模块中确定测试模块,所述测试模块包括所述待测试算法的多个算法模块中的部分算法模块;A first determining unit, configured to determine a test module from among the multiple algorithm modules of the algorithm to be tested according to a test strategy, wherein the test module includes some of the multiple algorithm modules of the algorithm to be tested;
    第二确定单元,确定所述测试模块对应的基准输入和基准输出;A second determining unit, determining a reference input and a reference output corresponding to the test module;
    第一输出单元,用于将所述基准输入数据输入所述测试模块,得到所述测试模块输出的测试输出数据;A first output unit, used for inputting the reference input data into the test module to obtain test output data output by the test module;
    第三确定单元,用于当所述测试输出数据与所述基准输出数据一致时,确定所述测试模块测 试通过。The third determining unit is used to determine that the test module test data is consistent with the reference output data. Try to pass.
  10. 根据权利要求9所述的装置,其特征在于,还包括:The device according to claim 9, further comprising:
    第四确定单元,用于根据所述多个算法模块的运行流程,确定所述测试策略。The fourth determining unit is used to determine the test strategy according to the operation process of the multiple algorithm modules.
  11. 根据权利要求9或10所述的装置,其特征在于,所述测试策略包括以下至少一项:The device according to claim 9 or 10, characterized in that the test strategy includes at least one of the following:
    所述多个算法模块中各个算法模块并列测试;Each algorithm module in the multiple algorithm modules is tested in parallel;
    在所述多个算法模块中的目标算法模块测试通过之后,所述多个算法模块中的其他算法模块并列测试;After a target algorithm module among the multiple algorithm modules passes the test, other algorithm modules among the multiple algorithm modules are tested in parallel;
    所述多个算法模块中至少两个算法模块进行组合测试。At least two algorithm modules among the multiple algorithm modules are tested in combination.
  12. 根据权利要求9-11中任一项所述的装置,其特征在于,所述第二确定单元用于:The device according to any one of claims 9 to 11, wherein the second determining unit is used to:
    将样本数据输入到所述第一业务的基准算法中,确定所述测试模块对应的基准输入数据和基准输出数据,其中,所述基准算法中的多个算法模块与所述待测试算法中的多个算法模块一一对应。Input sample data into a benchmark algorithm of the first business to determine benchmark input data and benchmark output data corresponding to the test module, wherein multiple algorithm modules in the benchmark algorithm correspond one-to-one to multiple algorithm modules in the algorithm to be tested.
  13. 根据权利要求9-12中任一项所述的装置,其特征在于,所述第一业务是自主定位导航,所述待测试算法中多个算法模块包括建图模块,定位模块,及导航模块,所述建图模块的输出数据作为所述定位模块和所述导航模块的输入数据。The device according to any one of claims 9 to 12 is characterized in that the first service is autonomous positioning and navigation, the multiple algorithm modules in the algorithm to be tested include a mapping module, a positioning module, and a navigation module, and the output data of the mapping module is used as input data of the positioning module and the navigation module.
  14. 根据权利要求12所述的装置,其特征在于,所述测试策略包括在所述建图单元测试通过之后,所述定位单元和所述导航单元并行测试;The device according to claim 12, characterized in that the test strategy includes testing the positioning unit and the navigation unit in parallel after the mapping unit is tested;
    所述第一确定单元用于在所述建图单元测试通过之后,按照所述测试策略,确定测试节点为所述定位单元和所述导航单元。The first determination unit is used to determine the test nodes as the positioning unit and the navigation unit according to the test strategy after the mapping unit test passes.
  15. 根据权利要求12所述的装置,其特征在于,所述测试策略包括在所述建图模块和所述导航模块测试通过之后,所述建图模块和所述导航模块的组合模块进行测试;The device according to claim 12, characterized in that the test strategy includes testing a combination module of the mapping module and the navigation module after the mapping module and the navigation module are tested;
    所述第一确定单元用于在所述建图模块和所述导航模块测试通过之后,按照所述测试策略,确定测试模块为所述建图模块和所述导航模块的组合模块。The first determining unit is used to determine, after the mapping module and the navigation module are tested and passed, according to the test strategy, that the test module is a combination module of the mapping module and the navigation module.
  16. 根据权利要求12所述的装置,其特征在于,所述测试策略包括在所述建图模块、所述定位模块和所述导航模块测试通过之后,所述建图模块、所述定位模块和所述导航模块的组合模块进行测试;The device according to claim 12, characterized in that the test strategy includes testing a combination module of the mapping module, the positioning module and the navigation module after the mapping module, the positioning module and the navigation module are tested;
    在所述建图模块、所述定位模块和所述导航模块测试通过之后,按照所述测试策略,确定测试模块为所述建图模块、所述定位模块和所述导航模块的组合模块。After the mapping module, the positioning module and the navigation module are tested and passed, according to the test strategy, the test module is determined to be a combination module of the mapping module, the positioning module and the navigation module.
  17. 一种测试装置,其特征在于,包括:A testing device, characterized by comprising:
    存储器,用于存储计算机程序;Memory for storing computer programs;
    处理器,用于执行所述存储器中存储的计算机程序,以使得所述装置执行如权利要求1-8中任一项所述的方法。A processor, configured to execute the computer program stored in the memory, so that the apparatus performs the method according to any one of claims 1 to 8.
  18. 一种电子装置,其特征在于,所述电子装置包括:一个或多个处理器;以及存储器,所述存储器中存储有代码;当所述代码被所述处理器执行时,使得所述电子装置执行如权利要求1-8任一项所述的方法。An electronic device, characterized in that the electronic device comprises: one or more processors; and a memory, wherein the memory stores codes; when the codes are executed by the processor, the electronic device executes the method as described in any one of claims 1-8.
  19. 一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子装置上运行时,使得所述电子装置执行如权利要求1-8任一项所述的方法。 A computer-readable storage medium, characterized in that it includes computer instructions, and when the computer instructions are executed on an electronic device, the electronic device executes the method according to any one of claims 1 to 8.
PCT/CN2023/103496 2022-10-31 2023-06-28 Test method and apparatus WO2024093298A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211344929.7A CN117992322A (en) 2022-10-31 2022-10-31 Test method and device
CN202211344929.7 2022-10-31

Publications (1)

Publication Number Publication Date
WO2024093298A1 true WO2024093298A1 (en) 2024-05-10

Family

ID=90894915

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/103496 WO2024093298A1 (en) 2022-10-31 2023-06-28 Test method and apparatus

Country Status (2)

Country Link
CN (1) CN117992322A (en)
WO (1) WO2024093298A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108776640A (en) * 2018-05-07 2018-11-09 深圳壹账通智能科技有限公司 Distributed test method, device, computer equipment and storage medium
US20200409827A1 (en) * 2019-06-28 2020-12-31 Wipro Limited Method and system for automating generation of test data and associated configuration data for testing
CN113704117A (en) * 2021-08-31 2021-11-26 北京三快在线科技有限公司 Algorithm testing system, method and device
CN114840422A (en) * 2022-04-29 2022-08-02 中国电信股份有限公司 Test method, test device, electronic equipment and storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108776640A (en) * 2018-05-07 2018-11-09 深圳壹账通智能科技有限公司 Distributed test method, device, computer equipment and storage medium
US20200409827A1 (en) * 2019-06-28 2020-12-31 Wipro Limited Method and system for automating generation of test data and associated configuration data for testing
CN113704117A (en) * 2021-08-31 2021-11-26 北京三快在线科技有限公司 Algorithm testing system, method and device
CN114840422A (en) * 2022-04-29 2022-08-02 中国电信股份有限公司 Test method, test device, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN117992322A (en) 2024-05-07

Similar Documents

Publication Publication Date Title
JP6607565B2 (en) Integrated automated test case generation for safety critical software
US11055210B2 (en) Software test equipment and software testing method
CN108460199B (en) CNI modeling system
CN108984403A (en) The verification method and device of FPGA logical code
Ahmad et al. Analysis of the Petri net model of parallel manufacturing processes with shared resources
CN109710247A (en) A kind of flying-controlled box based on model fast implements platform
CN106980571A (en) The construction method and equipment of a kind of test use cases
US20190385082A1 (en) Information processing device, information processing method, and program recording medium
US9864004B1 (en) System and method for diagnosing failure locations in electronic circuits
CN116821001B (en) Verification method and device of input/output subsystem, electronic equipment and medium
CN107391334A (en) Digital simulation method based on complete autonomous Row control
CN109977012A (en) Joint debugging test method, device, equipment and the computer readable storage medium of system
El Mandouh et al. Application of machine learning techniques in post-silicon debugging and bug localization
Dahmen et al. Simulation-based verification with experimentable digital twins in virtual testbeds
WO2024093298A1 (en) Test method and apparatus
Ubar et al. Structural fault collapsing by superposition of BDDs for test generation in digital circuits
CN105512372B (en) The data processing onboard emulation test method of modelling
Badithela et al. Synthesizing reactive test environments for autonomous systems: testing reach-avoid specifications with multi-commodity flows
CN106294106A (en) The method of testing of Web application system and device
Zamansky et al. Helping the tester get it right: Towards supporting agile combinatorial test design
CN106529061A (en) Method and system for evaluating aircraft
Deniz et al. An empirical study of software reuse and quality in an industrial setting
CN111695253B (en) Site test method, device and equipment in automatic driving and storage medium
Eggersglüß Towards complete fault coverage by test point insertion using optimization-sat techniques
Sondermann et al. Simulation-based engineering with hybrid testbeds