Test method, test platform, equipment, storage medium and vehicle
By conducting automated tests of full-scale, differential and self-upgraded versions on the domain controller, the problems of low test efficiency and poor results reliability in the existing technology are solved, and efficient automation of OTA version upgrade tests are achieved.
Patent Information
- Application Number
- CN202310996063.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-09
- Publication Date
- 2025-02-18
AI Technical Summary
In the prior art, the OTA version upgrade test of the domain controller requires multiple executions of forced downgrading of key subsystems and smoothing of subsystem versions, resulting in low testing efficiency, few tests per user, and low reliability of the results.
When the domain controller is at the first baseline, it controls it to perform full upgrades from the first baseline to the second baseline, differential upgrades, and performs self-upgrades of the same version, and performs the steps of preset times in a cycle, so as to realize OTA releases Automation of upgrade tests.
It improves the testing efficiency of a single user, increases the number of tests within the target duration, improves the reliability of test results, saves human resources, and realizes the automation of the OTA distribution and upgrade test of the domain controller.
Smart Images

Figure CN119472570A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of computer technology, and in particular, relates to a testing method, a testing platform, a device, a storage medium and a vehicle. Background Art
[0002] Software upgrades based on Over-The-Air (OTA) technology are used to upgrade vehicle-level controllers such as chassis suspension, assisted driving, body control, and infotainment. The main contents of the OTA version upgrade test of the domain controller include a full upgrade test from the base version (Base version) to the target version (Target version), a differential upgrade test from the base version to the target version, and a self-upgrade test of the same version of the target version to verify the reliability and stability of the OTA version upgrade. Usually, both the full upgrade test and the differential upgrade test from the base version to the target version require the domain controller to repeatedly switch between high and low versions. Since the domain controller itself has the function of prohibiting version downgrades, version downgrades cannot be achieved through normal OTA upgrade methods. Therefore, the full upgrade test and differential upgrade test process from the base version to the target version require multiple executions of the domain controller's line-flash key subsystem forced downgrade steps and the remaining subsystem version alignment steps.
[0003] Currently, OTA release and upgrade testing of domain controllers is mainly done manually by users. Since each step in the test takes a lot of time and a single user can only test one sample at a time, the test efficiency of a single user is low, the number of tests within the target time is small, and the reliability of the test results is low. Summary of the invention
[0004] The embodiments of the present application provide a testing method, a testing platform, a device, a storage medium, and a vehicle, which can improve the testing efficiency of a single user, thereby increasing the number of tests within a target duration and improving the reliability of the test results.
[0005] In a first aspect, an embodiment of the present application provides a testing method, the method comprising:
[0006] When the domain controller is in a first baseline, controlling the domain controller to perform a full upgrade from the first baseline to a second baseline to obtain a first target version, wherein the first baseline is a test baseline corresponding to a base version, and the second baseline is a test baseline corresponding to a target version, and the target version includes any one of the first target version, the second target version, and the third target version;
[0007] When the first target version is the same as the second baseline, controlling the domain controller to downgrade from the second baseline to the first baseline;
[0008] Controlling the domain controller to perform a differential upgrade from the first baseline to the second baseline to obtain the second target version;
[0009] When the second target version is the same as the second baseline, controlling the domain controller to perform self-upgrade with the same version corresponding to the second baseline to obtain the third target version;
[0010] When the third target version is the same as the second baseline, the domain controller is controlled to downgrade from the second baseline to the first baseline, and the control of the domain controller is returned to perform a full upgrade from the first baseline to the second baseline until the number of tests reaches a preset number and a test report is generated.
[0011] In a possible implementation, when the domain controller is in the first baseline, controlling the domain controller to perform a full upgrade from the first baseline to the second baseline includes:
[0012] When the domain controller is at the first baseline, obtaining a first full package corresponding to the second baseline, where the first full package is used to fully upgrade the domain controller from the first baseline to the second baseline;
[0013] Sending the first full package to a device under test to trigger the device under test to download the first full package, the device under test including the domain controller;
[0014] When it is monitored that the download of the first full package is completed, a target instruction is sent to the device under test, where the target instruction is used to instruct the device under test to perform an upgrade operation corresponding to the first full package on the domain controller.
[0015] In a possible implementation, the controlling the domain controller to perform a differential upgrade from the first baseline to the second baseline includes:
[0016] Acquire a differential upgrade package corresponding to both the first baseline and the second baseline, wherein the differential upgrade package is used to differentially upgrade the domain controller from the first baseline to the second baseline;
[0017] Sending the differential upgrade package to a device under test to trigger the device under test to download the differential upgrade package, wherein the device under test includes the domain controller;
[0018] When it is detected that the download of the differential upgrade package is completed, a target instruction is sent to the device under test, where the target instruction is used to instruct the device under test to perform an upgrade operation corresponding to the differential upgrade package on the domain controller.
[0019] In a possible implementation, controlling the domain controller to perform self-upgrade to the same version corresponding to the second baseline includes:
[0020] Obtaining a second full package corresponding to the second baseline, where the second full package is used to perform a self-upgrade of the domain controller to the same version corresponding to the second baseline;
[0021] Sending the second full package to a device under test to trigger the device under test to download the second full package, the device under test including the domain controller;
[0022] When it is monitored that the download of the second full package is completed, a target instruction is sent to the device under test, where the target instruction is used to instruct the device under test to perform an upgrade operation corresponding to the second full package on the domain controller.
[0023] In a possible implementation, the domain controller includes a first subsystem and a second subsystem, and controlling the domain controller to downgrade from the second baseline to the first baseline includes:
[0024] Performing a line brush downgrade corresponding to the first baseline on the first subsystem, wherein the line brush downgrade is used to downgrade the first subsystem from the second baseline to the first baseline;
[0025] The second subsystem is controlled to perform a full upgrade corresponding to the first baseline, where the full upgrade is used to downgrade the second subsystem from the second baseline to the first baseline.
[0026] In a possible implementation manner, after downgrading the first subsystem to correspond to the first baseline, the method further includes:
[0027] Get configuration information;
[0028] Perform a configuration operation corresponding to the configuration information on the domain controller.
[0029] In a possible implementation, the controlling the second subsystem to perform a full upgrade corresponding to the first baseline includes:
[0030] Acquire a third full package corresponding to the first baseline, where the third full package is used to downgrade the domain controller from the second baseline to the first baseline;
[0031] Sending the third full package to a device under test to trigger the device under test to download the third full package, wherein the device under test includes the domain controller;
[0032] When it is monitored that the download of the third full package is completed, a target instruction is sent to the device under test, where the target instruction is used to instruct the device under test to perform an upgrade operation corresponding to the third full package on the domain controller.
[0033] In a possible implementation manner, before sending the target instruction to the device under test, the method further includes:
[0034] Acquire upgrade mode information, wherein the upgrade mode information includes a target time for sending the target instruction to the device under test;
[0035] The sending a target instruction to the device under test includes:
[0036] When the time reaches the target time, a target instruction is sent to the device under test.
[0037] In a second aspect, an embodiment of the present application provides a test platform, which includes:
[0038] A first control module is used to control the domain controller to perform a full upgrade from the first baseline to a second baseline to obtain a first target version when the domain controller is in a first baseline, wherein the first baseline is a test baseline corresponding to a base version, and the second baseline is a test baseline corresponding to a target version, wherein the target version includes any one of the first target version, the second target version, and the third target version;
[0039] a second control module, configured to control the domain controller to downgrade from the second baseline to the first baseline when the first target version is the same as the second baseline;
[0040] A third control module, used for controlling the domain controller to perform a differential upgrade from the first baseline to the second baseline to obtain the second target version;
[0041] A fourth control module is used to control the domain controller to perform a self-upgrade of the same version corresponding to the second baseline to obtain the third target version when the second target version is the same as the second baseline;
[0042] The fifth control module is used to control the domain controller to downgrade from the second baseline to the first baseline when the third target version is the same as the second baseline, and return to execute the control of the domain controller to perform a full upgrade from the first baseline to the second baseline until the number of tests reaches a preset number, and generate a test report.
[0043] In a third aspect, an embodiment of the present application provides an electronic device, the electronic device comprising: a processor and a memory storing computer program instructions;
[0044] When the processor executes the computer program instructions, the processor implements any possible implementation method of the first aspect described above.
[0045] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium having computer program instructions stored thereon, which, when executed by a processor, implements a method in any possible implementation method of the first aspect described above.
[0046] In a fifth aspect, an embodiment of the present application provides a vehicle, the vehicle comprising at least one of the following:
[0047] A test platform as in any one of the embodiments of the second aspect;
[0048] An electronic device as in any one of the embodiments of the third aspect;
[0049] A computer-readable storage medium as in any embodiment of the fourth aspect.
[0050] The test method, test platform, device, storage medium and vehicle of the embodiment of the present application, by controlling the domain controller to perform a full upgrade from the first baseline to the second baseline when the domain controller is in the first baseline, obtaining the first target version, and being able to test the full upgrade. By controlling the domain controller to downgrade from the second baseline to the first baseline when the first target version is the same as the second baseline (i.e., the full upgrade is successful), it is possible to prepare for the differential upgrade when the full upgrade is successful. By controlling the domain controller to perform a differential upgrade from the first baseline to the second baseline, obtaining the second target version, it is possible to continue to test the differential upgrade. By controlling the domain controller to perform a self-upgrade of the same version corresponding to the second baseline when the second target version is the same as the second baseline (i.e., the differential upgrade is successful), obtaining the third target version, and being able to continue to test the stability of the self-upgrade of the same version when the differential upgrade is successful. By controlling the domain controller to downgrade from the second baseline to the first baseline when the third target version is the same as the second baseline (i.e., the self-upgrade of the same version is successful), it is possible to prepare for the next full upgrade when the self-upgrade of the same version is successful. In this way, by looping the above steps for a preset number of times, the automation of the OTA version upgrade test of the domain controller can be realized, saving human resources. That is, by realizing the automation of the OTA version upgrade test of the domain controller, a single user can test multiple samples at the same time. In this way, the test efficiency of a single user can be improved, and the number of tests within the target time can be increased, thereby improving the reliability of the test results. BRIEF DESCRIPTION OF THE DRAWINGS
[0051] In order to more clearly illustrate the technical solution of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0052] Figure 1 It is a flow chart of a testing method provided in an embodiment of the present application;
[0053] Figure 2 It is a flow chart of another testing method provided in an embodiment of the present application;
[0054] Figure 3 It is a structural schematic diagram of a test platform provided in an embodiment of the present application;
[0055] Figure 4 It is a structural schematic diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0056] In order to more clearly understand the above-mentioned purposes, features and advantages of the present application, the scheme of the present application will be further described below. It should be noted that the embodiments of the present application and the features in the embodiments can be combined with each other without conflict.
[0057] In the following description, many specific details are set forth to facilitate a full understanding of the present application, but the present application may also be implemented in other ways different from those described herein; obviously, the embodiments in the specification are only part of the embodiments of the present application, rather than all of the embodiments.
[0058] It should be noted that, in this article, relational terms such as "first" and "second" are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the term "comprises" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.
[0059] In addition, in the embodiment of the present application, the baseline is a stable version of the software documentation or source code (or other output).
[0060] As mentioned in the background technology section, at present, the OTA release upgrade test of the domain controller is mainly manual testing by users. Since each step in the test takes a lot of time, most of which is waiting for the flashing to be completed, manual testing has the disadvantages of occupying a lot of human resources, low output of single-person testing, and low number of test samples. Due to the low number of test samples, it is difficult to find low-probability problems and it is difficult to ensure the quality of the domain controller release.
[0061] Based on this, in order to solve the problems of the prior art, this application can realize unattended OTA release upgrade stress testing by automating the OTA release upgrade test process. In addition, since it is an automated test, the number of test benches can be increased without increasing human resources. By increasing the number of test benches, the test sample size can be increased in a short time, the upgrade stability can be improved, and the test efficiency can be maximized, the output of a single person can be increased, and the occupation of human resources can be reduced.
[0062] Thus, in order to solve the problems of the prior art, the embodiments of the present application provide a test method, a test platform, a device, a storage medium and a vehicle. Among them, the test method can be applied to the test platform. The test platform can automatically test the OTA version upgrade process of the domain controller. The test platform can be arranged in a computer or in a server, which is not limited here.
[0063] The following first introduces the testing method provided in the embodiments of the present application.
[0064] Figure 1 A flow chart of a testing method provided in an embodiment of the present application is shown. Figure 1 As shown, the testing method provided in the embodiment of the present application includes the following steps:
[0065] S110: When the domain controller is in the first baseline, control the domain controller to perform a full upgrade from the first baseline to the second baseline to obtain a first target version, where the first baseline is a test baseline corresponding to the base version, and the second baseline is a test baseline corresponding to the target version, and the target version includes any one of the first target version, the second target version, and the third target version;
[0066] S120: When the first target version is the same as the second baseline, the control domain controller is downgraded from the second baseline to the first baseline;
[0067] S130, controlling the domain controller to perform a differential upgrade from the first baseline to the second baseline to obtain a second target version;
[0068] S140: When the second target version is the same as the second baseline, the control domain controller performs a self-upgrade of the same version corresponding to the second baseline to obtain a third target version;
[0069] S150. When the third target version is the same as the second baseline, the control domain controller is downgraded from the second baseline to the first baseline, and returns to execute the control domain controller to perform a full upgrade from the first baseline to the second baseline until the number of tests reaches a preset number and a test report is generated.
[0070] The test method of the embodiment of the present application controls the domain controller to perform a full upgrade from the first baseline to the second baseline when the domain controller is in the first baseline, and obtains the first target version, so that the full upgrade can be tested. By controlling the domain controller to downgrade from the second baseline to the first baseline when the first target version is the same as the second baseline (i.e., the full upgrade is successful), it is possible to prepare for the differential upgrade when the full upgrade is successful. By controlling the domain controller to perform a differential upgrade from the first baseline to the second baseline, the second target version is obtained, and the differential upgrade can be continued to be tested. By controlling the domain controller to perform the same version self-upgrade corresponding to the second baseline when the second target version is the same as the second baseline (i.e., the differential upgrade is successful), the third target version is obtained, and the stability of the same version self-upgrade can be continued to be tested when the differential upgrade is successful. By controlling the domain controller to downgrade from the second baseline to the first baseline when the third target version is the same as the second baseline (i.e., the same version self-upgrade is successful), it is possible to prepare for the next full upgrade when the same version self-upgrade is successful. In this way, by looping the above steps for a preset number of times, the automation of the OTA version upgrade test of the domain controller can be realized, saving human resources. That is, by automating the OTA release and upgrade test of the domain controller, a single user can test multiple samples at the same time. This can improve the test efficiency of a single user, increase the number of tests within the target time, and improve the reliability of the test results.
[0071] The specific implementation methods of the above steps are introduced below.
[0072] In some embodiments, in S110, the first baseline and the second baseline may be test baselines specially prepared for OTA release upgrade testing of the domain controller. The test may be a stress test, which may be referred to as stress testing. In addition, the first baseline may be a test baseline corresponding to the base version, i.e., a stable version. The second baseline may be a test baseline corresponding to the target version, i.e., a stable version. In addition, the base version may be a low-level version corresponding to the target version. The target version may be a high-level version corresponding to the base version.
[0073] As an example, the first baseline and the second baseline that conform to the content of this stress test upgrade can be produced in the OTA background. When the domain controller is in the first baseline, if the OTA background pushes the full package corresponding to the second baseline to the stress test (stress test) platform, that is, after the test platform obtains the full package corresponding to the second baseline, it can control the domain controller to perform a full upgrade from the first baseline to the second baseline. Among them, the device that actually performs the full upgrade operation may be the device under test. The test platform can control the domain controller to perform a full upgrade from the first baseline to the second baseline by controlling the device under test. In addition, the version obtained by the full upgrade may be the first target version. If the first target version is the same as the second baseline, the upgrade status corresponding to the full upgrade may be "upgrade successful". If the first target version is different from the second baseline, the upgrade status corresponding to the full upgrade may be "upgrade failed".
[0074] As an example, the test platform can monitor the upgrade status of the domain controller. Specifically, the test platform can query the upgrade status every preset time. The preset time can be 2 minutes, 3 minutes, 4 minutes, etc., which is not limited here. If the upgrade status queried by the test platform calling the interface is "upgrading" or "waiting for upgrade", it means that the upgrade is still continuing, and the upgrade status can be queried again after the preset time. If the upgrade status is "upgrade successful" or "upgrade failed", you can proceed to the next step.
[0075] Specifically, if the upgrade status is "upgrade successful", the upgrade result can be recorded as upgrade successful, and the remaining test steps can be continued. If the upgrade status is "upgrade failed", on the one hand, the upgrade result can be recorded as upgrade failure, and the number of stress tests can be recorded through the stress test counter. On the other hand, the interface can be called to query the error cause that caused the upgrade failure, and the error cause can be recorded in the upgrade result, and then return to continue to execute the above test steps.
[0076] Based on this, in order to achieve a full upgrade of the domain controller from the first baseline to the second baseline, in some embodiments, the above S110 may specifically include:
[0077] When the domain controller is at the first baseline, obtaining a first full package corresponding to the second baseline, where the first full package is used to fully upgrade the domain controller from the first baseline to the second baseline;
[0078] Sending a first full packet to a device under test to trigger the device under test to download the first full packet, the device under test comprising a domain controller;
[0079] When it is monitored that the download of the first full package is completed, a target instruction is sent to the device under test, where the target instruction is used to instruct the device under test to perform an upgrade operation corresponding to the first full package on the domain controller.
[0080] Here, the device under test may be a test vehicle, a test bench, or other devices including a domain controller, which is not limited here.
[0081] As an example, under the premise that the domain controller is upgraded to the first baseline, if the test platform detects that the upgrade status is "no task status", it can be determined that the domain controller is already in the first baseline. If the upgrade status detected by the test platform is not "no task status", the upgrade status can be queried again after a preset period of time. When the upgrade status is "no task status", the next step can be performed.
[0082] Specifically, if the domain controller is in the first baseline, the test platform can first obtain the full upgrade package corresponding to the second baseline from the OTA background, that is, the first full package, and then call the interface to send the first full package to the device under test. After the device under test receives the first full package, the download of the first full package can be triggered. While the device under test is downloading the first full package, that is, after the test platform sends the first full package to the device under test, the interface can be called to query the current upgrade status. If the upgrade status is "downloading", you can wait for a preset period of time and then query the upgrade status again. If the upgrade status is "prompt status", it can indicate that the first full package has been downloaded and you can proceed to the next step.
[0083] Specifically, if the test platform finds that the current upgrade status is "prompt status", a target instruction can be sent to the device under test. The target instruction can be a first upgrade instruction, which can be used to instruct the device under test to perform an upgrade operation corresponding to the first full package on the domain controller. That is, after receiving the first upgrade instruction, the device under test can perform an upgrade operation corresponding to the first full package. During the process of the device under test performing the upgrade operation corresponding to the first full package, the test platform can continuously monitor the upgrade status.
[0084] In this way, by sending the first full package and the first upgrade instruction to the device under test when the domain controller is in the first baseline, the device under test can execute the upgrade operation corresponding to the first full package, thereby realizing the full upgrade of the domain controller from the first baseline to the second baseline.
[0085] In actual situations, after the upgrade package is downloaded, the upgrade operation is usually not performed immediately. However, during the test, in order to improve the test speed, the upgrade operation is usually performed immediately after the upgrade package is downloaded. Therefore, in order to flexibly determine the upgrade method according to the test needs, in some embodiments, before sending the target instruction to the device under test, the following may also be included:
[0086] Acquire upgrade mode information, where the upgrade mode information includes a target time for sending a target command to the device under test;
[0087] Based on this, sending target instructions to the device under test may specifically include:
[0088] When the time reaches the target time, the target instruction is sent to the device under test.
[0089] Here, the target instruction may specifically be the first upgrade instruction. The upgrade mode information may be information corresponding to the upgrade mode. Among them, the upgrade mode may be an upgrade mode configured by the user in the stress test task. The upgrade mode may include immediate upgrade and scheduled upgrade. Immediate upgrade may be to perform the upgrade operation immediately after the first full package is downloaded. Scheduled upgrade may be to perform the upgrade operation after a period of time after the first full package is downloaded. In addition, the stress test task may be an OTA release upgrade stress test task of the domain controller created by the user on the test platform. The target time may be the time when the target instruction is sent to the device under test after the test platform queries that the upgrade status is "prompt status". Specifically, the target time corresponding to the immediate upgrade may be 0. That is, if the target time is 0, when the test platform queries that the upgrade status is "prompt status", the target instruction may be sent immediately to the device under test so that the device under test immediately performs the upgrade operation corresponding to the first full package. In addition, the target time corresponding to the scheduled upgrade may be 4 minutes, 5 minutes, 6 minutes, etc., which is not limited here. When the target time is 5 minutes, if the test platform finds that the upgrade status is "prompt status", the target instruction can be sent to the device under test after 5 minutes to make the device under test perform the upgrade operation corresponding to the first full package.
[0090] In this way, by determining the time for sending the target instruction to the device under test according to the target time in the upgrade mode information, the time for executing the upgrade operation can be controlled, and the upgrade mode can be flexibly determined according to the test requirements.
[0091] In some embodiments, in S120, if the first target version is the same as the second baseline, the test platform can determine that the full upgrade is successful. In the case of a successful full upgrade, the remaining test steps can be continued. That is, the differential upgrade test from the first baseline to the second baseline can be continued. Since the domain controller is currently in the second baseline, before the differential upgrade test, the test platform can first control the domain controller to downgrade from the second baseline to the first baseline. Among them, the device that actually performs the downgrade operation can be the device under test. The test platform can control the domain controller to downgrade from the second baseline to the first baseline by controlling the device under test.
[0092] The domain controller may include a first subsystem and a second subsystem. Since the domain controller itself has the function of prohibiting version downgrade, and the key subsystem (i.e., the first subsystem) in the domain controller can only be downgraded from the second baseline to the first baseline through forced line brush downgrade, therefore, in order to downgrade the domain controller from the second baseline to the first baseline, in some embodiments, the above S120 may specifically include:
[0093] Performing a line brush downgrade corresponding to the first baseline on the first subsystem, where the line brush downgrade is used to downgrade the first subsystem from the second baseline to the first baseline;
[0094] The second subsystem is controlled to perform a full upgrade corresponding to the first baseline, where the full upgrade is used to downgrade the second subsystem from the second baseline to the first baseline.
[0095] Here, the first subsystem may be a key subsystem preset in the domain controller.
[0096] As an example, the test platform can first obtain the wire-brush path filled in the stress test task, then download the wire-brush package to the local computer according to the wire-brush path, and then call the wire-brush script in the wire-brush package to force the first subsystem of the domain controller to be downgraded by wire-brush. Among them, the stress test task can be an OTA release upgrade stress test task of the domain controller created by the user on the test platform. By force-brush-downgrading the first subsystem, the first subsystem can be downgraded from the second baseline to the first baseline.
[0097] It should be noted that after the domain controller is flashed online, the domain controller may lose various configuration information. Therefore, in order to ensure the normal operation of the domain controller, in some embodiments, after the first subsystem is flashed online to downgrade corresponding to the first baseline, the following may also be included:
[0098] Get configuration information;
[0099] Perform configuration operations corresponding to the configuration information on the domain controller.
[0100] Here, the configuration information may include a vehicle identification number (VIN), a cloud environment, a firmware version number, etc. After the online flash is completed, the test platform can reconfigure the configuration information of the domain controller by calling a script to restore various configurations of the domain controller and ensure the normal operation of the domain controller.
[0101] In addition, the second subsystem may be the remaining subsystems in the domain controller except the first subsystem. After the domain controller is configured, the second subsystem may be controlled to perform a full upgrade corresponding to the first baseline, that is, all subsystems in the domain controller are aligned to the first baseline.
[0102] As an example, in the process of downgrading the second subsystem from the second baseline to the first baseline, the test platform can call the interface to query the upgrade status. If the upgrade status is "upgrading" or "waiting for upgrade", it means that the upgrade is still in progress, and the upgrade status can be queried again after a preset time. If the upgrade status is "upgrade successful" or "upgrade failed", you can proceed to the next step. Among them, the upgrade success can be that the upgraded version is the same as the first baseline. The upgrade failure can be that the upgraded version is different from the first baseline.
[0103] Specifically, if the upgrade status is "upgrade successful", the upgrade result can be recorded as upgrade successful, and the remaining test steps can be continued. If the upgrade status is "upgrade failed", on the one hand, the upgrade result can be recorded as upgrade failure, and the number of stress tests can be recorded through the stress test counter. On the other hand, the interface can be called to query the error cause that caused the upgrade failure, and the error cause can be recorded in the upgrade result, and then return to continue to execute the above test steps.
[0104] Based on this, in order to achieve the downgrade of the second subsystem from the second baseline to the first baseline, in some embodiments, the above-mentioned controlling the second subsystem to perform a full upgrade corresponding to the first baseline may specifically include:
[0105] Obtaining a third full package corresponding to the first baseline, where the third full package is used to downgrade the domain controller from the second baseline to the first baseline;
[0106] Sending a third full packet to the device under test to trigger the device under test to download the third full packet, the device under test comprising a domain controller;
[0107] When it is monitored that the download of the third full package is completed, a target instruction is sent to the device under test, where the target instruction is used to instruct the device under test to perform an upgrade operation corresponding to the third full package on the domain controller.
[0108] Here, the device under test may be a test vehicle, a test bench, or other devices including a domain controller, which is not limited here.
[0109] As an example, during the process of configuring the domain controller by the test platform, if the test platform detects that the upgrade status is "no task status", it can be determined that the first subsystem is in the first baseline and the domain controller has been configured. If the upgrade status detected by the test platform is not "no task status", the upgrade status can be queried again after a preset time. Until the upgrade status is "no task status", the next step can be performed.
[0110] Specifically, if the first subsystem is in the first baseline, in order to downgrade the second subsystem to the first baseline, you can first obtain the full upgrade package corresponding to the first baseline from the OTA background, that is, the third full package, and then call the interface to send the third full package to the device under test. After the device under test receives the third full package, the download of the third full package can be triggered. While the device under test is downloading the third full package, that is, after the test platform sends the third full package to the device under test, the interface can be called to query the current upgrade status. If the upgrade status is "downloading", you can wait for a preset period of time and then query the upgrade status again. If the upgrade status is "prompt status", it can be indicated that the third full package has been downloaded and you can proceed to the next step.
[0111] Specifically, if the test platform finds that the current upgrade status is "prompt status", a target instruction can be sent to the device under test. The target instruction can specifically be a second upgrade instruction, which can be used to instruct the device under test to perform an upgrade operation corresponding to the third full package on the domain controller. That is, after receiving the second upgrade instruction, the device under test can perform an upgrade operation corresponding to the third full package. During the process of the device under test performing the upgrade operation corresponding to the third full package, the test platform can continuously monitor the upgrade status.
[0112] In this way, by sending the third full package and target instructions to the device under test when the first subsystem is in the first baseline, the device under test can execute the upgrade operation corresponding to the third full package, thereby enabling the domain controller to be downgraded from the second subsystem from the second baseline to the first baseline.
[0113] In addition, as mentioned above, in actual situations, after the upgrade package is downloaded, the upgrade operation is usually not performed immediately. However, during the test, in order to improve the test speed, the upgrade operation is usually performed immediately after the upgrade package is downloaded. Therefore, in order to flexibly determine the upgrade method according to the test needs, in some embodiments, before sending the target instruction to the device under test, the following may also be included:
[0114] Acquire upgrade mode information, where the upgrade mode information includes a target time for sending a target command to the device under test;
[0115] Based on this, sending target instructions to the device under test may specifically include:
[0116] When the time reaches the target time, the target instruction is sent to the device under test.
[0117] Here, the target instruction may specifically be a second upgrade instruction. In addition, other steps of the method in the embodiment of the present application can refer to the relevant description of the embodiment shown above, and will not be described in detail here.
[0118] In some embodiments, in S130, when the domain controller is in the first baseline, if the OTA background pushes a differential upgrade package corresponding to the second baseline to the stress test (stress testing) platform, that is, after the test platform obtains the differential upgrade package corresponding to the second baseline, it can control the domain controller to perform a differential upgrade from the first baseline to the second baseline. Among them, the device that actually performs the differential upgrade operation may be the device under test. The test platform can control the domain controller to perform a differential upgrade from the first baseline to the second baseline by controlling the device under test. In addition, the version obtained by the differential upgrade may be the second target version. If the second target version is the same as the second baseline, the upgrade status corresponding to the differential upgrade may be "upgrade successful". If the second target version is different from the second baseline, the upgrade status corresponding to the differential upgrade may be "upgrade failed".
[0119] As an example, the test platform can query the upgrade status every preset time. If the upgrade status queried by the test platform calling the interface is "upgrading" or "waiting for upgrade", it means that the upgrade is still in progress, and the upgrade status can be queried again after the preset time. If the upgrade status is "upgrade successful" or "upgrade failed", you can proceed to the next step.
[0120] Specifically, if the upgrade status is "upgrade successful", the upgrade result can be recorded as upgrade successful, and the remaining test steps can be continued. If the upgrade status is "upgrade failed", on the one hand, the upgrade result can be recorded as upgrade failure, and the number of stress tests can be recorded through the stress test counter. On the other hand, the interface can be called to query the error cause that caused the upgrade failure, and the error cause can be recorded in the upgrade result, and then return to continue to execute the above test steps.
[0121] Based on this, in order to implement a differential upgrade of the domain controller from the first baseline to the second baseline, in some embodiments, the above S130 may specifically include:
[0122] Acquire a differential upgrade package corresponding to both the first baseline and the second baseline, where the differential upgrade package is used to differentially upgrade the domain controller from the first baseline to the second baseline;
[0123] Sending a differential upgrade package to the device under test to trigger the device under test to download the differential upgrade package, the device under test including a domain controller;
[0124] When it is detected that the download of the differential upgrade package is completed, a target instruction is sent to the device under test, where the target instruction is used to instruct the device under test to perform an upgrade operation corresponding to the differential upgrade package on the domain controller.
[0125] Here, the device under test may be a test vehicle, a test bench, or other devices including a domain controller, which is not limited here.
[0126] As an example, under the premise that the domain controller is upgraded to the first baseline, if the test platform detects that the upgrade status is "no task status", it can be determined that the domain controller is already in the first baseline. If the upgrade status detected by the test platform is not "no task status", the upgrade status can be queried again after a preset period of time. When the upgrade status is "no task status", the next step can be performed.
[0127] Specifically, if the domain controller is in the first baseline, the test platform can first obtain the differential upgrade package corresponding to the second baseline from the OTA background, and then call the interface to send the differential upgrade package to the device under test. After the device under test receives the differential upgrade package, it can trigger the download of the differential upgrade package. While the device under test is downloading the differential upgrade package, that is, after the test platform sends the differential upgrade package to the device under test, the interface can be called to query the current upgrade status. If the upgrade status is "downloading", you can wait for a preset period of time and query the upgrade status again. If the upgrade status is "prompt status", it can indicate that the differential upgrade package has been downloaded and you can proceed to the next step.
[0128] Specifically, if the test platform finds that the current upgrade status is "prompt status", a target instruction can be sent to the device under test. The target instruction can be a third upgrade instruction, which can be used to instruct the device under test to perform an upgrade operation corresponding to the differential upgrade package on the domain controller. That is, after receiving the third upgrade instruction, the device under test can perform an upgrade operation corresponding to the differential upgrade package. During the process of the device under test performing the upgrade operation corresponding to the differential upgrade package, the test platform can continuously monitor the upgrade status.
[0129] In this way, by sending a differential upgrade package and a third upgrade instruction to the device under test when the domain controller is in the first baseline, the device under test can execute the upgrade operation corresponding to the differential upgrade package, thereby realizing the differential upgrade of the domain controller from the first baseline to the second baseline.
[0130] In addition, as mentioned above, in actual situations, after the upgrade package is downloaded, the upgrade operation is usually not performed immediately. However, during the test, in order to improve the test speed, the upgrade operation is usually performed immediately after the upgrade package is downloaded. Therefore, in order to flexibly determine the upgrade method according to the test needs, in some embodiments, before sending the target instruction to the device under test, the following may also be included:
[0131] Acquire upgrade mode information, where the upgrade mode information includes a target time for sending a target command to the device under test;
[0132] Based on this, sending target instructions to the device under test may specifically include:
[0133] When the time reaches the target time, the target instruction is sent to the device under test.
[0134] Here, the target instruction may specifically be the third upgrade instruction. In addition, other steps of the method in the embodiment of the present application can refer to the relevant description of the embodiment shown above, and will not be described in detail here.
[0135] In some embodiments, in S140, if the second target version is the same as the second baseline, it can be determined that the differential upgrade is successful. In the case of a successful differential upgrade, the remaining test steps can be continued. That is, the same version self-upgrade test from the second baseline to the second baseline can be continued.
[0136] As an example, when the domain controller is in the second baseline, if the OTA background pushes the full package corresponding to the second baseline to the stress test (stress testing) platform, that is, after the test platform obtains the full package corresponding to the second baseline, it can control the domain controller to perform the same version self-upgrade corresponding to the second baseline. Among them, the device that actually performs the same version self-upgrade operation may be the device under test. The test platform can control the domain controller to perform the same version self-upgrade corresponding to the second baseline by controlling the device under test. In addition, the version obtained by the same version self-upgrade may be a third target version. If the third target version is the same as the second baseline, the upgrade status corresponding to the same version self-upgrade may be "upgrade successful". If the third target version is different from the second baseline, the upgrade status corresponding to the same version self-upgrade may be "upgrade failed".
[0137] As an example, the test platform can query the upgrade status every preset time. If the upgrade status queried by the test platform calling the interface is "upgrading" or "waiting for upgrade", it means that the upgrade is still in progress, and the upgrade status can be queried again after the preset time. If the upgrade status is "upgrade successful" or "upgrade failed", you can proceed to the next step.
[0138] Specifically, if the upgrade status is "upgrade successful", the upgrade result can be recorded as upgrade successful, and the remaining test steps can be continued. If the upgrade status is "upgrade failed", on the one hand, the upgrade result can be recorded as upgrade failure, and the number of stress tests can be recorded through the stress test counter. On the other hand, the interface can be called to query the error cause that caused the upgrade failure, and the error cause can be recorded in the upgrade result, and then return to continue to execute the above test steps.
[0139] Based on this, in order to implement the upgrade of the domain controller from the second baseline to the same version of the second baseline, in some embodiments, the above S140 may specifically include:
[0140] Obtain a second full package corresponding to the second baseline, where the second full package is used to perform a self-upgrade of the domain controller to the same version as that corresponding to the second baseline;
[0141] Sending a second full packet to the device under test to trigger the device under test to download the second full packet, the device under test comprising a domain controller;
[0142] When it is monitored that the download of the second full package is completed, a target instruction is sent to the device under test, where the target instruction is used to instruct the device under test to perform an upgrade operation corresponding to the second full package on the domain controller.
[0143] Here, the device under test can be a test vehicle, a test bench, or other devices including a domain controller, which are not limited here. In addition, after the device under test downloads the second full package, the original second baseline can be overwritten based on the second full package. For example, in the actual application process of self-upgrade of the same version, if the second baseline was not fully installed successfully during the last upgrade, the same version self-upgrade can be performed during the next upgrade to overwrite the original second baseline based on the second full package, so that the second baseline can be fully installed successfully.
[0144] As an example, under the premise that the domain controller is upgraded from the first baseline to the second baseline, if the test platform detects that the upgrade status is "no task status", it can be determined that the domain controller is already in the second baseline. If the upgrade status detected by the test platform is not "no task status", the upgrade status can be queried again after a preset period of time. When the upgrade status is "no task status", the next step can be performed.
[0145] Specifically, if the domain controller is in the second baseline, you can first obtain the full upgrade package corresponding to the second baseline from the OTA background, that is, the second full package, and then call the interface to send the second full package to the device under test. After the device under test receives the second full package, it can trigger the download of the second full package. While the device under test is downloading the second full package, that is, after the test platform sends the second full package to the device under test, the interface can be called to query the current upgrade status. If the upgrade status is "downloading", you can wait for a preset period of time and then query the upgrade status again. If the upgrade status is "prompt status", it can indicate that the second full package has been downloaded and you can proceed to the next step.
[0146] Specifically, if the test platform finds that the current upgrade status is "prompt status", a target instruction can be sent to the device under test. The target instruction can specifically be the fourth upgrade instruction, which can be used to instruct the device under test to perform an upgrade operation on the domain controller corresponding to the second full package. That is, after receiving the fourth upgrade instruction, the device under test can perform an upgrade operation corresponding to the second full package. During the process of the device under test performing the upgrade operation corresponding to the second full package, the test platform can continue to monitor the upgrade status.
[0147] In this way, by sending the second full package and the fourth upgrade instruction to the device under test when the domain controller is in the second baseline, the device under test can execute the upgrade operation corresponding to the second full package, thereby enabling the domain controller to self-upgrade from the second baseline to the same version of the second baseline.
[0148] In addition, as mentioned above, in actual situations, after the upgrade package is downloaded, the upgrade operation is usually not performed immediately. However, during the test, in order to improve the test speed, the upgrade operation is usually performed immediately after the upgrade package is downloaded. Therefore, in order to flexibly determine the upgrade method according to the test needs, in some embodiments, before sending the target instruction to the device under test, the following may also be included:
[0149] Acquire upgrade mode information, where the upgrade mode information includes a target time for sending a target command to the device under test;
[0150] Based on this, sending target instructions to the device under test may specifically include:
[0151] When the time reaches the target time, the target instruction is sent to the device under test.
[0152] Here, the target instruction may specifically be the fourth upgrade instruction. In addition, other steps of the method in the embodiment of the present application can refer to the relevant description of the embodiment shown above, and will not be described in detail here.
[0153] In some embodiments, in S150, if the third target version is the same as the second baseline, it can be determined that the same version self-upgrade is successful. In the case of a successful same version self-upgrade, the remaining test steps can be continued. That is, the full upgrade test from the first baseline to the second baseline can be continued. Since the domain controller is currently in the second baseline, the domain controller can be controlled to be downgraded from the second baseline to the first baseline before the full upgrade test. For controlling the domain controller to be downgraded from the second baseline to the first baseline, please refer to the relevant description of the embodiment shown above, and no further details will be given here.
[0154] In addition, the preset number of times may be the number of tests set by the user in the stress test task. In the embodiment of the present application, the number of tests may be recorded once by the stress test counter each time a complete test step is executed. In the case where each upgrade result is an upgrade failure, the number of tests may also be recorded once by the stress test counter.
[0155] In addition, the test report may include the test results and statistical information determined based on the test results. The statistical information may include, for example, the upgrade success rate of full upgrade, the upgrade success rate of differential upgrade, and the upgrade success rate of the same version self-upgrade.
[0156] Based on this, in order to better describe the entire solution, some specific examples are given based on the above embodiments.
[0157] For example, the OTA release upgrade stress test of the domain controller includes three subtasks that are executed in turn. The first subtask can be a full upgrade from the base version to the target version; the second subtask can be a differential upgrade from the base version to the target version; and the third subtask can be a self-upgrade of the same version of the target version.
[0158] As an example, Figure 2 As shown, the test process in the embodiment of the present application may include the following steps:
[0159] S21, OTA backend produces a stress test baseline for release testing;
[0160] S22. The test platform creates a stress testing task;
[0161] S23, setting the number of task execution times N;
[0162] S24, executing the first subtask;
[0163] S25, determine whether the first subtask is successfully executed, if yes, execute S26, if no, execute S210;
[0164] S26, executing the second subtask;
[0165] S27, determine whether the second subtask is successfully executed, if yes, execute S28, if no, execute S210;
[0166] S28, executing the third subtask;
[0167] S29, determining whether the second subtask is successfully executed;
[0168] S210, m = N-1;
[0169] S211. Determine whether m is greater than 0. If so, execute S24. If not, the OTA release test ends.
[0170] Specifically, the test process in the embodiment of the present application may also include steps S31 to S36.
[0171] S31. OTA backend produces release test stress test baseline.
[0172] In the OTA management background, you can create the first baseline and the second baseline that conform to the content of this stress test upgrade. When the domain controller is in the first baseline, when the OTA background pushes the second baseline to the test platform, if the full package is pushed, this upgrade can be a full upgrade of the first baseline to the second baseline, and the first subtask is executed at this time. If a differential package is pushed, this upgrade is a differential upgrade of the first baseline to the second baseline, and the second subtask is executed at this time. When the domain controller is upgraded to the second baseline, the second baseline is pushed again, and this upgrade is a self-upgrade of the same version of the second baseline, and the third subtask is executed this time.
[0173] S32. The test platform creates and starts the stress testing task.
[0174] On the test platform, you can create a stress testing task, complete the configuration of the upgrade number (test number) N, upgrade vehicle (tested device), stress testing baseline, upgrade method, etc., and start the stress testing task.
[0175] S33: The test platform executes the first subtask and completes the full upgrade from the first baseline to the second baseline.
[0176] The test platform first upgrades the domain controller to the first baseline, and then pushes the full upgrade package of the second baseline. After the upgrade package is downloaded, the upgrade is triggered to complete the full upgrade from the first baseline to the second baseline. For the detailed process, please refer to the relevant description of the embodiment shown above, which will not be repeated here.
[0177] S34: The test platform executes the second subtask to complete the differential upgrade from the first baseline to the second baseline.
[0178] The test platform first upgrades the domain controller to the first baseline, then pushes the differential upgrade package of the second baseline, waits for the upgrade package to be downloaded, triggers the upgrade, and completes the differential upgrade from the first baseline to the second baseline. For the detailed process, please refer to the relevant description of the embodiment shown above, which will not be repeated here.
[0179] S35. The test platform executes the third subtask and completes the same version self-upgrade of the second baseline.
[0180] The test platform directly pushes the full upgrade package of the second baseline to the domain controller, waits for the upgrade package to be downloaded, triggers the upgrade, and completes the self-upgrade of the second baseline. For detailed procedures, please refer to the relevant description of the embodiment shown above, which will not be repeated here.
[0181] S36. Check whether the stress test times have reached the set value, and determine whether to continue the stress test.
[0182] The test platform queries whether the stress test counter value reaches the stress test number set when creating the stress test task. If the current count value is less than the stress test task, the next stress test task cycle can be entered; if the current count value is equal to the stress test task, the stress test task can be ended and a stress test report can be generated.
[0183] Therefore, based on the OTA upgrade status and line flash tool, the embodiment of the present application automates the steps of forced downgrade, aligning the first baseline, full upgrade, differential upgrade, same version self-upgrade, etc. that must be manually performed in the domain controller OTA version release test by calling the OTA background interface, forming a stress test solution for the domain controller OTA version release upgrade. After the tester manually creates the upgrade baseline and stress test tasks, the unattended domain controller OTA version release stress test can be realized. In the embodiment of the present application, a test computer is arranged on the test bench or the test vehicle, and no other conventional test equipment is required to assist the test. The operation is simple, the investment is small, and the output is large.
[0184] Through the embodiments of the present application, firstly, the manpower occupied by the domain controller OTA version release and upgrade test is greatly liberated, and the testers can devote themselves to other work after hanging up the stress testing task; secondly, the test depth of the domain controller OTA version release and upgrade test is greatly increased, which can fully expose some low-probability problems, verify the stability of OTA upgrade, and improve the quality of version delivery; thirdly, it can make full use of nighttime and holiday time for automated stress testing, maximize the use of test resources, and can quickly increase the sample size in a short time by increasing the number of test benches.
[0185] Based on the test method provided in the above embodiment, the present application also provides a specific implementation of the test platform. Please refer to the following embodiment.
[0186] like Figure 3 As shown, the test platform 300 provided in the embodiment of the present application includes the following modules:
[0187] The first control module 310 is used to control the domain controller to perform a full upgrade from the first baseline to the second baseline to obtain a first target version when the domain controller is in the first baseline, the first baseline is a test baseline corresponding to the base version, the second baseline is a test baseline corresponding to the target version, and the target version includes any one of the first target version, the second target version, and the third target version;
[0188] The second control module 320 is used to control the domain controller to downgrade from the second baseline to the first baseline when the first target version is the same as the second baseline;
[0189] The third control module 330 is used to control the domain controller to perform a differential upgrade from the first baseline to the second baseline to obtain a second target version;
[0190] The fourth control module 340 is used to control the domain controller to perform a self-upgrade of the same version corresponding to the second baseline to obtain a third target version when the second target version is the same as the second baseline;
[0191] The fifth control module 350 is used to control the domain controller to downgrade from the second baseline to the first baseline when the third target version is the same as the second baseline, and return to execute the control domain controller to perform a full upgrade from the first baseline to the second baseline until the number of tests reaches a preset number, and generate a test report.
[0192] The above test platform 300 is described in detail below, as shown below:
[0193] In some embodiments, the first control module 310 may specifically include:
[0194] A first acquisition submodule is used to acquire a first full package corresponding to a second baseline when the domain controller is in the first baseline, wherein the first full package is used to fully upgrade the domain controller from the first baseline to the second baseline;
[0195] A first sending submodule, configured to send a first full packet to a device under test to trigger the device under test to download the first full packet, wherein the device under test includes a domain controller;
[0196] The second sending submodule is used to send a target instruction to the device under test when monitoring that the download of the first full package is completed, and the target instruction is used to instruct the device under test to perform an upgrade operation corresponding to the first full package on the domain controller.
[0197] In some embodiments, the third control module 330 may specifically include:
[0198] A second acquisition submodule is used to acquire a differential upgrade package corresponding to both the first baseline and the second baseline, where the differential upgrade package is used to differentially upgrade the domain controller from the first baseline to the second baseline;
[0199] The third sending submodule is used to send a differential upgrade package to the device under test to trigger the device under test to download the differential upgrade package, and the device under test includes a domain controller;
[0200] The fourth sending submodule is used to send a target instruction to the device under test when it is detected that the download of the differential upgrade package is completed. The target instruction is used to instruct the device under test to perform an upgrade operation corresponding to the differential upgrade package on the domain controller.
[0201] In some embodiments, the fourth control module 340 may specifically include:
[0202] A third acquisition module is used to acquire a second full package corresponding to the second baseline, where the second full package is used to perform a self-upgrade of the domain controller to the same version corresponding to the second baseline;
[0203] A fifth sending module, configured to send a second full packet to the device under test to trigger the device under test to download the second full packet, wherein the device under test includes a domain controller;
[0204] The sixth sending module is used to send a target instruction to the device under test when monitoring that the download of the second full package is completed, and the target instruction is used to instruct the device under test to perform an upgrade operation corresponding to the second full package on the domain controller.
[0205] In some embodiments, the domain controller includes a first subsystem and a second subsystem. Based on this, the second control module 320 may specifically include:
[0206] A downgrade submodule, used for performing a line-brush downgrade corresponding to the first baseline on the first subsystem, wherein the line-brush downgrade is used for downgrading the first subsystem from the second baseline to the first baseline;
[0207] The control submodule is used to control the second subsystem to perform a full upgrade corresponding to the first baseline, and the full upgrade is used to downgrade the second subsystem from the second baseline to the first baseline.
[0208] In some embodiments, the second control module 320 may further include:
[0209] A fourth acquisition submodule, configured to acquire configuration information after downgrading the first subsystem by line brushing corresponding to the first baseline;
[0210] The configuration submodule is used to perform configuration operations corresponding to the configuration information on the domain controller.
[0211] In some embodiments, the control submodule may specifically include:
[0212] An acquisition unit, configured to acquire a third full package corresponding to the first baseline, wherein the third full package is used to downgrade the domain controller from the second baseline to the first baseline;
[0213] A first sending unit is used to send a third full packet to a device under test to trigger the device under test to download the third full packet, wherein the device under test includes a domain controller;
[0214] The second sending unit is used to send a target instruction to the device under test when monitoring that the download of the third full package is completed, and the target instruction is used to instruct the device under test to perform an upgrade operation corresponding to the third full package on the domain controller.
[0215] In some embodiments, the first control module 310 may further include:
[0216] A fifth acquisition submodule, used for acquiring upgrade mode information before sending the target instruction to the device under test, wherein the upgrade mode information includes a target time for sending the target instruction to the device under test;
[0217] Based on this, the second sending submodule may specifically include:
[0218] The third sending unit is used to send a target instruction to the device under test when the time reaches the target time.
[0219] The test platform of the embodiment of the present application controls the domain controller to perform a full upgrade from the first baseline to the second baseline when the domain controller is in the first baseline, and obtains the first target version, which can test the full upgrade. By controlling the domain controller to downgrade from the second baseline to the first baseline when the first target version is the same as the second baseline (i.e., the full upgrade is successful), it is possible to prepare for the differential upgrade when the full upgrade is successful. By controlling the domain controller to perform a differential upgrade from the first baseline to the second baseline, the second target version is obtained, and the differential upgrade can be continued to be tested. By controlling the domain controller to perform the same version self-upgrade corresponding to the second baseline when the second target version is the same as the second baseline (i.e., the differential upgrade is successful), the third target version is obtained, and the stability of the same version self-upgrade can be continued to be tested when the differential upgrade is successful. By controlling the domain controller to downgrade from the second baseline to the first baseline when the third target version is the same as the second baseline (i.e., the same version self-upgrade is successful), it is possible to prepare for the next full upgrade when the same version self-upgrade is successful. In this way, by looping the above steps for a preset number of times, the automation of the OTA version upgrade test of the domain controller can be realized, saving human resources. That is, by automating the OTA release and upgrade test of the domain controller, a single user can test multiple samples at the same time. This can improve the test efficiency of a single user, increase the number of tests within the target time, and improve the reliability of the test results.
[0220] Based on the testing method provided in the above embodiment, the embodiment of the present application also provides a specific implementation of the electronic device. Figure 4 A schematic diagram of an electronic device 400 provided in an embodiment of the present application is shown.
[0221] The electronic device 400 may include a processor 410 and a memory 420 storing computer program instructions.
[0222] Specifically, the processor 410 may include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or may be configured to implement one or more integrated circuits of the embodiments of the present application.
[0223] The memory 420 may include a large capacity memory for data or instructions. By way of example and not limitation, the memory 420 may include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a universal serial bus (USB) drive or a combination of two or more of these. In appropriate cases, the memory 420 may include a removable or non-removable (or fixed) medium. In appropriate cases, the memory 420 may be inside or outside the integrated gateway disaster recovery device. In a specific embodiment, the memory 420 is a non-volatile solid-state memory.
[0224] The memory may include a read-only memory (ROM), a random access memory (RAM), a magnetic disk storage medium device, an optical storage medium device, a flash memory device, an electrical, optical or other physical / tangible memory storage device. Thus, typically, the memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., a memory device) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the method according to the first aspect of the present application.
[0225] The processor 410 implements any one of the testing methods in the above embodiments by reading and executing computer program instructions stored in the memory 420 .
[0226] In one example, the electronic device 400 may further include a communication interface 430 and a bus 440. Figure 4 As shown, the processor 410, the memory 420, and the communication interface 430 are connected via a bus 440 and communicate with each other.
[0227] The communication interface 430 is mainly used to implement communication between various modules, devices, units and / or equipment in the embodiments of the present application.
[0228] Bus 440 includes hardware, software or both, and the parts of electronic equipment are coupled to each other.For example, but not limitation, bus may include accelerated graphics port (AGP) or other graphics bus, enhanced industrial standard architecture (EISA) bus, front side bus (FSB), hypertransport (HT) interconnection, industrial standard architecture (ISA) bus, infinite bandwidth interconnection, low pin count (LPC) bus, memory bus, micro channel architecture (MCA) bus, peripheral component interconnection (PCI) bus, PCI-Express (PCI-X) bus, serial advanced technology attachment (SATA) bus, video electronics standard association local (VLB) bus or other suitable bus or two or more of these combinations. In appropriate cases, bus 440 may include one or more buses. Although the present application embodiment describes and shows a specific bus, the application considers any suitable bus or interconnection.
[0229] Exemplarily, the electronic device 400 may be a mobile phone, a tablet computer, a laptop computer, a PDA, an in-vehicle electronic device, an ultra-mobile personal computer (UMPC), a netbook, or a personal digital assistant (PDA).
[0230] The electronic device can execute the test method in the embodiment of the present application, thereby realizing the combination Figures 1 to 3 Describe the test methodology and test platform.
[0231] In addition, in combination with the test method in the above embodiment, the embodiment of the present application can provide a computer-readable storage medium for implementation. The computer-readable storage medium stores computer program instructions; when the computer program instructions are executed by a processor, any one of the test methods in the above embodiment is implemented.
[0232] In addition, the embodiment of the present application further provides a vehicle, which may include at least one of the following:
[0233] A test platform as in any one of the embodiments of the second aspect;
[0234] An electronic device as in any one of the embodiments of the third aspect;
[0235] The computer-readable storage medium in any one of the embodiments of the fourth aspect will not be described in detail here.
[0236] It should be clear that the present application is not limited to the specific configuration and processing described above and shown in the figures. For the sake of simplicity, a detailed description of the known method is omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present application is not limited to the specific steps described and shown, and those skilled in the art can make various changes, modifications and additions, or change the order between the steps after understanding the spirit of the present application.
[0237] The functional blocks shown in the above-described block diagram can be implemented as hardware, software, firmware or a combination thereof. When implemented in hardware, it can be, for example, an electronic circuit, an application specific integrated circuit (ASIC), appropriate firmware, a plug-in, a function card, etc. When implemented in software, the elements of the present application are programs or code segments that are used to perform the required tasks. The program or code segment can be stored in a machine-readable medium, or transmitted on a transmission medium or a communication link by a data signal carried in a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, optical fiber media, radio frequency (RF) links, etc. The code segment can be downloaded via a computer network such as the Internet, an intranet, etc.
[0238] It should also be noted that the exemplary embodiments mentioned in this application describe some methods or systems based on a series of steps or devices. However, this application is not limited to the order of the above steps, that is, the steps can be performed in the order mentioned in the embodiment, or in a different order from the embodiment, or several steps can be performed simultaneously.
[0239] The above reference is according to the method of the embodiment of the present application, the flow chart of the device (system) and the computer program product and / or the block diagram described various aspects of the present application.It should be understood that each square box in the flow chart and / or the block diagram and the combination of each square box in the flow chart and / or the block diagram can be realized by computer program instructions.These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer or other programmable data processing device to produce a machine so that these instructions executed by the processor of the computer or other programmable data processing device enable the realization of the function / action specified in one or more square boxes of the flow chart and / or the block diagram.Such a processor can be but is not limited to a general-purpose processor, a special-purpose processor, a special application processor or a field programmable logic circuit.It can also be understood that each square box in the block diagram and / or the flow chart and the combination of the square boxes in the block diagram and / or the flow chart can also be realized by the dedicated hardware that performs the specified function or action, or can be realized by the combination of dedicated hardware and computer instructions.
[0240] The above is only a specific implementation of the present application. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working processes of the systems, modules and units described above can refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here. It should be understood that the protection scope of the present application is not limited to this. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed in this application, and these modifications or replacements should be included in the protection scope of this application.
Claims
1. A testing method, characterized in that: include: When the domain controller is in a first baseline, controlling the domain controller to perform a full upgrade from the first baseline to a second baseline to obtain a first target version, wherein the first baseline is a test baseline corresponding to a base version, and the second baseline is a test baseline corresponding to a target version, and the target version includes any one of the first target version, the second target version, and the third target version; When the first target version is the same as the second baseline, controlling the domain controller to downgrade from the second baseline to the first baseline; Controlling the domain controller to perform a differential upgrade from the first baseline to the second baseline to obtain the second target version; When the second target version is the same as the second baseline, controlling the domain controller to perform self-upgrade with the same version corresponding to the second baseline to obtain the third target version; When the third target version is the same as the second baseline, the domain controller is controlled to downgrade from the second baseline to the first baseline, and the control of the domain controller is returned to perform a full upgrade from the first baseline to the second baseline until the number of tests reaches a preset number and a test report is generated.
2. The method according to claim 1, characterized in that When the domain controller is at the first baseline, controlling the domain controller to perform a full upgrade from the first baseline to the second baseline includes: When the domain controller is at the first baseline, obtaining a first full package corresponding to the second baseline, where the first full package is used to fully upgrade the domain controller from the first baseline to the second baseline; Sending the first full package to a device under test to trigger the device under test to download the first full package, the device under test including the domain controller; When it is monitored that the download of the first full package is completed, a target instruction is sent to the device under test, where the target instruction is used to instruct the device under test to perform an upgrade operation corresponding to the first full package on the domain controller.
3. The method according to claim 1, characterized in that The controlling the domain controller to perform a differential upgrade from the first baseline to the second baseline includes: Acquire a differential upgrade package corresponding to both the first baseline and the second baseline, wherein the differential upgrade package is used to differentially upgrade the domain controller from the first baseline to the second baseline; Sending the differential upgrade package to a device under test to trigger the device under test to download the differential upgrade package, wherein the device under test includes the domain controller; When it is detected that the download of the differential upgrade package is completed, a target instruction is sent to the device under test, where the target instruction is used to instruct the device under test to perform an upgrade operation corresponding to the differential upgrade package on the domain controller.
4. The method according to claim 1, characterized in that The controlling the domain controller to perform self-upgrade with the same version corresponding to the second baseline includes: Obtaining a second full package corresponding to the second baseline, where the second full package is used to perform a self-upgrade of the domain controller to the same version corresponding to the second baseline; Sending the second full package to a device under test to trigger the device under test to download the second full package, the device under test including the domain controller; When it is monitored that the download of the second full package is completed, a target instruction is sent to the device under test, where the target instruction is used to instruct the device under test to perform an upgrade operation corresponding to the second full package on the domain controller.
5. The method according to claim 1, characterized in that The domain controller includes a first subsystem and a second subsystem, and controlling the domain controller to downgrade from the second baseline to the first baseline includes: Performing a line brush downgrade corresponding to the first baseline on the first subsystem, wherein the line brush downgrade is used to downgrade the first subsystem from the second baseline to the first baseline; The second subsystem is controlled to perform a full upgrade corresponding to the first baseline, where the full upgrade is used to downgrade the second subsystem from the second baseline to the first baseline.
6. The method according to claim 5, characterized in that After downgrading the first subsystem to the first baseline, the method further includes: Get configuration information; Perform a configuration operation corresponding to the configuration information on the domain controller.
7. The method according to claim 5, characterized in that The controlling the second subsystem to perform a full upgrade corresponding to the first baseline includes: Acquire a third full package corresponding to the first baseline, where the third full package is used to downgrade the domain controller from the second baseline to the first baseline; Sending the third full package to a device under test to trigger the device under test to download the third full package, wherein the device under test includes the domain controller; When it is monitored that the download of the third full package is completed, a target instruction is sent to the device under test, where the target instruction is used to instruct the device under test to perform an upgrade operation corresponding to the third full package on the domain controller.
8. The method according to any one of claims 2, 3, 4 and 7, characterized in that: Before sending the target instruction to the device under test, the method further includes: Acquire upgrade mode information, wherein the upgrade mode information includes a target time for sending the target instruction to the device under test; The sending a target instruction to the device under test includes: When the time reaches the target time, a target instruction is sent to the device under test.
9. A test platform, characterized in that: The test platform comprises: A first control module is used to control the domain controller to perform a full upgrade from the first baseline to a second baseline to obtain a first target version when the domain controller is in a first baseline, wherein the first baseline is a test baseline corresponding to a base version, and the second baseline is a test baseline corresponding to a target version, wherein the target version includes any one of the first target version, the second target version, and the third target version; a second control module, configured to control the domain controller to downgrade from the second baseline to the first baseline when the first target version is the same as the second baseline; A third control module, used for controlling the domain controller to perform a differential upgrade from the first baseline to the second baseline to obtain the second target version; A fourth control module is used to control the domain controller to perform a self-upgrade of the same version corresponding to the second baseline to obtain the third target version when the second target version is the same as the second baseline; The fifth control module is used to control the domain controller to downgrade from the second baseline to the first baseline when the third target version is the same as the second baseline, and return to execute the control of the domain controller to perform a full upgrade from the first baseline to the second baseline until the number of tests reaches a preset number, and generate a test report.
10. An electronic device, characterized in that: The electronic device comprises: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, the testing method according to any one of claims 1 to 8 is implemented.
11. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer program instructions, and when the computer program instructions are executed by a processor, the testing method according to any one of claims 1 to 8 is implemented.
12. A vehicle, characterized in that: Include at least one of the following: The test platform as claimed in claim 9; The electronic device as claimed in claim 10; The computer readable storage medium of claim 11.