Test method of operating system, server, medium and product
Through the testing method of collaborative work of multiple servers, the problem of low testing efficiency during the rapid iteration and transformation of the Zhijia operating system is solved, and automated testing and parallel testing of the operating system are realized, saving a lot of testing time.
Patent Information
- Application Number
- CN202510061197.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-15
- Publication Date
- 2025-05-13
AI Technical Summary
During the rapid iteration and transformation of the smart driving operating system, how to quickly and effectively conduct tests to meet the high safety requirements of autonomous driving.
Through an operating system testing method, multiple servers work together, including the second server generating test instructions, the first server obtains the source code image file of the operating system from the third server and the fourth server obtains the test script, and burns these files to the test bench to perform the test.
It realizes automated testing of the operating system, and can test different functions of the same operating system or the same or different functions of multiple versions of the operating system in parallel, significantly saving testing time.
Smart Images

Figure CN119988216A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of testing technology, and in particular to a testing method, server, medium and product of an operating system. Background Art
[0002] Currently, autonomous driving technology is developing rapidly, and its demands on the underlying operating system are becoming more and more diverse. The corresponding intelligent driving operating system must also be rapidly iterated and transformed to adapt to the needs of autonomous driving. Autonomous driving has extremely high safety requirements. Therefore, during the rapid iteration and transformation of the intelligent driving operating system, it is very necessary to quickly and effectively test the intelligent driving operating system. Summary of the invention
[0003] The present invention provides an operating system testing method to solve the problem of automated testing of an intelligent driving operating system; also provides a first server; also provides a second server; also provides a computer-readable storage medium; and also provides a computer program product.
[0004] In order to achieve the above object, the technical solution adopted by the present invention is as follows:
[0005] A method for testing an operating system, applied to a first server, the method comprising:
[0006] In response to a test instruction from the second server, an image file of the source code of the operating system is obtained from the third server, and a test script is obtained from the fourth server; wherein the test instruction is an instruction generated by the second server when it is determined that the test condition is met; and the image file is compiled, packaged and uploaded by the second server when it is determined that the test condition is met.
[0007] Burning the image file of the operating system to the test bench;
[0008] The test script is transmitted to the test bench to execute the test on the operating system.
[0009] According to the above technical means, when the first server receives the test instruction from the second server, it obtains the image file of the source code of the operating system from the third server, obtains the test script from the fourth server, burns the image file of the source code of the operating system to the test bench, and transmits the test script to the test bench to perform the test on the source code of the operating system. Thus, the automated test of the operating system is realized.
[0010] Further, the test instructions include a system version identifier, multiple functional instructions and multiple test bench identifiers; obtaining the image file of the source code of the operating system from the third server includes: based on the system version identifier, obtaining the image file of the source code of the operating system from the third server; burning the image file of the operating system to the test bench includes: based on the multiple test bench identifiers, burning the image file of the operating system to multiple test benches; transmitting the test script to the test bench to execute the test of the operating system includes: based on the multiple test bench identifiers and the multiple functional instructions, transmitting different functional instructions to different test benches to execute different functional tests of the operating system.
[0011] According to the above technical means, parallel testing of different functions of the same operating system can be achieved, which can save a lot of testing time.
[0012] Further, the test instructions include multiple system version identifiers, at least one functional instruction and multiple test bench identifiers; obtaining the image file of the source code of the operating system from the third server includes: based on the multiple system version identifiers, obtaining the image file of the source code of multiple versions of the operating system from the third server; burning the image file of the operating system to the test bench includes: based on the multiple test bench identifiers, burning the image files of the multiple versions of the operating system to multiple test benches; transferring the test script to the test bench to execute the test of the operating system includes: based on the multiple test bench identifiers and the at least one functional instruction, transferring the at least one functional instruction to the corresponding test bench to execute the functional test of the multiple versions of the operating system; wherein, different test benches correspond to different functional instructions or the same functional instructions.
[0013] According to the above technical means, parallel testing of the same or different functions of multiple versions of operating systems can be achieved, which can save a lot of testing time.
[0014] Further, the source code of the operating system includes multiple source code branches, the multiple source code branches correspond to multiple image files, the multiple source code branches correspond to multiple test scripts, and the test instructions include multiple file identifiers, multiple script identifiers and multiple bench identifiers; obtaining the image file of the source code of the operating system from the third server and obtaining the test script from the fourth server include: based on the multiple file identifiers, obtaining the multiple image files of the multiple source code branches of the operating system from the third server; based on the multiple script identifiers, obtaining the multiple test scripts from the fourth server; burning the image file of the operating system to the test bench includes: based on the multiple bench identifiers, burning the multiple image files of the operating system to multiple test benches; transferring the test scripts to the test bench to execute the test of the operating system includes: based on the multiple bench identifiers and the multiple script identifiers, transferring different test scripts to different test benches to execute different functional tests of the operating system.
[0015] According to the above technical means, different source code branches and corresponding test scripts are sent to different test benches to perform different functional tests, thereby realizing parallel testing of different source code branches of the operating system, which can save a lot of testing time.
[0016] Furthermore, the testing method further includes: performing analysis based on the first test data from the multiple test benches to obtain second test data; and performing analysis based on the second test data from the multiple test benches to obtain a test report.
[0017] Furthermore, the testing method also includes: storing the test report in a preset storage space; when the test report is obtained, transmitting a test completion instruction to the second server, so that the second server sends an access address of the preset storage space storing the test report to the target object based on the test completion instruction.
[0018] According to the above technical means, it is convenient for developers to optimize the source code of the operating system or solve existing problems according to the test report of the operating system.
[0019] A method for testing an operating system, applied to a second server, the method comprising:
[0020] When it is determined that the test conditions are met, the execution operation on the source code of the operating system at least includes: an acquisition operation, a compilation operation, and a packaging operation for uploading to a third server;
[0021] Generate a test instruction, and transmit the test instruction to the first server;
[0022] Among them, the first server is used to respond to the test instruction, obtain the image file corresponding to the source code of the operating system from the third server, and obtain the test script from the fourth server; burn the image file of the operating system to the test bench, and transfer the test script to the test bench to execute the test of the operating system.
[0023] According to the above-mentioned technical means, when the second server determines that the test conditions are met, the execution operations of the source code of the operating system include at least: acquisition operation, compilation operation and packaging and uploading to the third server, and sending test instructions to the first server, so that the first server can realize automated testing of the operating system based on the test instructions.
[0024] Furthermore, the testing method further includes: recording the execution status of each execution operation.
[0025] Furthermore, the test method further includes: upon receiving a test completion instruction sent by the first server, sending an access address of the preset storage space storing the test report to a target object.
[0026] According to the above-mentioned technical means, when the second server receives the test completion instruction, it sends the access address of the operating system test report, that is, the address of the preset storage space of the first server (or called a link), to the target object via email, so that the target object can access the operating system test report based on the access address, and then optimize the source code of the operating system or solve existing problems according to the test report.
[0027] Furthermore, the test condition includes one of the following:
[0028] The source code with the new version identification is detected;
[0029] The current time matches the preset test time.
[0030] A first server, characterized in that the first server comprises:
[0031] an acquisition unit, configured to, in response to a test instruction from the second server, acquire an image file corresponding to the source code of the operating system from the third server and acquire a test script from the fourth server; wherein the test instruction is an instruction generated by the second server when it determines that the test condition is met; and the image file is compiled, packaged and uploaded by the second server when it determines that the test condition is met.
[0032] A first processing unit, used for burning the image file of the operating system to a test bench;
[0033] The first processing unit is further used to transmit the test script to the test bench to execute the test on the operating system.
[0034] A second server, characterized in that the second server comprises:
[0035] An execution unit, configured to, when it is determined that the test condition is met, execute operations on the source code of the operating system, including at least: an acquisition operation, a compilation operation, and an operation of packaging and uploading to a third server;
[0036] A second processing unit is used to generate a test instruction and transmit the test instruction to the first server;
[0037] Among them, the first server is used to respond to the test instruction, obtain the image file corresponding to the source code of the operating system from the third server, and obtain the test script from the fourth server; burn the image file of the operating system to the test bench, and transfer the test script to the test bench to execute the test of the operating system.
[0038] A first server comprises: a processor and a memory configured to store a computer program that can be run on the processor, wherein the processor is configured to execute the steps of the above method when running the computer program.
[0039] A second server comprises: a processor and a memory configured to store a computer program that can be run on the processor, wherein the processor is configured to execute the steps of the above method when running the computer program.
[0040] A computer-readable storage medium stores a computer program, which implements the steps of the above method when executed by a processor.
[0041] A computer program product comprises a computer program or instructions, wherein when the computer program or instructions are executed by a processor, the steps of the aforementioned method are implemented.
[0042] Beneficial effects of the present invention:
[0043] (1) When the first server of the present invention receives the test instruction from the second server, it obtains the image file of the source code of the operating system from the third server, obtains the test script from the fourth server, burns the image file of the source code of the operating system to the test bench, and sends the test script to the test bench to execute the test of the source code of the operating system. Thus, the automated test of the operating system is realized;
[0044] (2) The present invention can realize parallel testing of different functions of the same operating system;
[0045] (3) The present invention can implement parallel testing of the same or different functions of multiple versions of operating systems. BRIEF DESCRIPTION OF THE DRAWINGS
[0046] Figure 1 A schematic diagram of a method for testing an operating system provided by an embodiment of the present invention Figure 1 ;
[0047] Figure 2 A schematic diagram of the structure of a test device for an operating system provided by an embodiment of the present invention Figure 1 ;
[0048] Figure 3 A schematic diagram of a method for testing an operating system provided by an embodiment of the present invention Figure 2 ;
[0049] Figure 4 A schematic diagram of a method for testing an operating system provided by an embodiment of the present invention Figure 3 ;
[0050] Figure 5 A schematic diagram of a method for testing an operating system provided by an embodiment of the present invention Figure 4 ;
[0051] Figure 6 A schematic diagram of a method for testing an operating system provided by an embodiment of the present invention Figure 5 ;
[0052] Figure 7 A schematic diagram of a method for testing an operating system provided by an embodiment of the present invention Figure 6 ;
[0053] Figure 8 A schematic diagram of a method for testing an operating system provided by an embodiment of the present invention Figure 7 ;
[0054] Fig. 9 A schematic diagram of the structure of a test device for an operating system provided by an embodiment of the present invention Figure 2 ;
[0055] Fig.10 A schematic diagram of a method for testing an operating system provided by an embodiment of the present invention Figure 8 ;
[0056] Fig.11 It is a schematic diagram of the construction of each intelligent driving operating system test pipeline of the present invention;
[0057] Fig.12 It is a schematic diagram of the code quality and test report of the present invention;
[0058] Fig.13 A schematic diagram of a first server structure provided in an embodiment of the present invention Figure 1 ;
[0059] Fig.14 A schematic diagram of a second server structure provided in an embodiment of the present invention Figure 1
[0060] Fig.15 A schematic diagram of a first server structure provided in an embodiment of the present invention Figure 2 ;
[0061] Fig.16 A schematic diagram of a second server structure provided in an embodiment of the present invention Figure 2 . DETAILED DESCRIPTION
[0062] In order to enable a more detailed understanding of the features and technical contents of the embodiments of the present invention, the implementation of the embodiments of the present invention is described in detail below in conjunction with the accompanying drawings. The attached drawings are for reference only and are not intended to limit the embodiments of the present invention.
[0063] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art of the present invention. The terms used herein are only for the purpose of describing the present embodiment and are not intended to limit the present invention.
[0064] In the following description, references to “some embodiments,” “this embodiment,” “this embodiment,” and examples, etc., describe a subset of all possible embodiments, but it can be understood that “some embodiments” may be the same subset or different subsets of all possible embodiments, and may be combined with each other without conflict.
[0065] If similar descriptions of "first / second" appear in the application documents, the following instructions are added. In the following description, the terms "first\second\third" involved are merely used to distinguish similar objects and do not represent a specific ordering of the objects. It can be understood that "first\second\third" can be interchanged in a specific order or sequence where permitted, so that the present embodiment described here can be implemented in an order other than that illustrated or described here.
[0066] In this embodiment, the term "and / or" is merely a description of the association relationship between associated objects, indicating that three relationships may exist. For example, object A and / or object B may represent three situations: object A exists alone, object A and object B exist at the same time, and object B exists alone.
[0067] The embodiment of the present invention provides a method for testing an operating system. Figure 1A schematic diagram of a method for testing an operating system provided by an embodiment of the present invention Figure 1 , applied to the first server, such as Figure 1 As shown, the testing method of the operating system includes the following steps:
[0068] Step S101: In response to the test instruction from the second server, the image file corresponding to the source code of the operating system is obtained from the third server, and the test script is obtained from the fourth server; wherein the test instruction is an instruction generated by the second server when it is determined that the test conditions are met; the image file is compiled, packaged and uploaded by the second server when it is determined that the test conditions are met.
[0069] Step S102: Burn the image file of the operating system to the test bench.
[0070] Step S103: Transmit the test script to the test bench to execute the test on the operating system.
[0071] In the embodiment of the present invention, the relationship between the first server 11, the second server 22, the third server 33, the fourth server 44 and the test bench 55 is as follows: Figure 2 As shown. Among them, the first server can be called a test server, which is used to execute test tasks based on test instructions. The test bench provides a test environment for executing test tasks. The second server can be called a pipeline server, which is used to execute related processes before the test task, mainly including determining whether the test conditions are met, and obtaining the source code of the operating system when it is determined that the test conditions are met, and compiling the source code of the operating system, packaging and uploading it to the third server. The third server can be called a mirror server, which is used to store the mirror file of the source code of the operating system. The fourth server can be called a code server, which is used to store test scripts for testing the source code of the operating system.
[0072] In the embodiment of the present invention, upon receiving the test instruction from the second server, the first server obtains the image file of the source code of the operating system from the third server, obtains the test script from the fourth server, burns the image file of the source code of the operating system to the test bench, and sends the test script to the test bench to execute the test on the source code of the operating system, thereby realizing the automated test on the operating system.
[0073] Based on the above embodiments, the present invention further provides a method for testing an operating system. Figure 3 A schematic diagram of a method for testing an operating system provided by an embodiment of the present invention Figure 2 , applied to the first server, such as Figure 3 As shown, the testing method of the operating system includes the following steps:
[0074] Step S301: In response to the test instruction from the second server, the image file of the source code of the operating system is obtained from the third server based on the system version identifier included in the test instruction, and the test script is obtained from the fourth server; wherein the test instruction is an instruction generated by the second server when it is determined that the test conditions are met; the image file is compiled, packaged and uploaded by the second server when it is determined that the test conditions are met.
[0075] In an embodiment of the present invention, the test instruction includes a system version identifier, so that the first server obtains the image file of the source code of the operating system corresponding to the system version identifier from the third server through network communication based on the system version identifier. The test instruction also includes a script identifier, so that the first server obtains the test script corresponding to the script identifier from the fourth server through network communication based on the script identifier. The test script is a test software program, which can be understood as a pre-edited script used to assist in testing the operating system source code.
[0076] Exemplarily, if the system version is identified as 2.0, then the image file of the source code of the 2.0 version of the operating system is obtained.
[0077] Step S302: Based on the multiple test bench identifiers included in the test instruction, burn the image file of the operating system to multiple test benches.
[0078] In the embodiment of the present invention, the first server burns the image file of the operating system to the multiple test benches indicated by the multiple test bench identifiers respectively based on the multiple test bench identifiers through network communication.
[0079] Step S303: Based on the multiple test bench identifiers and multiple functional instructions included in the test instruction, different functional instructions are transmitted to different test benches to perform different functional tests of the operating system.
[0080] In the embodiment of the present invention, the functional instruction is used to indicate the test items to be tested on the operating system, wherein the test items include but are not limited to function test, performance test and stability test.
[0081] In the embodiment of the present invention, different test bench identifiers correspond to different functional instructions, and then the different functional instructions are transmitted to different test benches to perform functional tests of different test items of the operating system. It should be noted that the test bench will execute the corresponding sub-test script in the test script based on the functional instruction, thereby obtaining test data.
[0082] Exemplarily, if test bench 1, test bench 2 and test bench 3 are included, test bench 1 can be used to perform functional testing of the operating system, test bench 2 can be used to perform performance testing of the operating system, and test bench 3 can be used to perform stability testing of the operating system.
[0083] Based on this, parallel testing of different functions of the same operating system is achieved.
[0084] Based on the above embodiments, the present invention further provides a method for testing an operating system. Figure 4 A schematic diagram of a method for testing an operating system provided by an embodiment of the present invention Figure 3 , applied to the first server, such as Figure 4 As shown, the testing method of the operating system includes the following steps:
[0085] Step S401: In response to the test instruction from the second server, image files of the source code of multiple versions of the operating system are obtained from the third server based on multiple system version identifiers included in the test instruction, and the test script is obtained from the fourth server; wherein the test instruction is an instruction generated by the second server when it is determined that the test conditions are met; and the image file is compiled, packaged and uploaded by the second server after the test conditions are determined to be met.
[0086] In an embodiment of the present invention, the test instruction includes multiple system version identifiers, so that the first server obtains the image files of the source code of multiple versions of the operating system corresponding to the multiple system version identifiers from the third server through network communication based on the multiple system version identifiers. The test instruction also includes a script identifier, so that the first server obtains the test script corresponding to the script identifier from the fourth server through network communication based on the script identifier. The test script is a test software program, which can be understood as a pre-edited script used to assist in testing the operating system source code.
[0087] Exemplarily, if the system version identifier includes 2.0, 3.0 and 4.0, the image files of the source code of the operating system of version 2.0, the image files of the source code of the operating system of version 3.0, and the image files of the source code of the operating system of version 4.0 are obtained respectively.
[0088] Based on the above example, it can be understood that the current system version is identified as 4.0, and version 2.0 and version 3.0 are versions before version 4.0. When the second server determines that the test conditions are met, one is to compile and package the source code of the operating system whose current system version is identified as 4.0 and upload it to the third server. Before this, the third server has stored the image file of version 2.0 and the image file of version 3.0. Therefore, the first server can obtain the image file of the source code of the operating system of version 2.0, the image file of the source code of the operating system of version 3.0, and the image file of the source code of the operating system of version 4.0 from the second server. Another is that the second server compiles and packages the source code of the operating system of version 2.0, the source code of the operating system of version 3.0, and the source code of the operating system of version 4.0 and uploads them to the third server respectively. Therefore, the first server can obtain the image file of the source code of the operating system of version 2.0, the image file of the source code of the operating system of version 3.0, and the image file of the source code of the operating system of version 4.0 from the second server.
[0089] Step S402: Based on the multiple test bench identifiers included in the test instruction, burn the image files of the multiple versions of the operating system to the multiple test benches.
[0090] In the embodiment of the present invention, the first server burns the image files of the operating systems of different versions to different test benches respectively based on the multiple test bench identifiers through network communication.
[0091] Step S403: Based on the multiple bench identifiers and at least one functional instruction included in the test instruction, at least one functional instruction is transmitted to the corresponding test bench to perform functional tests of multiple versions of operating systems; wherein different test benches correspond to different functional instructions or the same functional instructions.
[0092] In an embodiment of the present invention, in the case of including a functional instruction, the first server transmits the functional instruction to different test benches based on multiple bench identifiers and the functional instruction to perform the same functional test of multiple versions of operating systems. Exemplarily, if the functional instruction indicates that a performance test is required, the performance test of multiple versions of operating systems is performed in parallel with the help of multiple test benches. If the functional instruction indicates that a stability test is required, the stability test of multiple versions of operating systems is performed in parallel with the help of multiple test benches.
[0093] In the embodiment of the present invention, in the case of including multiple functional instructions, the first server transmits the corresponding functional instructions to the corresponding test bench based on the multiple bench identifiers and the multiple functional instructions to perform the corresponding functional test of the corresponding version of the operating system. Exemplarily, if five test benches are included, the first test bench, the second test bench and the third test bench respectively perform performance tests of the operating systems of versions 2.0, 3.0 and 4.0, the fourth test bench performs functional tests of the operating system of version 2.0, and the fifth test bench performs stability tests of the operating system of version 2.0.
[0094] It should be noted that the test bench will execute the corresponding sub-test script in the test script based on the functional instruction, thereby obtaining test data. The communication method between the first server and the test bench can be a network communication method or a serial port communication method.
[0095] Based on this, parallel testing of the same or different functions of multiple versions of operating systems is achieved.
[0096] Based on the above embodiments, the present invention further provides a method for testing an operating system. Figure 5 A flowchart of a method for testing an operating system provided by an embodiment of the present invention is shown in FIG. 4, which is applied to a first server. Figure 5 As shown, the testing method of the operating system includes the following steps:
[0097] Step S501: In response to a test instruction from the second server, based on multiple file identifiers included in the test instruction, multiple image files of multiple source code branches of the operating system are obtained from the third server; wherein the test instruction is an instruction generated by the second server when it is determined that the test conditions are met; the image file is compiled, packaged and uploaded by the second server after the test conditions are determined to be met.
[0098] In the embodiment of the present invention, the source code of the operating system includes multiple source code branches, the multiple source code branches correspond to multiple image files, and the multiple source code branches represent multiple functions. Testing the multiple source code branches requires pre-coding multiple test scripts.
[0099] In the embodiment of the present invention, different file identifiers are used to identify mirror files of different source code branches. Different script identifiers are used to identify different test scripts.
[0100] In the embodiment of the present invention, the first server obtains multiple image files of multiple source code branches of the operating system from the third server based on multiple file identifiers through network communication.
[0101] Step S502: Based on the multiple script identifiers included in the test instruction, multiple test scripts are obtained from the fourth server.
[0102] In the embodiment of the present invention, the first server obtains multiple test scripts from the fourth server based on multiple script identifiers through network communication.
[0103] Step S503: Based on the multiple test bench identifiers included in the test instruction, multiple image files of the operating system are burned to multiple test benches.
[0104] In the embodiment of the present invention, the first server burns multiple image files of the operating system to multiple test benches based on multiple bench identifiers through network communication.
[0105] Step S504: Based on the multiple test bench identifiers and the multiple script identifiers, different test scripts are transmitted to different test benches to execute different functional tests of the operating system.
[0106] In the embodiment of the present invention, the first server transmits different test scripts to different test benches to execute different functional tests of the operating system based on multiple bench identifiers and multiple script identifiers through network communication or serial communication.
[0107] Based on this, when the first server receives the test instruction from the second server, it obtains at least one image file of at least one source code branch of the operating system from the third server, obtains at least one test script from the fourth server, burns at least one image file of the operating system to the test bench, and sends at least one test script to at least one test bench to perform the test on the operating system. In other words, different source code branches and corresponding test scripts are sent to different test benches to perform different functional tests, thereby realizing parallel testing of multiple source code branches of the operating system, which can save a lot of testing time.
[0108] In some embodiments of the present invention, reference Figure 6 The test method further includes the following steps S601 to S602:
[0109] Step S601: The first server parses first test data from multiple test benches to obtain second test data.
[0110] In the embodiment of the present invention, the format of the first test data is HTML format. Here, the first server parses the first test data from each test bench to obtain the test result of the test script and the corresponding detailed log, that is, the second test data.
[0111] Step S602: The first server analyzes the second test data of the multiple test benches to obtain a test report.
[0112] In an embodiment of the present invention, if different test items are tested for the same operating system, the first server receives multiple first test data from multiple test benches for multiple test items of the same operating system, and then the first server parses the multiple first test data to obtain multiple second test data. Then, the first server determines the second test data that meets the standard rules and the second test data that does not meet the standard rules based on the multiple second test data, and then combines the multiple second test data to generate a test report. If the same test item is tested for different operating systems, the first server receives multiple first test data from multiple test benches for the same test item of multiple operating systems, and then the first server parses the multiple first test data to obtain multiple second test data. Then, the first server performs a comparison analysis based on the multiple second test data of the multiple operating systems, and then combines the multiple second test data to generate a test report, which includes the comparison results. In this way, it is convenient for developers to optimize the source code of the operating system or solve existing problems according to the test report of the operating system.
[0113] In the embodiment of the present invention, the test includes but is not limited to function test, performance test and stability test.
[0114] In some embodiments of the present invention, the test method further comprises: storing the test report in a preset storage space;
[0115] When the test report is obtained, a test completion instruction is transmitted to the second server, so that the second server sends an access address of the preset storage space storing the test report to the target object based on the test completion instruction.
[0116] Based on this, it is convenient to directly access the test report based on the access address of the preset storage space in the future.
[0117] Figure 7 A schematic diagram of a method for testing an operating system provided by an embodiment of the present invention Figure 5 , applied to the second server, such as Figure 7 As shown, the testing method of the operating system includes the following steps:
[0118] Step S701: when the second server determines that the test condition is met, the execution operation of the source code of the operating system includes at least: obtaining operation, compiling operation and packaging and uploading operation to the third server.
[0119] In the embodiment of the present invention, the acquisition operation refers to the second server acquiring the source code of the operating system from its own preset storage space. The compilation operation refers to the second server compiling the acquired source code of the operating system to obtain an image file. The packaging and uploading operation to the third server refers to the second server packaging and uploading the compiled image file to the third server.
[0120] It should be noted that it may include the source code of the operating system corresponding to the current system version identifier, and may also include the source code of the operating system corresponding to the current system version identifier and the source code of the operating system corresponding to the previous system version identifier.
[0121] Step S702: The second server generates a test instruction and transmits the test instruction to the first server; wherein the first server is used to respond to the test instruction, obtain the image file corresponding to the source code of the operating system from the third server, and obtain the test script from the fourth server; burn the image file of the operating system to the test bench, and transmit the test script to the test bench to execute the test on the operating system.
[0122] In some embodiments of the present invention, the test instruction includes a system version identifier, multiple function instructions and multiple rack identifiers, so that the first server can implement parallel testing of different functions of the same operating system based on the test instruction.
[0123] In some embodiments of the present invention, the test instruction includes multiple system version identifiers, at least one function instruction and multiple rack identifiers, so that the first server can implement parallel testing of the same or different functions of multiple versions of operating systems based on the test instruction.
[0124] In some embodiments of the present invention, the source code of the operating system includes multiple source code branches, the multiple source code branches correspond to multiple test scripts, and the multiple test scripts correspond to multiple test benches. The test instructions include multiple file identifiers, multiple script identifiers, and multiple bench identifiers. In this way, the first server implements parallel testing of multiple source code branches of the same operating system based on the test instructions.
[0125] Based on this, when the second server determines that the test conditions are met, the execution operation of the source code of the operating system at least includes: obtaining operation, compiling operation and packaging and uploading to the third server, generating test instructions, transmitting the test instructions to the first server, so that the first server responds to the test instructions, obtains the image file of the source code of the operating system from the third server, obtains the test script from the fourth server, burns the image file to the test bench, and sends the test script to the test bench to execute the test of the operating system. In this way, the automated test of the operating system is realized.
[0126] In some embodiments of the present invention, the testing method further includes: recording the execution status of each execution operation.
[0127] Here, the execution status includes a successful execution status and a failed execution status.
[0128] Exemplarily, for the same operating system, the second server records the operation of obtaining the source code of the operating system, compiling the source code, and packaging and uploading the source code to the third server. For example, the operation of obtaining the source code is successful, the operation of editing the source code is successful, and the operation of packaging and uploading the source code to the third server fails.
[0129] In some embodiments of the present invention, the test condition includes one of the following:
[0130] The source code with the new version identification is detected;
[0131] The current time matches the preset test time.
[0132] In the embodiment of the present invention, when the second server detects that the developer has submitted the source code with a new version identifier, it is determined that the source code with the new version identifier needs to be tested, so the second server concludes that the test conditions are met. Alternatively, when the second server detects that the current time is consistent with the pre-set test time, that is, it matches, it is determined that the source code of the operating system needs to be tested, so the second server concludes that the test conditions are met.
[0133] In some embodiments of the present invention, reference Figure 8 The test method further includes the following steps S801 to S802:
[0134] Step S801: after obtaining the operating system test report, the first server transmits a test completion instruction to the second server.
[0135] Step S802: upon receiving the test completion instruction, the second server sends the access address of the preset storage space storing the test report to the target object.
[0136] In an embodiment of the present invention, the test completion instruction indicates that the test task is executed. When the second server receives the test completion instruction, it sends the access address of the operating system test report, i.e., the address of the preset storage space of the first server (or called a link), to the target object by email, so that the target object can access the operating system test report based on the access address, and then optimize the source code of the operating system or solve existing problems according to the test report. Among them, the target object is a pre-set relevant developer.
[0137] In the embodiment of the present invention, the access address or link of the preset storage space storing the test report can be sent to the corresponding developer by email. Each developer can receive at least one test report.
[0138] Based on the above embodiments, the present invention illustrates a testing device for an operating system. Fig. 9 A schematic diagram of the structure of a test device for an operating system provided in the implementation of the present invention Figure 2 ,like Fig. 9 As shown, the testing device of the operating system includes: 3 personal computers (PCs), namely PC1, PC2 and PC3, a first server 11 (i.e., a test server), a second server 22 (i.e., a pipeline server), a third server 33 (i.e., a mirror server), a fourth server 44 (i.e., a Gerrit server), and 3 test benches, namely a first test bench 55, a second test bench 55 and a third test bench 55.
[0139] The PC communicates with each server via a network communication mode. The first server communicates with each test bench via a network communication mode or a serial communication mode.
[0140] Among them, when burning the source code branch of the operating system to the test bench, first close the corresponding test bench through the relay, then open the test bench for burning, and after the burning is completed, close the test bench again, and then open the test bench to execute the test script.
[0141] Before the first server communicates with the test bench over the network, some relevant network configurations need to be performed through the serial port before network transmission can be performed.
[0142] based on Fig. 9 The operating system testing device shown in the figure, the operating system testing process includes the following steps S1001 to S1006:
[0143] Step S1001: Write an automated testing framework for the intelligent driving operating system and corresponding automated testing scripts of various types.
[0144] In order to achieve rapid iterative testing of the intelligent driving operating system, the most basic thing is to realize the distribution of test scripts to different test benches to automatically execute tests of different test items; therefore, the open source automated testing framework robotframework is selected for secondary development. By using Python to write user function libraries, change certain system keywords, perform global keyword and variable configuration, etc., the power supply of different test benches can be controlled. At the same time, different test benches are connected to the test server and serial port mapping and network configuration are performed to ensure that the test server can send test scripts to different test benches according to test instructions to execute different test items and return data; then, test scripts are written according to the intelligent driving operating system, and the test scripts are distributed to different test benches to execute different test items.
[0145] Step S1002: Implement the process of intelligent driving operating system source code compilation, packaging, uploading, mirror downloading and burning.
[0146] In order to ensure 24-hour unattended operation, once the modification code of the intelligent driving operating system is completed, the test execution can be triggered by timing or conditions. The compilation server included in the second server is used to write a program to pull and compile the intelligent driving operating system source code, and then package it and upload it to the third server. In the first server, a program is written to download the intelligent driving operating system image, control the relays, and manage the serial port and network to ensure that it is correctly burned to the corresponding test bench.
[0147] Step S1003: configure different pipelines to run in a distributed manner.
[0148] First, based on Jenkins, we use spring boot and vue technology to write programs to build a pipeline orchestration system. Then, according to the testing requirements of the intelligent driving operating system in terms of basic functions, feature functions, peripheral drivers, posix interfaces, performance and stability, we build different pipelines for testing. In the configuration process of each pipeline, we add different configuration script files to pull the specified branch code from the compilation server for compilation, package it into a mirror file with a specified name to the third server, pull the mirror from the third server to the first server, burn it to the test bench specified in the configuration script, and execute the relevant configuration of the selected range of test cases.
[0149] Step S1004: Execute function test, performance test and stability test.
[0150] After the configuration of each intelligent driving operating system pipeline is completed, each pipeline can be timed, manually or conditionally triggered to execute different test items on different test benches at the same time. Before the automated test is carried out, the entire automated test project is pulled from the fourth server to the first server by writing a program, and then the test scripts are sent to different test benches to execute different test items according to the specific configuration of different pipeline configuration scripts. After the test is completed, the test data and test results based on the RF automated test framework can automatically generate a test report that is easy to view, filter and statistical results and is sent back to the first server.
[0151] Step S1005: The test platform automatically parses different types of test results.
[0152] A smart driving operating system testing platform is built using technologies such as spring boot and vue. After the tests in different test benches are completed, the different test data and test reports will be automatically uploaded to the first server due to the relevant interface configuration in the pipeline. The performance test data can be automatically parsed and stored in the database by writing a program, and compared with the previous performance test data to generate a complete performance test report. In addition, since the report sent back to the first server is in HTML format, a secondary analysis is performed by writing a program to display the results of each test script and the corresponding detailed log. By attaching the bill of lading operation, it is convenient to submit the problematic functions to the developers for resolution.
[0153] Step S1006: Send an email to notify relevant personnel and provide a report link.
[0154] In the configuration script of the pipeline orchestration system, the email addresses of the people to whom notifications need to be sent are configured, and the interfaces for different types of reports in the first server are configured. When each intelligent driving operating system pipeline is completed, links to different test reports in the first server can be sent to relevant personnel.
[0155] Fig.11 Schematic diagram of the construction of each intelligent driving operating system test pipeline of the present invention. Fig.11 As shown in the figure, pipelines for testing different test items on different test benches can be built in the pipeline orchestration system, such as the build pipeline for functional testing, the daily pipeline for performance testing, and the weekly pipeline for stability testing. And configure the relevant process steps in each pipeline, add the corresponding configuration script, and implement the intelligent driving operating system code pulling, compiling, packaging and uploading, test execution parsing, and sending email notification processes; if a step in the process fails to run, it will be displayed as an error, if it passes, it will be displayed as correct. In addition, each pipeline can also configure the execution time, pull branches, etc.
[0156] Specifically, Fig.11 The corresponding operating system code pulling operation, compilation, package upload, test execution analysis, and email notification process of the build pipeline were all executed successfully. The corresponding operating system code pulling operation, compilation, package upload, test execution analysis, and email notification process of the weekly pipeline were all executed successfully. In another operating system code pulling operation, package upload, test execution analysis, and email notification process, they were all executed successfully, but the compilation failed. The corresponding operating system code pulling operation, compilation, package upload, and email notification process of the daily pipeline were all executed successfully, but the test execution analysis failed.
[0157] Fig.12 Schematic diagram of the code quality and test report of the present invention. Fig.12 As shown, when each test pipeline of the intelligent driving operating system is completed, a corresponding email will be sent to the relevant personnel. In addition to the code quality scan result link, the email also contains the corresponding function test and performance test report links. You can click the link to jump to the test platform to view the performance test reports of different versions and the function test reports of related use cases. Among them, code quality refers to the results obtained by the second server during the compilation process, including the number of high-risk problems, 0 for a total of 2 times this time, the number of medium-risk problems, 0 for a total of 2 times this time, and the number of low-risk problems, 0 for a total of 23 times this time. The performance test report includes the benchmark indicator _R14_j5_HOBOT_SafetyLinux, and then compares various parameters with the current version of the operating system. The various parameter comparisons include kernel configuration comparison, system parameter comparison, Apt List comparison, and System d Service comparison. The current comparison result is the result of the 42nd trigger of the periodic trigger.
[0158] Based on the above embodiments, the following conclusions are drawn:
[0159] First, according to the test requirements of the intelligent driving operating system for functions, peripheral drivers, performance, interfaces, and stability, select a suitable automated test framework for secondary development to ensure that it can send test scripts and image files to the test bench through the network and serial port and return test data, ensure that the complex test data and detailed logs can be classified and counted, and it is convenient to locate the specific failure log according to the problem, and ensure that different test benches can perform corresponding function tests according to labels (i.e. functional instructions). Secondly, by writing programs to open up the fully automated process of intelligent driving operating system source code compilation, packaging and uploading, image download and burning, system testing and returning data analysis and display, ensure that the test can be automatically run 24 hours a day without supervision, greatly improving the utilization rate of test benches and peripherals. In addition, a pipeline orchestration system is built, and different pipelines are built according to the test content of the intelligent driving operating system in different aspects, so that it can be triggered by time, manual or other conditions, and can select and pull source code branches, upload test result data and logs to the test platform for analysis, and notify relevant personnel by email. Different pipelines are configured, and different test contents are assigned to different intelligent driving operating system hardware environments for operation, ensuring that each test pipeline is carried out concurrently and shortening the overall test time. At the same time, a public testing platform is developed to parse and display the results returned by each pipeline test, such as statistically classifying functional test data to display the execution results of each test case one by one, and being able to jump to the execution log of the test script for easy troubleshooting. Performance test data is parsed and can be compared with other versions of data to form a graph to intuitively obtain the advantages and disadvantages of various performance indicators, providing a basis for subsequent performance optimization. Finally, at the end of each pipeline operation, an email is sent to notify relevant developers and testers, and jump links to various types of test reports are provided to quickly troubleshoot problems, make changes and submit them, and trigger the pipeline again for verification, so as to achieve the purpose of rapid iterative development and testing of the intelligent driving operating system.
[0160] An embodiment of the present invention provides a first server, Fig.13 Schematic diagram of the composition structure of the first server in an embodiment of the present invention Figure 1 ,like Fig.13 As shown, the first server 130 includes:
[0161] The acquisition unit 1301 is used to obtain the image file corresponding to the source code of the operating system from the third server and the test script from the fourth server in response to the test instruction from the second server; wherein the test instruction is an instruction generated by the second server when it determines that the test condition is met; and the image file is compiled, packaged and uploaded by the second server when it determines that the test condition is met.
[0162] The first processing unit 1302 is used to burn the image file of the operating system to the test bench;
[0163] The first processing unit 1302 is further configured to transmit the test script to the test bench to execute the test on the operating system.
[0164] In the embodiment of the present invention, when the first server receives the test instruction from the second server, it obtains the image file of the source code of the operating system from the third server, obtains the test script from the fourth server, burns the image file of the source code of the operating system to the test bench, and transmits the test script to the test bench to execute the test on the source code of the operating system, thereby realizing the automated test of the operating system.
[0165] In some embodiments of the present invention, the test instructions include a system version identifier, multiple functional instructions and multiple test bench identifiers; the acquisition unit 1301 is also used to obtain the image file of the source code of the operating system from the third server based on the system version identifier; the first processing unit 1302 is also used to burn the image file of the operating system to multiple test benches based on the multiple test bench identifiers; based on the multiple test bench identifiers and the multiple functional instructions, different functional instructions are transmitted to different test benches to perform different functional tests of the operating system.
[0166] In some embodiments of the present invention, the test instructions include multiple system version identifiers, at least one functional instruction and multiple test bench identifiers; the acquisition unit 1301 is also used to obtain image files of source code of multiple versions of operating systems from the third server based on the multiple system version identifiers; the first processing unit 1302 is also used to burn the image files of the multiple versions of the operating system to multiple test benches based on the multiple test bench identifiers; based on the multiple test bench identifiers and the at least one functional instruction, the at least one functional instruction is transmitted to the corresponding test bench to perform functional tests of the multiple versions of the operating system; wherein different test benches correspond to different functional instructions or the same functional instructions.
[0167] In some embodiments of the present invention, the source code of the operating system includes multiple source code branches, the multiple source code branches correspond to multiple image files, the multiple source code branches correspond to multiple test scripts, and the test instructions include multiple file identifiers, multiple script identifiers and multiple bench identifiers; the acquisition unit 1301 is also used to obtain multiple image files of the multiple source code branches of the operating system from the third server based on the multiple file identifiers; based on the multiple script identifiers, obtain the multiple test scripts from the fourth server; the first processing unit 1302 is also used to burn the multiple image files of the operating system to multiple test benches based on the multiple bench identifiers; based on the multiple bench identifiers and the multiple script identifiers, transfer different test scripts to different test benches to perform different functional tests of the operating system.
[0168] In some embodiments of the present invention, the first processing unit 1302 is further configured to parse the first test data from the plurality of test benches to obtain second test data; and analyze the second test data from the plurality of test benches to obtain a test report.
[0169] In some embodiments of the present invention, the first processing unit 1302 is further configured to store the test report into a preset storage space;
[0170] When the test report is obtained, a test completion instruction is transmitted to the second server, so that the second server sends an access address of the preset storage space storing the test report to the target object based on the test completion instruction.
[0171] An embodiment of the present invention provides a second server, Fig.14 Schematic diagram of the structure of the second server in an embodiment of the present invention Figure 1 ,like Fig.14 As shown, the second server 140 includes:
[0172] The execution unit 1401 is used to execute the operations on the source code of the operating system, including at least: obtaining operation, compiling operation and packaging and uploading to a third server, when it is determined that the test condition is met;
[0173] The second processing unit 1402 is used to generate a test instruction and transmit the test instruction to the first server;
[0174] Among them, the first server is used to respond to the test instruction, obtain the image file corresponding to the source code of the operating system from the third server, and obtain the test script from the fourth server; burn the image file of the operating system to the test bench, and transfer the test script to the test bench to execute the test of the operating system.
[0175] In an embodiment of the present invention, when the second server determines that the test conditions are met, the execution operations of the source code of the operating system include at least: acquisition operation, compilation operation and packaging and uploading to the third server, and sending test instructions to the first server, so that the first server can realize automated testing of the operating system based on the test instructions.
[0176] In some embodiments of the present invention, the second processing unit 1402 is further configured to record the execution status of each execution operation.
[0177] In some embodiments of the present invention, the second processing unit 1402 is further configured to send the access address of the preset storage space storing the test report to the target object when receiving the test completion instruction sent by the first server.
[0178] In some embodiments of the present invention, the test condition includes one of the following:
[0179] The source code with the new version identification is detected;
[0180] The current time matches the preset test time.
[0181] The embodiment of the present invention further provides another first server, Fig.15 Schematic diagram of the composition structure of the first server in an embodiment of the present invention Figure 2 ,like Fig.15 As shown, the first server 130 includes: a processor 1501 and a memory 1502 configured to store a computer program that can be run on the processor;
[0182] The processor 1501 is configured to execute the method steps in the aforementioned embodiment when running a computer program.
[0183] Of course, in practical applications, Fig.15 As shown, the various components in the first server 130 are coupled together via a bus system 1503. It is understood that the bus system 1503 is used to realize the connection and communication between these components. In addition to the data bus, the bus system 1503 also includes a power bus, a control bus, and a status signal bus. However, for the sake of clarity, Fig.15 Various buses are labeled as bus system 1503.
[0184] The embodiment of the present invention further provides another second server, Fig.16 Schematic diagram of the structure of the second server in an embodiment of the present invention Figure 2 ,like Fig.16 As shown, the second server 140 includes: a processor 1601 and a memory 1602 configured to store a computer program that can be run on the processor;
[0185] The processor 1601 is configured to execute the method steps in the aforementioned embodiment when running a computer program.
[0186] Of course, in practical applications, Fig.16 As shown, the components in the second server 140 are coupled together via a bus system 1603. It is understood that the bus system 1603 is used to realize the connection and communication between these components. In addition to the data bus, the bus system 1603 also includes a power bus, a control bus, and a status signal bus. However, for the sake of clarity, Fig.16 Various buses are labeled as bus system 1603.
[0187] In practical applications, the processor may be at least one of an application-specific integrated circuit (ASIC), a digital signal processing device (DSPD), a programmable logic device (PLD), a field-programmable gate array (FPGA), a controller, a microcontroller, and a microprocessor. It is understandable that for different devices, the electronic device used to implement the functions of the processor may also be other, and the embodiments of the present invention do not specifically limit this.
[0188] The above-mentioned memory can be a volatile memory (volatile memory), such as a random access memory (RAM); or a non-volatile memory (non-volatile memory), such as a read-only memory (ROM), a flash memory, a hard disk (HDD) or a solid-state drive (SSD); or a combination of the above-mentioned types of memory, and provide instructions and data to the processor.
[0189] In an exemplary embodiment, an embodiment of the present invention further provides a computer-readable storage medium for storing a computer program.
[0190] Optionally, the computer-readable storage medium can be applied to any one of the methods in the embodiments of the present invention, and the computer program enables the computer to execute the corresponding processes implemented by the processor in each method in the embodiments of the present invention. For the sake of brevity, they are not described here.
[0191] In the several embodiments provided by the present invention, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as: multiple units or components can be combined, or can be integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the components shown or discussed can be through some interfaces, and the indirect coupling or communication connection of the devices or units can be electrical, mechanical or other forms.
[0192] The units described above as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units; some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
[0193] In addition, all functional units in the embodiments of the present invention may be integrated into one processing module, or each unit may be a separate unit, or two or more units may be integrated into one unit; the above integrated unit may be implemented in the form of hardware or in the form of hardware plus software functional units. A person of ordinary skill in the art may understand that all or part of the steps of implementing the above method embodiments may be completed by hardware related to program instructions, and the above program may be stored in a computer-readable storage medium, which, when executed, executes the steps of the above method embodiments; and the above storage medium includes various media that can store program codes, such as mobile storage devices, read-only memories (ROM), random access memories (RAM), magnetic disks or optical disks.
[0194] The methods disclosed in the several method embodiments provided by the present invention can be arbitrarily combined without conflict to obtain new method embodiments.
[0195] The features disclosed in several product embodiments provided by the present invention can be arbitrarily combined without conflict to obtain new product embodiments.
[0196] The features disclosed in several method or device embodiments provided by the present invention can be arbitrarily combined without conflict to obtain new method embodiments or device embodiments.
[0197] The above is only a specific embodiment of the present invention, but the protection scope of the present invention is not limited thereto. Any person skilled in the art can easily think of changes or substitutions within the technical scope disclosed by the present invention, which should be included in the protection scope of the present invention. Therefore, the protection scope of the present invention should be based on the protection scope of the claims.
Claims
1. A method for testing an operating system, characterized in that: Applied to the first server, the testing method includes: In response to a test instruction from the second server, an image file of the source code of the operating system is obtained from the third server, and a test script is obtained from the fourth server; wherein the test instruction is an instruction generated by the second server when it is determined that the test condition is met; and the image file is compiled, packaged and uploaded by the second server when it is determined that the test condition is met. Burning the image file of the operating system to the test bench; The test script is transmitted to the test bench to execute the test on the operating system.
2. The testing method according to claim 1, characterized in that: The test instruction includes a system version identifier, multiple function instructions and multiple test bench identifiers; The step of obtaining the image file of the source code of the operating system from the third server includes: Based on the system version identifier, obtaining an image file of the source code of the operating system from the third server; The step of burning the image file of the operating system to the test bench comprises: Based on the multiple test bench identifiers, burning the image file of the operating system to multiple test benches; The step of transmitting the test script to the test bench to execute the test on the operating system comprises: Based on the multiple test bench identifiers and the multiple functional instructions, different functional instructions are transmitted to different test benches to perform different functional tests of the operating system.
3. The testing method according to claim 1, characterized in that: The test instruction includes a plurality of system version identifiers, at least one functional instruction and a plurality of test bench identifiers; The step of obtaining the image file of the source code of the operating system from the third server includes: Based on the multiple system version identifiers, obtaining image files of source code of multiple versions of the operating system from the third server; The step of burning the image file of the operating system to the test bench comprises: Based on the multiple test bench identifiers, burning the image files of the multiple versions of the operating system to multiple test benches; The step of transmitting the test script to the test bench to execute the test on the operating system comprises: Based on the multiple test bench identifiers and the at least one functional instruction, the at least one functional instruction is transmitted to a corresponding test bench to perform functional tests of the multiple versions of the operating system; wherein different test benches correspond to different functional instructions or the same functional instructions.
4. The testing method according to claim 1, characterized in that: The source code of the operating system includes multiple source code branches, the multiple source code branches correspond to multiple image files, the multiple source code branches correspond to multiple test scripts, and the test instructions include multiple file identifiers, multiple script identifiers, and multiple test bench identifiers; The step of obtaining the image file of the source code of the operating system from the third server and obtaining the test script from the fourth server includes: Based on the multiple file identifiers, obtaining multiple image files of multiple source code branches of the operating system from the third server; based on the multiple script identifiers, obtaining the multiple test scripts from the fourth server; The step of burning the image file of the operating system to the test bench comprises: Based on the multiple test bench identifiers, burning multiple image files of the operating system to multiple test benches; The step of transmitting the test script to the test bench to execute the test on the operating system comprises: Based on the multiple test bench identifiers and the multiple script identifiers, different test scripts are transmitted to different test benches to execute different functional tests of the operating system.
5. The testing method according to any one of claims 1 to 4, characterized in that: The test method also includes: Analyze the first test data from the plurality of test benches to obtain second test data; An analysis is performed based on the second test data of the multiple test benches to obtain a test report.
6. The testing method according to claim 5, characterized in that: The test method also includes: Storing the test report in a preset storage space; When the test report is obtained, a test completion instruction is transmitted to the second server, so that the second server sends an access address of the preset storage space storing the test report to the target object based on the test completion instruction.
7. A method for testing an operating system, characterized in that: Applied to the second server, the testing method includes: When it is determined that the test conditions are met, the execution operation on the source code of the operating system at least includes: an acquisition operation, a compilation operation, and a packaging operation for uploading to a third server; generating a test instruction, and transmitting the test instruction to the first server; Among them, the first server is used to respond to the test instruction, obtain the image file of the source code of the operating system from the third server, and obtain the test script from the fourth server; burn the image file of the operating system to the test bench, and transfer the test script to the test bench to execute the test of the operating system.
8. The testing method according to claim 7, characterized in that: The test method also includes: Record the execution status of each execution operation.
9. The testing method according to claim 7, characterized in that: The test method also includes: When the test completion instruction sent by the first server is received, the access address of the preset storage space storing the test report is sent to the target object.
10. The testing method according to any one of claims 7 to 9, characterized in that: The test conditions include one of the following: The source code of the new version identification is detected; The current time matches the preset test time.
11. A first server, characterized in that: The first server comprises: an acquisition unit, configured to, in response to a test instruction from the second server, acquire an image file corresponding to the source code of the operating system from the third server and acquire a test script from the fourth server; wherein the test instruction is an instruction generated by the second server when it determines that the test condition is met; and the image file is compiled, packaged and uploaded by the second server when it determines that the test condition is met. A first processing unit, used for burning the image file of the operating system to a test bench; The first processing unit is further used to transmit the test script to the test bench to execute the test on the operating system.
12. A second server, characterized in that: The second server comprises: An execution unit, configured to, when it is determined that the test condition is met, execute operations on the source code of the operating system, including at least: an acquisition operation, a compilation operation, and an operation of packaging and uploading to a third server; A second processing unit is used to generate a test instruction and transmit the test instruction to the first server; Among them, the first server is used to respond to the test instruction, obtain the image file of the source code of the operating system from the third server, and obtain the test script from the fourth server; burn the image file of the operating system to the test bench, and transfer the test script to the test bench to execute the test of the operating system.
13. A first server, characterized in that: The first server comprises: a processor and a memory configured to store a computer program that can be run on the processor, Wherein, the processor is configured to execute the steps of the testing method according to any one of claims 1 to 6 when running the computer program.
14. A second server, characterized in that: The second server comprises: a processor and a memory configured to store a computer program that can be run on the processor, Wherein, the processor is configured to execute the steps of the testing method according to any one of claims 7 to 10 when running the computer program.
15. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the testing method according to any one of claims 1 to 6 and 7 to 10 are implemented.
16. A computer program product comprising a computer program or instructions, characterized in that When the computer program or instruction is executed by a processor, the steps of the testing method according to any one of claims 1 to 6 and 7 to 10 are implemented.