Test method, device, and server

By obtaining the test case collection and version labels of the algorithm software, determining the test vector, comparing the test output data with the expected data, and generating a test report, the problem of low testing efficiency of existing software is solved, and automated testing is realized, which improves efficiency and reduces costs.

CN114116497BActive Publication Date: 2025-08-29GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111446180.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-29
Publication Date
2025-08-29
Estimated Expiration
2041-11-29

AI Technical Summary

Technical Problem

The existing software testing methods are inefficient, have long time periods and high cost, and need to improve the level of automated testing.

Method used

By obtaining the test case collection and version labels of the algorithm software, determining the test vector, comparing the test output data with the expected data, generating a test report, and realizing automated testing.

Benefits of technology

Improves software testing efficiency, shortens test time cycles, and reduces test costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114116497B_ABST
    Figure CN114116497B_ABST
Patent Text Reader

Abstract

The present application discloses a testing method, device, and server; the method includes: obtaining a first test case and a version label of an algorithm software in a test case set; determining a test vector for the first test case based on the version label of the algorithm software, the test vector including a first test vector and a second test vector; determining test output data of the software to be tested based on the first test vector; comparing the test output data with the second test vector to perform data verification, and obtaining a test report for the first measurement case, thereby realizing automated testing of the software to be tested, thereby improving software testing efficiency, shortening software testing time cycle, and reducing software testing costs.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of software testing, and specifically to a testing method and device, and a server. Background Art

[0002] Currently, software testing methods typically involve manual testing or running simple scripts, followed by recording the test results. For example, after designing a test case and passing a review, testers must execute the test step by step according to the procedures described in the test case to obtain actual test results and compare them with the expected results. However, further research is needed to improve software testing efficiency, shorten software testing cycles, and reduce software testing costs. Summary of the Invention

[0003] The embodiments of the present application provide a testing method, device, and server in the hope of realizing automated testing of the software to be tested, thereby improving software testing efficiency, shortening software testing cycle, and reducing software testing costs.

[0004] The first aspect is a testing method of the present application, comprising:

[0005] Obtaining the first test case in the test case set and the version tag of the algorithm software;

[0006] Determining a test vector for the first test case according to a version tag of the algorithm software, the test vector comprising a first test vector and a second test vector;

[0007] Determining test output data of the software to be tested according to the first test vector;

[0008] The test output data and the second test vector are compared to perform data verification, and a test report for the first measurement case is obtained.

[0009] It can be seen that the present application completes the traversal of large-scale testing through a set of test cases, determines the first test vector and the second test vector through the version label of the algorithm software to ensure synchronous testing, test correctness and reliability, and finally compares the actual test output data of the software to be tested with the second test vector (i.e., the ideal test output data) to perform data verification and generate a test report, so as to judge whether the various functions of the software to be tested meet the expected requirements through the test report, realize automated testing of the software to be tested, thereby improving software testing efficiency, shortening software testing cycle, and reducing software testing costs.

[0010] The second aspect is a testing device of the present application, comprising:

[0011] An acquiring unit, configured to acquire a first test case in a test case set and a version tag of the algorithm software;

[0012] a determining unit, configured to determine a test vector for the first test case according to the version tag of the algorithm software, the test vector comprising a first test vector and a second test vector, and determine test output data of the software to be tested according to the first test vector;

[0013] A comparing unit is used to compare the test output data and the second test vector to obtain a test report for the first measurement case.

[0014] The third aspect is a server of the present application, comprising a processor, a memory, and a computer program or instructions stored on the memory, wherein the processor executes the computer program or instructions to implement the steps in the method designed in the first aspect above.

[0015] It can be seen that by leveraging the computing advantages of the server to achieve automated testing of the software to be tested, the software testing efficiency can be further improved, the software testing cycle can be shortened, and the software testing cost can be reduced.

[0016] The fourth aspect is a computer-readable storage medium of the present application, which stores a computer program or instructions, and when the computer program or instructions are executed, the steps in the method designed in the first aspect are implemented.

[0017] The fifth aspect is a computer program product of the present application, comprising a computer program or instructions, wherein when the computer program or instructions are executed, the steps in the method designed in the first aspect are implemented. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art.

[0019] Figure 1 This is a block diagram of the functional modules of a test platform according to an embodiment of the present application;

[0020] Figure 2 It is a flow chart of a measurement method implemented in this application;

[0021] Figure 3 This is an implementation flow chart between the software to be tested, the test platform and the algorithm software implemented in this application;

[0022] Figure 4 It is a flow chart of another measuring method implemented in this application;

[0023] Figure 5This is a block diagram of the functional units of a method measurement device according to an embodiment of the present application;

[0024] Figure 6 It is a structural diagram of a server in an embodiment of the present application. DETAILED DESCRIPTION

[0025] In order to better understand the technical solutions of this application by those skilled in the art, the technical solutions in the embodiments of this application are described below in conjunction with the drawings in the embodiments of this application. Obviously, the described embodiments are only part of the embodiments of this application, not all of them. With respect to the embodiments in this application, all other embodiments obtained by those skilled in the art without making creative efforts are within the scope of protection of this application.

[0026] It should be understood that the terms "first," "second," and the like in the embodiments of the present application are used to distinguish between different objects, rather than to describe a specific order. In addition, the terms "including," "having," and any variations thereof, are intended to cover non-exclusive inclusions. For example, a process, method, software, product, or device that includes a series of steps or units is not limited to the listed steps or units, but may also include steps or units that are not listed, or may include other steps or units inherent to these processes, methods, products, or devices.

[0027] The term "embodiment" as used in the embodiments of this application means that a particular feature, structure, or characteristic described in conjunction with the embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various locations in the specification does not necessarily refer to the same embodiment, nor does it refer to independent or alternative embodiments that are mutually exclusive with other embodiments. It is understood, both explicitly and implicitly, by those skilled in the art that the embodiments described herein may be combined with other embodiments.

[0028] In the embodiments of the present application, "at least one" refers to one or more, and "a plurality" refers to two or more.

[0029] In the embodiments of the present application, the term "and / or" describes the relationship between associated objects, indicating that three possible relationships exist. For example, "A and / or B" can represent the following three situations: A exists alone, A and B exist at the same time, and B exists alone. A and B can be singular or plural. The character " / " can indicate that the associated objects are in an "or" relationship. In addition, the symbol " / " can also represent a division sign, that is, performing a division operation.

[0030] In the embodiments of the present application, "at least one of the following" or similar expressions refers to any combination of these items, including any combination of single items or multiple items. For example, at least one of a, b, or c can represent the following seven situations: a, b, c, a and b, a and c, b and c, a, b, and c. Each of a, b, and c can be an element or a set containing one or more elements.

[0031] Currently, software testing methods typically use manual testing or running simple scripts to perform testing, and then record the test results. For example, after designing a test case and passing the review, the tester needs to perform the test step by step according to the procedures described in the test case to obtain the actual test results and compare them with the expected results. In order to improve software testing efficiency, shorten software testing time cycle, reduce software testing costs, etc., the present application embodiment considers the use of software automation testing.

[0032] The technical solutions and related concepts involved in the embodiments of the present application are described in detail below.

[0033] 1. Test Case

[0034] A test case is a description of a test task for a specific software, reflecting the test plan, method, technique and strategy.

[0035] The content of a test case includes the test objectives, test environment, input data, test steps, expected results, test scripts, etc., which are ultimately documented. Simply put, a test case is a set of test inputs, execution conditions, and expected results compiled for a specific goal to verify whether a specific software requirement is met.

[0036] 2. Software under test

[0037] It should be noted that the software to be tested can be understood as the software that needs to be tested, wherein the software can be any software program run by an operating system, a processor, an electronic device, a server, etc.

[0038] (1) Operating system

[0039] In the embodiment of the present application, the operating system can be an Android operating system, an RTOS (real-time operating system) operating system, a UNIX operating system, a Linux operating system, an 1DOS operating system, a Windows operating system, a Mac operating system, etc.

[0040] (2) Processor

[0041] In an embodiment of the present application, the processor may include one or more processing units. For example, the processor may include at least one of a central processing unit (CPU), an application processor (AP), a microcontroller unit (MCU), a single chip microcomputer (SCM), a single chip microcomputer, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a digital signal processor (DSP), a field programmable gate array (FPGA), an application-specific integrated circuit (ASIC), a baseband processor, and a neural network processing unit (NPU). Among them, different processing units can be separated or integrated together.

[0042] The processor may also be provided with a memory for storing instructions and data. Optionally, the processor may call a program stored in the memory to run an operating system. Optionally, the memory in the processor may store or cache instructions that the processor has just used or is reusing. If the processor needs to use the instruction or data again, it may call it directly from the memory, thereby avoiding repeated access, reducing the processor's waiting time, and improving system efficiency. Optionally, the memory in the processor may also store or cache data, and synchronize or transmit the data to other processors for execution. The memory in the processor may be a cache memory.

[0043] The processor may further include one or more communication interfaces. The communication interface may include at least one of a serial peripheral interface (SPI), an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, a universal serial bus (USB) interface, and the like.

[0044] (3) Electronic equipment

[0045] In the embodiment of the present application, the electronic device may be a handheld device, a vehicle-mounted device, a wearable device, an augmented reality (AR) device, a virtual reality (VR) device, a projection device, a projector, or other devices connected to a wireless modem, or may be various specific forms of user equipment (UE), terminal device, terminal, mobile phone, smart screen, smart TV, smart watch, laptop computer, smart speaker, camera, game controller, microphone, station (STA), access point (AP), mobile station (MS), personal digital assistant (PDA), personal computer (PC) or relay device, etc.

[0046] Specifically, the electronic device may be a wearable device. Among them, the wearable device may also be called a smart wearable device, which is a general term for smart devices that are intelligently designed and developed for daily wear using wearable technology, such as glasses, gloves, watches, bracelets, clothing, shoes, etc. Wearable devices are portable devices that can be worn directly on the body or integrated into the user's clothing or accessories. Wearable devices can be equipped with not only dedicated hardware architectures, but also dedicated software architectures for data interaction, cloud interaction, etc. In addition, wearable smart devices may not rely on other smart devices to achieve complete or partial functions, such as smart watches, smart glasses, etc., or they may only focus on certain application functions and need to be used in conjunction with other smart devices, such as various smart bracelets and smart jewelry for vital sign monitoring.

[0047] (4) Server

[0048] The server in the embodiment of the present application may be various servers for providing reliability assessment functions for autonomous vehicle platooning, Internet of Vehicles cloud platforms, Internet of Vehicles servers, Internet of Things devices, data center network devices, cloud computing devices, computers supporting the 802.11 protocol, network devices supporting 5G systems, and network devices in future evolved public land mobile communication networks (public land mobile networks, PLMNs), etc., and the embodiment of the present application does not impose specific restrictions.

[0049] In the embodiment of the present application, the server can be a cloud server, an Internet of Things server, a web server, an application server, a load balancer (Nginx), a data center network device, a personal computer (PC), a computing device, a network device in a 5G system, and a network device in a future evolved public land mobile network (PLMN), etc., without specific limitation.

[0050] (5) Firmware (FW)

[0051] Firmware can be a type of software (or program) embedded in a hardware device, and can be a program written into erasable programmable read-only memory (EPROM) or electrically erasable programmable read-only memory (EEPROM).

[0052] In the embodiment of the present application, the software to be tested may be firmware running on the above-mentioned processor, electronic device or server.

[0053] For example, the software to be tested is firmware running on an MCP or a DSP.

[0054] Furthermore, the firmware can run the physical layer control module, can perform process control on the entire physical layer system, can configure and start the hardware (Hardware, HW), and can be programmable.

[0055] Among them, the physical layer control module can calculate the logical function parameters in the uplink physical channels (such as the physical uplink shared channel PUSCH, the uplink physical control channel PUCCH, the physical random access channel PRACH and SRS), and can calculate the logical function parameters in the downlink physical channels (such as the physical downlink control channel PDCCH, the physical downlink shared channel PDSCH, the physical broadcast channel PBCH), and process signaling messages from higher layers (such as the radio resource control RRC layer and the medium access control MAC layer).

[0056] It should be noted that the starting point of physical layer processing is the transport block (TB) passed down by the MAC layer, and the end point is to generate a baseband signal, which is then converted into a radio frequency signal and transmitted through the antenna.

[0057] The physical layer processing may involve cyclic redundancy checking (CRC), channel coding, rate matching, scrambling, modulation, layer mapping, sequence generation, precoding, and resource mapping. Therefore, the various processes involved in this process are mathematically called the calculation of logical function parameters, which are divided into logical function parameters in the uplink physical channel and logical function parameters in the downlink physical channel.

[0058] In addition, after software development is complete, the physical layer control module (or the module / unit / device / server / electronic device installed with the firmware) needs to undergo unit testing of its logic function parameters. These logic function parameters must then be serially connected to perform channel link-level functional testing. The essence of this functional testing is to verify whether the physical layer control module (or the module / unit / device / server / electronic device installed with the firmware) processes data in accordance with the 3GPP standard protocols and whether its physical layer processing flow is consistent with those specified in the 3GPP standard protocols.

[0059] Since various logic function parameters are very complex, the embodiments of the present application require sufficient testing and verification when testing the software to be tested to ensure the correctness of the test results.

[0060] 3. How to obtain a test case collection

[0061] It should be noted that the embodiment of the present application can select test cases according to the functions to be implemented by the software to be tested to obtain a test case set, thereby completing the traversal of large-scale testing through the test case set.

[0062] For example, when it is necessary to test the firmware running on the processor, and the firmware needs to implement various functions of the logical function parameters in the uplink physical channel, since the various functions include CRC, channel coding, rate matching, scrambling, modulation, layer mapping, sequence generation, precoding, resource mapping, etc., the embodiment of the present application can select test cases according to various functions, that is, some test cases are used to test the CRC function, some test cases are used to test the adjustment function, some test cases are used to test the precoding function, etc., thereby forming these test cases into a set to obtain a test case set.

[0063] 4. Algorithm software

[0064] (1) Definition

[0065] It should be noted that in order to test the software to be tested, the embodiment of the present application needs to provide a reference / standard / expected test vector, which is compared with the output data of the software to be tested to determine whether the software to be tested is erroneous or meets the requirements.

[0066] Therefore, the algorithm software of the embodiment of the present application can be used to provide the reference / standard / expected test vector. In other words, the software / platform / unit / device / equipment that can provide the reference / standard / expected test vector can be called algorithm software.

[0067] (2) Test vector

[0068] In the embodiment of the present application, the test vector can be data used for test comparison and generated by algorithm software. The test vector can include an input test vector (such as the first test vector of the present application) and an output test vector (such as the second test vector of the present application).

[0069] The input test vector can be used to determine the test output data of the software under test. The details are explained below.

[0070] The output test vector can be used to compare with the test output data to obtain a test report. Detailed description is given below.

[0071] It should be noted that when it is necessary to perform functional testing on the various functions of the software to be tested, this application introduces an input test vector, which can be regarded as the input of the software to be tested, and the various functions of the software to be tested perform functional testing according to the input test vector to output actual test output data.

[0072] When it is necessary to determine whether the various functions of the software to be tested meet the expected requirements, this application introduces an output test vector, which can be regarded as ideal test output data.

[0073] Therefore, the present application can perform data verification by comparing the actual test output data with the ideal test output data, thereby determining whether the various functions of the software to be tested meet the expected requirements.

[0074] (3) Algorithm software

[0075] In an embodiment of the present application, the algorithm software can be run or stored on the above-mentioned processor / electronic device / server.

[0076] For example, the algorithm software may be stored in the memory of the aforementioned processor / electronic device / server.

[0077] 5. Version tag

[0078] It should be noted that for a software, it is usually necessary to first add a version tag in the version library, so that the version of the software at the time of tagging can be uniquely determined through the version tag.

[0079] In an embodiment of the present application, the version label may include the version label of the software to be tested and the version label of the algorithm software.

[0080] It should be noted that, in the embodiment of the present application, the version label of the software to be tested and the version label of the algorithm software can be obtained by calling or configuring (such as through a script).

[0081] 6. Code Review Tools

[0082] Code review is a systematic examination of source code during the software development process. The goal is to improve code quality, identify systemic defects, ensure overall software quality, and enhance developer skills. It is a quality assurance mechanism used to confirm solution designs and code implementations. Code review tools automate the code review process and facilitate static code analysis.

[0083] The code review tool may include at least one of Review Assistant, Reshift, Gerrit, Codestriker, Phabricator, Crucible, Review Board, Reviewable, Codacy, Veracode, JArchitect, etc.

[0084] Review Assistant is a Visual Studio extension that helps you create review requests and respond to them without leaving the integrated development environment (IDE).

[0085] Reshift is a SaaS (Software-as-a-Service) software platform that helps software development teams identify more vulnerabilities in their code faster before deploying it to production environments.

[0086] Gerrit is an open source lightweight tool and a web code review tool built based on the Git version control system.

[0087] Codestriker is an open source online source code review web application that can be used to record issues, comments, and decisions in a database.

[0088] Phabricator is an open source source code scanner that includes web-based lightweight code review, planning, testing, bug discovery and other functions.

[0089] Crucible is a web-based code quality tool that can be used for code review, bug and defect discovery, change discussion and knowledge sharing. It can help capture major defects and improve code architecture.

[0090] Review Board is a secure code review tool that can be used for code review and document review in open source projects and companies.

[0091] Reviewable is a lightweight, powerful code analysis tool that makes code reviews faster and more comprehensive, improving code quality through user interface cleanup, bug detection, and syntax highlighting.

[0092] Codacy can automatically identify problems through static code analysis, and can quickly tell users about security issues, code duplication, and code complexity in every pull and commit request.

[0093] Veracode is a code review and static analysis tool built on a SaaS model.

[0094] JArchitect is an easy-to-use code review tool that can be used to analyze Java code, improve code maintainability, and send a project development-related report after each review.

[0095] In an embodiment of the present application, the code review tool can be used to maintain the version label of the software to be tested and the version label of the algorithm software, that is, the version label of the software to be tested and the version label of the algorithm software are maintained by the code review tool.

[0096] It should be noted that the code review tool maintains the version tag, which can be understood as the code review tool uploading, downloading, obtaining, configuring, updating, deleting, saving, modifying, and other operations on the version tag.

[0097] In addition, the code review tool can run on the above-mentioned processor / server / electronic device.

[0098] 7. Test platform

[0099] In an embodiment of the present application, the test platform can perform automated testing on the software to be tested, which can be implemented in the form of hardware, software, or a combination of software and hardware.

[0100] In some possible designs, the test platform can run on the above-mentioned processor / electronic device / server.

[0101] In some possible designs, the test platform may have functions such as maintaining version labels, maintaining test cases, configuring the software to be tested, obtaining test vectors, comparing test data, generating test reports, printing test information, and archiving test records.

[0102] It should be noted that the test platform includes modules corresponding to the functions in the software automation testing process to implement each function. For example, each function can be divided into modules, or two or more functions can be integrated into one module.

[0103] Each module of the test platform can be implemented in the form of hardware, software, or a combination of software and hardware. Each module can be a separate / independent module or integrated together. In addition, the division of the modules of the test platform in the embodiment of the present application is schematic and is a logical functional division. In actual implementation, other division methods may be used.

[0104] The following is an exemplary description of each module of the test platform.

[0105] like Figure 1As shown, the test platform 10 includes a test case maintenance module 110, a version label maintenance module 120, a test vector acquisition module 130, a software configuration module 140, a test information printing module 150, a test data comparison module 160, a test report generation module 170 and a test record archiving module 180.

[0106] (1) Test case maintenance module 110

[0107] The test case maintenance module 110 can be used to maintain the above test case set and perform maintenance on the test cases.

[0108] Maintaining test cases can be understood as acquiring, configuring, updating, deleting, saving, and modifying test cases.

[0109] (2) Version label maintenance module 120

[0110] The version label maintenance module 120 can be used to maintain the version label of the software to be tested and the version label of the algorithm software.

[0111] Maintaining version tags can be understood as uploading, downloading, obtaining, configuring, updating, deleting, saving, and modifying version tags.

[0112] It should be noted that the embodiment of the present application helps to ensure synchronous testing and synchronous upgrading of the software to be tested and the algorithm software by maintaining the version labels of the software to be tested and the version labels of the algorithm software, thereby ensuring the correctness and reliability of the test.

[0113] (3) Test vector acquisition module 130

[0114] The test vector acquisition module 130 can be used to acquire test vectors generated by algorithm software, and the test vectors include input test vectors and output test vectors.

[0115] It should be noted that the test platform and the algorithm software may run on different processors / servers / electronic devices. Therefore, the embodiment of the present application can configure the executable file through the test vector acquisition module 130 to obtain the test vectors generated by the algorithm software. The executable file can be generated by the code review tool based on the version tag of the algorithm software.

[0116] (4) Software configuration module 140

[0117] The software under test configuration module 140 may be configured to generate a configuration message according to an input test vector, and the configuration message is used to configure the software under test.

[0118] Configuring the software to be tested can be understood as obtaining the running status of the software to be tested, starting the software to be tested to run (work), obtaining output test data of the software to be tested, etc.

[0119] It should be noted that the test platform and the software to be tested may run on different processors / servers / electronic devices. Therefore, the embodiment of the present application can use the software to be tested configuration module 140 to generate a configuration message based on the input test vector, and send the configuration message to the software to be tested, so as to obtain the running status of the software to be tested, start the software to be tested to run (work), obtain the output test data of the software to be tested, etc. through the configuration message.

[0120] In addition, the software to be tested configuration module 140 is used to facilitate the test platform to simulate a real test process to configure the software to be tested, making the entire test process more realistic and accurate.

[0121] (5) Test information printing module 150

[0122] The test information printing module 150 can be used to print the test information of key nodes in the test process, so as to quickly locate and track test results, error results, error problems, etc., and check the test status, etc.

[0123] (6) Test data comparison module 160

[0124] The test data comparison module 160 can be used to obtain the test output data of the software to be tested and compare the test output data with the output test vector to perform data verification, wherein the data verification can be binary data comparison and verification.

[0125] (7) Test report generation module 170

[0126] The test report generating module 170 may be configured to generate a test report according to the comparison result between the test output data and the output test vector, so as to facilitate arbitration of the comparison result.

[0127] (8) Test record archiving module 180

[0128] The test record archiving module 180 can be used to uniformly archive version labels, test cases, test vectors, test reports, etc. during the test process for easy tracking and viewing.

[0129] 8. Software Automation Testing

[0130] In combination with the above description, the embodiment of the present application can use software automation testing to test the software to be tested, so as to improve software testing efficiency, shorten software testing cycle, and reduce software testing costs.

[0131] The steps of the software automated testing are as follows:

[0132] Step 1: After the test starts, the test platform can obtain the test case collection.

[0133] It should be noted that the test platform can select test cases according to the functions to be implemented by the software to be tested to obtain a test case set, thereby completing the traversal of large-scale testing through the test case set.

[0134] For example, when it is necessary to test the firmware running on the processor, and the firmware needs to implement various functions of the logical function parameters in the uplink physical channel, since the various functions include CRC, channel coding, rate matching, scrambling, modulation, layer mapping, sequence generation, precoding, resource mapping, etc., the embodiment of the present application can select test cases according to various functions, that is, some test cases are used to test the CRC function, some test cases are used to test the adjustment function, some test cases are used to test the precoding function, etc., thereby forming these test cases into a set to obtain a test case set.

[0135] In addition, during the testing process, the test platform needs to select a test case from the test case collection in turn to execute the following steps, and after execution, select the next test case and execute the following steps again, and so on, until the last test case, so as to complete the entire test process.

[0136] Step 2: The test platform can obtain the version label of the software to be tested and the version label of the algorithm software.

[0137] It should be noted that since the test platform and the software to be tested and the algorithm software may run on different processors / servers / electronic devices, the test platform can obtain the version label of the software to be tested and the version label of the algorithm software by calling or configuring (such as through a script).

[0138] In addition, the test platform can use the version tag of the software to be tested to download / obtain / configure / call the relevant configuration files required by the software to be tested, such as the operating environment, functions, variables or instructions.

[0139] Similarly, the test platform can use the version label of the algorithm software to download / obtain / configure / call the relevant configuration files required by the algorithm software, such as the operating environment, functions, variables or instructions.

[0140] At the same time, the test platform can ensure the synchronous testing and synchronous upgrading of the software to be tested and the algorithm software by maintaining the version labels of the software to be tested and the algorithm software, thereby ensuring the correctness and reliability of the test.

[0141] Step 3: The code review tool can compile the algorithm project online according to the algorithm version tag to generate an executable file.

[0142] It should be noted that the test platform can control (maintain) the version labels of the software to be tested and the version labels of the algorithm software through code review tools, and monitor the version test status by controlling (maintaining) the version labels to ensure the correctness and reliability of the test.

[0143] In addition, the test platform can control the code acceptance criteria on the code review tool to ensure the correctness of the code and improve the reliability of the code.

[0144] Step 4: The test platform may configure the executable file to determine the test vector for the test case generated by the algorithm software, and the test vector may include an input test vector and an output test vector.

[0145] It should be noted that the test platform receives the executable file from the code review tool, and obtains the input test vector and output test vector generated by the algorithm software by configuring the executable file.

[0146] Configuring the executable file can be understood as running the executable file.

[0147] Step 5: The test platform may generate a configuration message of the software under test according to the input test vector, and the configuration message is used to configure the software under test.

[0148] It should be noted that the test platform and the software to be tested may run on different processors / servers / electronic devices. Therefore, the test platform can generate a configuration message based on the input test vector and send the configuration message to the software to be tested, so as to obtain the running status of the software to be tested, start the software to be tested to run (work), obtain the output test data of the software to be tested, etc. through the configuration message, which is conducive to the test platform simulating the real test process to configure the software to be tested, making the entire test process more real and accurate.

[0149] Step 6: The software under test may perform data processing according to the configuration message to generate test output data.

[0150] It should be noted that the software to be tested can be started according to the configuration message to enter the working state, and use the configuration message as input to perform data processing according to the configuration message, and finally output test output data, and send the test output data to the test platform.

[0151] Step 7: The test platform compares the test output data with the output test vector to perform data verification and generates a test report for a single test case.

[0152] It should be noted that when it is necessary to perform functional testing on the various functions of the software to be tested, this application introduces an input test vector, which can be regarded as the input of the software to be tested, and the various functions of the software to be tested perform functional testing according to the input test vector to output actual test output data.

[0153] When it is necessary to determine whether the various functions of the software to be tested meet the expected requirements, this application introduces an output test vector, which can be regarded as ideal test output data.

[0154] Therefore, the test platform can compare the actual test output data with the ideal test output data to perform data verification, so as to determine whether the various functions of the software under test meet the expected requirements.

[0155] Step 8: The test platform analyzes whether all test cases in the test case set have been executed.

[0156] If there are any remaining test cases that have not been executed, continue to use the next test case to test the software to be tested; if all test cases have been executed, the automated testing of the software to be tested is completed, the test records are archived, and a total test report is generated, etc., to complete the test.

[0157] The following uses the code review tool Gerrit as an example to illustrate the testing method. Figure 2 As shown, the test method includes the following steps:

[0158] S201. The test platform obtains a test case set.

[0159] S203. The test platform configures the version tag of the software to be tested on Gerrit.

[0160] S205. The test platform configures the version label of the algorithm software on Gerrit.

[0161] S207. Gerrit compiles the algorithm project online according to the version tag of the algorithm software to generate an executable file.

[0162] S209: The test platform configures the executable file to obtain the input test vector and output test vector for a single test case generated by the algorithm software.

[0163] S211. The test platform generates a configuration message according to the input test vector and sends it to the software under test.

[0164] S213: The software to be tested performs data processing according to the configuration message to generate test output data.

[0165] S215. The test platform compares the test output data and the output test vector, and generates a test report for a single test case.

[0166] S217: The test platform determines whether the number of executed test cases is less than the total number of test cases in the test case set.

[0167] If yes, execute S211; if no, execute S219.

[0168] S219. The test platform archives the test records and generates a total test report.

[0169] 9. Implementation process between the software to be tested, the test platform and the algorithm software

[0170] In combination with the above description, the implementation process between the software to be tested, the test platform and the algorithm software in the embodiment of the present application is exemplarily described below. Figure 3 shown.

[0171] 1) The algorithm software runs on the algorithm subsystem, which can be a server, and is used to provide input test vectors and output test vectors to the test platform subsystem.

[0172] 2) The test platform runs on the test platform subsystem and is used to configure the software under test according to the input test vector to generate configuration information, compare the test output data with the output test vector to perform data verification and generate a test report. The test platform subsystem can be a server.

[0173] 3) The software under test runs on the FW (firmware) subsystem under test and is used to process data according to the configuration message to generate test output data. The FW subsystem under test can be an MCU / DSP.

[0174] In summary, in order to improve software testing efficiency, shorten software testing cycle, reduce software testing costs, etc., an example of a testing method of an embodiment of the present application is introduced below.

[0175] like Figure 4 FIG. 1 is a flow chart of a test method according to an embodiment of the present application, which can be applied to a test platform / processor / server / electronic device, and specifically includes the following steps:

[0176] S410: Obtain the first test case in the test case set and the version label of the algorithm software.

[0177] It should be noted that the "test case set", "algorithm software" and "version label" can be specifically described above and will not be repeated here. Among them, the first test case can be any test in the test case set, can be the last test case in the test case set, or can be other than the last test case in the test case set.

[0178] It can be seen that the traversal of large-scale testing is completed through the test case set. In addition, the version tags of the software to be tested and the version tags of the algorithm software are conducive to ensuring the synchronous testing and synchronous upgrading of the software to be tested and the algorithm software, thereby ensuring the correctness and reliability of the test.

[0179] S420 . Determine a test vector for the first test case according to the version label of the algorithm software, where the test vector includes a first test vector and a second test vector.

[0180] It should be noted that the “test vector” can be specifically described above and will not be repeated here. The first test vector can be an input test vector, and the second test vector can be an output test vector.

[0181] As for how to determine the test vector for the first test case based on the version label of the algorithm software, it can be obtained locally through the version label of the algorithm software, or it can be obtained remotely through the version label of the algorithm software.

[0182] For example, in the case of local acquisition, a search may be performed from a local memory or storage table according to the version tag of the algorithm software to obtain a test vector for the first test case.

[0183] It can be seen that adopting the local acquisition method is conducive to ensuring the efficiency and convenience of acquisition.

[0184] For another example, in the case of remote acquisition, the steps in the following designed method can be implemented by controlling the code review tool (such as remotely interacting with the server running the code review tool):

[0185] Sending a version tag of the algorithm software to a code review tool; receiving an executable file from the code review tool, wherein the executable file is generated by online compilation by the code review tool according to the version tag of the algorithm software; configuring the executable file to determine a measurement vector generated by the algorithm software for a first test case.

[0186] As can be seen, by receiving the executable file from the code review tool and configuring the executable file, the input test vectors and output test vectors generated by the algorithm software can be obtained. In addition, by controlling the code inclusion criteria in the code review tool, the correctness of the code is ensured and the reliability of the code is improved.

[0187] S430: Determine test output data of the software to be tested according to the first test vector.

[0188] It should be noted that the “software to be tested” can be specifically described above and will not be repeated here.

[0189] In addition, when it is necessary to perform functional testing on each function of the software to be tested, this application introduces a first test vector, which can be regarded as the input of the software to be tested, and each function of the software to be tested performs functional testing according to the first test vector to output actual test output data.

[0190] In some possible designs, the software under test may be firmware running on a processor.

[0191] Furthermore, the firmware can be used to perform at least one of the following: running the physical layer control module, configuring and starting the hardware; the physical layer control module can be used to perform at least one of the following: calculating the logical function parameters in the uplink physical channel, calculating the logical function parameters in the downlink physical channel, and processing signaling messages from higher layers.

[0192] In some possible designs, the version labels of the software under test and the version labels of the algorithm software can be maintained by a code review tool.

[0193] Regarding how to determine the test output data of the software to be tested according to the first test vector, the steps in the following designed method may be adopted:

[0194] A configuration message for configuring the software under test is determined according to the first test vector; the configuration message is sent to the software under test; and test output data is received from the software under test, where the test output data is generated by the software under test performing data processing according to the configuration message.

[0195] It can be seen that a configuration message is generated through the first test vector and sent to the software to be tested, so that the running status of the software to be tested can be obtained, the software to be tested can be started to run (work), the output test data of the software to be tested can be obtained, etc., which is conducive to the test platform simulating the real test process to configure the software to be tested, making the entire test process more real and accurate.

[0196] S440 : Compare the test output data with the second test vector to perform data verification, and obtain a test report for the first measurement case.

[0197] It should be noted that when it is necessary to determine whether the various functions of the software to be tested meet the expected requirements, this application introduces an output test vector, which can be regarded as ideal test output data.

[0198] It can be seen that by comparing the actual test output data with the ideal test output data to perform data verification, it is possible to determine whether each function of the software under test meets the expected requirements.

[0199] In some possible designs, after S440, the following steps in the designed method may be used:

[0200] If the first test case is the last test case in the test case set, archiving at least one of the test case set, the version label of the software to be tested, the version label of the algorithm software, the first test vector, the second test vector, and the test report; or,

[0201] If the first test case is not the last test case in the test case set, obtain the second test case in the test case set, the second test case is the next test case of the first test case, and test the software to be tested according to the second test case.

[0202] It can be seen that if there are any remaining test cases that have not been executed, the next test case will be used to test the software to be tested; if all test cases have been executed, the automated testing of the software to be tested is completed, the test records are archived, and a total test report is generated, etc., to achieve the end of the test.

[0203] The above mainly introduces the scheme of the embodiment of the present application from the perspective of the execution process of the method side. It is understandable that, in order to realize the above functions, it includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should know that, in combination with the methods, functions, modules, units or steps of each example described in the embodiment provided herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a certain method, function, module, unit or step is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described methods, functions, modules, units or steps for each specific application, but such implementation should not be considered to be beyond the scope of the present application.

[0204] The embodiments of the present application can be divided into functional units / modules according to the above-mentioned method examples. For example, each functional unit / module can be divided according to each function, or two or more functions can be integrated into one functional unit / module. The above-mentioned integrated functional units / modules can be implemented in hardware or in software programs. It should be noted that the division of functional units / modules in the embodiments of the present application is schematic and is only a logical functional division, and other division methods can be used in actual implementation.

[0205] In the case of an integrated unit, Figure 5 The test device 500 includes an acquisition unit 510 , a determination unit 520 , and a comparison unit 530 .

[0206] It should be noted that the acquisition unit 510 may be a module unit for sending and receiving signals, data, information, etc., and there is no specific limitation on this.

[0207] The determining unit 520 may be a module unit for processing signal data, information, etc., and is not particularly limited thereto.

[0208] The comparison unit 530 may be a module unit for processing signal data, information, etc., and is not particularly limited thereto.

[0209] In some possible designs, the acquisition unit 510 may include a communication unit, which may be a communication interface, a transceiver, a transceiver circuit, etc.

[0210] In some possible designs, the determination unit 520 and the comparison unit 530 may be integrated into one unit.

[0211] For example, the determination unit 520 and the comparison unit 530 can be integrated into a processing unit. The processing unit can be a processor or a controller, such as a central processing unit (CPU), a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a transistor logic device, a hardware component or any combination thereof. It can implement or execute the various exemplary logic blocks, modules and circuits described in conjunction with the disclosure of this application. The processing unit can also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc.

[0212] In some possible designs, the test device 500 may further include a storage unit for storing computer programs or instructions executed by the data test device 500. The storage unit may be a memory.

[0213] In some possible designs, the testing device 500 may be a chip / chip module / processor / server / electronic device.

[0214] In specific implementation, the acquisition unit 510, the determination unit 520, and the comparison unit 530 are used to execute the steps described in the above method embodiment, which will be described in detail below.

[0215] The acquiring unit 510 is configured to acquire the first test case in the test case set and the version tag of the algorithm software.

[0216] A determining unit 520 is configured to determine a test vector for a first test case based on a version tag of the algorithm software, the test vector including a first test vector and a second test vector, and to determine test output data of the software to be tested based on the first test vector;

[0217] The comparing unit 530 is configured to compare the test output data with the second test vector to obtain a test report for the first measurement case.

[0218] It can be seen that the present application completes the traversal of large-scale testing through a set of test cases, determines the first test vector and the second test vector through the version label of the algorithm software to ensure synchronous testing, test correctness and reliability, and finally compares the actual test output data of the software to be tested with the second test vector (i.e., the ideal test output data) to perform data verification and generate a test report, so as to judge whether the various functions of the software to be tested meet the expected requirements through the test report, realize automated testing of the software to be tested, thereby improving software testing efficiency, shortening software testing cycle, and reducing software testing costs.

[0219] It should be noted that Figure 5 The specific implementation of each operation in the embodiment can be found in the description of the method embodiment shown above, and will not be repeated here.

[0220] In some possible designs, in determining the test vector for the first test case according to the version tag of the algorithm software, the determining unit 520 is configured to:

[0221] Sending a version tag of the algorithm software to a code review tool; receiving an executable file from the code review tool, where the executable file is generated by online compilation by the code review tool based on the version tag of the algorithm software; configuring the executable file to determine a measurement vector generated by the algorithm software for a first test case.

[0222] In some possible designs, in determining the test output data of the software to be tested according to the first test vector, the determining unit 520 is configured to:

[0223] A configuration message for configuring the software under test is determined according to the first test vector; the configuration message is sent to the software under test; and test output data is received from the software under test, where the test output data is generated by the software under test performing data processing according to the configuration message.

[0224] In some possible designs, the software under test is firmware running on a processor.

[0225] In some possible designs, the firmware is configured to perform at least one of the following: running a physical layer control module, configuring and starting the hardware;

[0226] The physical layer control module is used to perform at least one of the following: calculating the logic function parameters in the uplink physical channel, calculating the logic function parameters in the downlink physical channel, and processing the signaling message from the upper layer.

[0227] In some possible designs, the version tags of the software under test and the version tags of the algorithm software are maintained by a code review tool.

[0228] In some possible designs, after obtaining the test report for the first measurement case, the testing apparatus further includes:

[0229] an archiving module, configured to archive at least one of the test case set, the version label of the software to be tested, the version label of the algorithm software, the first test vector, the second test vector, and the test report if the first test case is the last test case in the test case set; or

[0230] The acquisition unit 510 is also used to acquire the second test case in the test case set if the first test case is not the last test case in the test case set, the second test case being the next test case of the first test case, and test the software to be tested according to the second test case.

[0231] The following is a schematic diagram of the structure of a server according to an embodiment of the present application. Figure 6 The server 600 includes a processor 610 , a memory 620 , and a communication bus for connecting the processor 610 and the memory 620 .

[0232] The processor 610 may be one or more central processing units (CPUs). In the case where the processor 610 is a CPU, the CPU may be a single-core CPU or a multi-core CPU.

[0233] The memory 620 includes, but is not limited to, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM) or compact disc read-only memory (CD-ROM), and is used to store program codes executed by the server 600 and data transmitted.

[0234] The server 600 further includes a communication interface for receiving and sending data.

[0235] The processor 610 in the server 600 is used to execute the computer program or instruction 621 stored in the memory 620 to implement the steps in the following designed method: obtain the first test case and the version label of the algorithm software in the test case set; determine the test vector for the first test case according to the version label of the algorithm software, the test vector includes the first test vector and the second test vector; determine the test output data of the software to be tested according to the first test vector; compare the test output data with the second test vector for data verification, and obtain a test report for the first measurement case.

[0236] It can be seen that the present application completes the traversal of large-scale testing through a set of test cases, determines the first test vector and the second test vector through the version label of the algorithm software to ensure synchronous testing, test correctness and reliability, and finally compares the actual test output data of the software to be tested with the second test vector (i.e., the ideal test output data) to perform data verification and generate a test report, so as to judge whether the various functions of the software to be tested meet the expected requirements through the test report, realize automated testing of the software to be tested, thereby improving software testing efficiency, shortening software testing cycle, and reducing software testing costs.

[0237] In addition, the computing advantage of the server 600 is used to implement automated testing of the software to be tested, thereby further improving software testing efficiency, shortening software testing cycle, and reducing software testing costs.

[0238] It should be noted that the specific implementation of each operation performed by the server 600 can refer to the corresponding description of the method embodiment shown above, and will not be repeated here.

[0239] In some possible designs, in determining a test vector for a first test case based on a version tag of the algorithm software, the processor 610 is configured to execute a computer program or instruction 621 stored in the memory 620 to implement the steps in the following method:

[0240] Sending a version tag of the algorithm software to a code review tool; receiving an executable file from the code review tool, where the executable file is generated by online compilation by the code review tool based on the version tag of the algorithm software; configuring the executable file to determine a measurement vector generated by the algorithm software for a first test case.

[0241] In some possible designs, in determining the test output data of the software under test according to the first test vector, the processor 610 is configured to execute a computer program or instruction 621 stored in the memory 620 to implement the steps in the following method:

[0242] A configuration message for configuring the software under test is determined according to the first test vector; the configuration message is sent to the software under test; and test output data is received from the software under test, where the test output data is generated by the software under test performing data processing according to the configuration message.

[0243] In some possible designs, the software under test is firmware running on a processor.

[0244] In some possible designs, the firmware is configured to perform at least one of the following: running a physical layer control module, configuring and starting the hardware;

[0245] The physical layer control module is used to perform at least one of the following: calculating the logic function parameters in the uplink physical channel, calculating the logic function parameters in the downlink physical channel, and processing the signaling message from the upper layer.

[0246] In some possible designs, the version tags of the software under test and the version tags of the algorithm software are maintained by a code review tool.

[0247] In some possible designs, after obtaining the test report for the first measurement case, the processor 610 is configured to execute the computer program or instructions 621 stored in the memory 620 to implement the steps in the following method:

[0248] If the first test case is the last test case in the test case set, archiving at least one of the test case set, the version label of the software to be tested, the version label of the algorithm software, the first test vector, the second test vector, and the test report; or,

[0249] If the first test case is not the last test case in the test case set, obtain the second test case in the test case set, the second test case is the next test case of the first test case, and test the software to be tested according to the second test case.

[0250] An embodiment of the present application also provides a computer-readable storage medium storing a computer program or instructions, which, when executed, implements the steps in the method designed in the above embodiment.

[0251] An embodiment of the present application also provides a computer program product, including a computer program or instructions, wherein when the computer program or instructions are executed, the steps in the method designed in the above embodiment are implemented.

[0252] Exemplarily, the computer program product may be a software installation package.

[0253] It should be noted that, for the above-mentioned various embodiments, for the sake of simplicity of description, they are all expressed as a series of action combinations. Those skilled in the art should know that this application is not limited by the order of the actions described, because some steps in the embodiments of the present application can be performed in other orders or simultaneously. In addition, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions, steps, modules or units involved are not necessarily required by the embodiments of the present application.

[0254] In the above embodiments, the embodiments of the present application have different focuses on the description of each embodiment. For parts that are not described in detail in a certain embodiment, please refer to the relevant description of other embodiments.

[0255] The various devices and products described in the above embodiments include modules / units, which may be software modules / units or hardware modules / units, or may be partially software modules / units and partially hardware modules / units. For example, for each device or product that applies to or integrates a chip, each module / unit contained therein can be implemented in the form of hardware such as circuits, or at least some modules / units can be implemented in the form of software programs, which run on the integrated processor inside the chip, and the remaining modules / units can be implemented in the form of hardware such as circuits; for each device or product that applies to or integrates a chip module, each module / unit contained therein can be implemented in the form of hardware such as circuits, and different modules / units can be located in the same part of the chip module (for example, a chip, a circuit module, etc.) or in different components, and at least some / units can be implemented in the form of software programs, which run on the integrated processor inside the chip module, and the remaining modules / units can be implemented in the form of hardware such as circuits; for each device or product that applies to or integrates a terminal, the modules / units contained therein can be implemented in the form of hardware such as circuits, and different modules / units can be located in the same component (for example, a chip, a circuit module, etc.) or in different components in the terminal, or at least some modules / units can be implemented in the form of software programs, which run on the integrated processor inside the terminal, and the remaining modules / units can be implemented in the form of hardware such as circuits.

[0256] Those skilled in the art will appreciate that the methods, steps, or functions of the related modules / units described in the embodiments of the present application may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, it may be implemented in whole or in part in the form of a computer program product, or it may be implemented by a processor executing a computer program instruction. Wherein, the computer program product includes at least one computer program instruction, and the computer program instruction may be composed of corresponding software modules, which may be stored in RAM, flash memory, ROM, EPROM, EEPROM, registers, hard disks, mobile hard disks, read-only compact discs (CD-ROMs), or any other form of storage medium well known in the art. The computer program instruction may be stored in a computer-readable storage medium, or may be transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer program instruction may be transmitted from a website, computer, server, or data center to another website, computer, server, or data center by wired or wireless means. The computer-readable storage medium may be any available medium that a computer can access, or may be a data storage device such as a server or data center that includes one or more available media integrations. The available medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium, or a semiconductor medium (eg, an SSD).

[0257] The modules / units included in the various devices or products described in the above embodiments may be software modules / units, hardware modules / units, or may be partially software modules / units and partially hardware modules / units. For example, for various devices or products applied to or integrated into a chip, the modules / units included therein may all be implemented in the form of hardware such as circuits; or, some of the modules / units included therein may be implemented in the form of software programs that run on a processor integrated within the chip, while some of the modules / units (if any) may be implemented in the form of hardware such as circuits. The same applies to various devices or products applied to or integrated into a chip module, or various devices or products applied to or integrated into a terminal.

[0258] The specific implementation methods described above further illustrate the purpose, technical solutions, and beneficial effects of the embodiments of the present application. It should be understood that the above description is only a specific implementation method of the embodiments of the present application and is not intended to limit the scope of protection of the embodiments of the present application. Any modifications, equivalent replacements, improvements, etc. made on the basis of the technical solutions of the embodiments of the present application shall be included in the scope of protection of the embodiments of the present application.

Claims

1. A testing method, characterized in that: include: Obtaining the first test case in the test case set and the version tag of the algorithm software; Determining a test vector for the first test case according to a version tag of the algorithm software, the test vector comprising a first test vector and a second test vector; Determining test output data of the software to be tested according to the first test vector; The second test vector is ideal test output data for the software to be tested; Comparing the test output data with the second test vector to perform data verification, and obtaining a test report for the first test case; The determining of a test vector for the first test case according to the version label of the algorithm software includes: Sending the version label of the algorithm software to a code review tool; the code review tool is used to maintain the version label of the software to be tested and the version label of the algorithm software; Receiving an executable file from the code review tool, wherein the executable file is generated by online compilation by the code review tool according to the version label of the algorithm software; The executable file is configured to determine the test vector for the first test case generated by the algorithm software.

2. The method according to claim 1, characterized in that The determining the test output data of the software to be tested according to the first test vector includes: Determining, according to the first test vector, a configuration message for configuring the software to be tested; Sending the configuration message to the software to be tested; The test output data from the software under test is received, where the test output data is generated by the software under test performing data processing according to the configuration message.

3. The method according to claim 1, characterized in that The software to be tested is firmware running on a processor.

4. The method according to claim 3, characterized in that The firmware is configured to perform at least one of the following: running a physical layer control module, configuring and starting the hardware; The physical layer control module is used to perform at least one of the following: calculating the logic function parameters in the uplink physical channel, calculating the logic function parameters in the downlink physical channel, and processing the signaling message from the upper layer.

5. The method according to claim 1, wherein The version labels of the software to be tested and the version labels of the algorithm software are maintained by a code review tool.

6. The method according to any one of claims 1 to 5, characterized in that After obtaining the test report for the first test case, the method further includes: If the first test case is the last test case in the test case set, archiving at least one of the test case set, the version label of the software to be tested, the version label of the algorithm software, the first test vector, the second test vector, and the test report; or, If the first test case is not the last test case in the test case set, obtain the second test case in the test case set, where the second test case is the next test case of the first test case, and test the software to be tested according to the second test case.

7. A testing device, characterized in that: include: An acquiring unit, configured to acquire the first test case, the version label of the software to be tested, and the version label of the algorithm software in the test case set; a determining unit, configured to determine a test vector for the first test case according to the version tag of the algorithm software, the test vector comprising a first test vector and a second test vector, and determine test output data of the software to be tested according to the first test vector; The second test vector is ideal test output data for the software to be tested; a comparing unit, configured to compare the test output data with the second test vector to obtain a test report for the first test case; In determining the test vector for the first test case according to the version tag of the algorithm software, the determining unit is used to: send the version tag of the algorithm software to a code review tool; the code review tool is used to maintain the version tag of the software to be tested and the version tag of the algorithm software; receive an executable file from the code review tool, the executable file is generated by online compilation by the code review tool according to the version tag of the algorithm software; The executable file is configured to determine the test vector for the first test case generated by the algorithm software.

8. A server comprising a processor, a memory, and a computer program or instruction stored in the memory, characterized in that: The processor executes the computer program or instructions to implement the steps of the method according to any one of claims 1 to 6.

9. A computer-readable storage medium, characterized in that It stores a computer program or instruction, which implements the steps of the method according to any one of claims 1 to 6 when executed.

Citation Information

Patent Citations

  • Test case clustering analysis method and system

    CN106776335A

  • International Testing Platform

    US20130014084A1