Automatic software testing method and device, electronic equipment and storage medium

Through automated software testing methods, vehicle information is collected and communication connections are established with diagnostic equipment, automated testing of automobile diagnostic instruments is realized, time-consuming and labor-consuming problems of traditional testing methods are solved, and testing efficiency and user experience are improved.

CN119226147APending Publication Date: 2024-12-31THINKCAR TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411173298.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-26
Publication Date
2024-12-31

AI Technical Summary

Technical Problem

The software testing methods of existing automotive diagnostic instruments are traditional and time-consuming, resulting in incomplete coverage of models, incomplete testing, poor user experience, and inability to promptly detect problems such as unsupported functions.

Method used

Using automated software testing methods, we can establish a test platform by collecting vehicle information from multiple types of cars, establish communication connections with diagnostic equipment, run diagnostic software, send test instructions, obtain feedback information and generate test reports, upload to the cloud platform, realize automated testing and Functional coverage.

Benefits of technology

It improves testing efficiency and vehicle coverage, reduces manual operations, promptly discovers information that fails the test, and improves the pass rate and user experience of the diagnostic instrument.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119226147A_ABST
    Figure CN119226147A_ABST
Patent Text Reader

Abstract

The invention discloses an automatic software testing method and device, electronic equipment and a storage medium, the method is applied to a testing platform, and the testing platform is connected with diagnosis equipment and an automobile simulation platform and used for sending an instruction to control the diagnosis equipment to test and receiving testing data sent by the automobile simulation platform. The method comprises the steps that vehicle information of multiple types of vehicles is collected, a test platform is established according to the vehicle information, and the vehicle information comprises a VIN code, a vehicle communication protocol, fault information and vehicle system information; the method comprises the following steps: establishing communication connection with diagnostic equipment, running diagnostic software on the diagnostic equipment, and sending a first test instruction according to a preset program so as to test the diagnostic software; feedback information of the diagnosis equipment is acquired, a test report is generated, and the test report is uploaded to a cloud platform; automatic testing of the diagnostic instrument can be achieved, manual operation is reduced, and testing efficiency is improved; and the user experience is also improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of diagnostic software testing, and in particular to an automated software testing method, device, electronic equipment and storage medium. Background Art

[0002] At present, most automobile manufacturers use professional diagnostic instruments to perform maintenance and inspection on automobile system failures. This instrument is an intelligent automobile fault self-test instrument used to detect automobile failures. Users can use it to quickly read the faults in the automobile electronic control system and display the fault information through the LCD screen to quickly find out the location and cause of the fault.

[0003] Before such diagnostic instruments are put on the market, the diagnostic software developed by them needs to be tested to ensure that the software can run normally and support users to detect cars. Nowadays, technical means are changing with each passing day, but the way to test diagnostic instruments and diagnostic software is still relatively traditional. Traditional testing usually uses diagnostic instruments to connect to real cars for actual testing and verification, which is time-consuming and labor-intensive, and there will be incomplete coverage of vehicle models. In addition, the testing methods are backward, and many car models cannot be tested. Only rough tests can be performed, which will result in incomplete testing, incomplete support for diagnostic instrument models, and a series of user experience problems caused by the failure to support certain car functions but fail to test them in time, resulting in a poor user experience. Summary of the invention

[0004] In order to solve the defects in the prior art, the present invention provides an automated software testing method, device, electronic device and storage medium.

[0005] The technical document provided by the present invention is an automated software testing method, which is applied to a testing platform, wherein the testing platform is connected to a diagnostic device and an automobile simulation platform, and is used to send instructions to control the diagnostic device test and receive test data sent by the automobile simulation platform. The method comprises:

[0006] Collecting vehicle information of multiple types of vehicles to establish a test platform according to the vehicle information, wherein the vehicle information includes VIN code, vehicle communication protocol, fault information and vehicle system information;

[0007] Establishing a communication connection with a diagnostic device, running diagnostic software on the diagnostic device, and sending a first test instruction according to a pre-set program to test the diagnostic software;

[0008] Obtain feedback information from the diagnostic device and generate a test report, and upload the test report to the cloud platform.

[0009] Optionally, the specific steps of collecting data information of multiple types of vehicles and establishing a test platform according to the data information include:

[0010] Collect vehicle information of multiple types of vehicles through data collection equipment;

[0011] Encoding the vehicle information and making it into text data;

[0012] A test program is written according to the text data to achieve interaction with the diagnostic equipment and the automobile simulation platform.

[0013] Optionally, the specific steps of establishing a communication connection with a diagnostic device, running diagnostic software on the diagnostic device, and sending a first test instruction according to a preset program to test the diagnostic software include:

[0014] Establishing a connection with a diagnostic device and capturing a diagnostic software program page of the diagnostic device;

[0015] According to the diagnostic software program page, searching for functional elements therein, wherein the functional elements include vehicle diagnosis, automatic scanning and report generation;

[0016] According to a preset procedure, one of the functional elements is captured, and a first test instruction is sent to the diagnostic device. The vehicle simulation platform feeds back corresponding data according to the first test instruction to implement testing of the diagnostic software.

[0017] Optionally, the specific steps of obtaining feedback information from the diagnostic device and generating a test report, and uploading the test report to the cloud platform include:

[0018] Obtaining the diagnostic software page information and verifying whether the data fed back by the automobile simulation platform meets the preset conditions;

[0019] If so, complete the test of this function of the diagnostic software, and test the other functions of the diagnostic software one by one according to the above steps, generate a test report and upload it to the cloud platform.

[0020] Optionally, if not, after the specific steps of marking the test function item, generating a test report and prompting the tester that the diagnostic software test item has not passed, the method further includes:

[0021] If not, a cancel instruction is sent to end the functional test and mark the test function item;

[0022] Obtain the diagnostic software page information, send a second test instruction, and capture another functional element for testing. Follow the above steps until all functional tests of the diagnostic software are completed, generate a test report and upload it to the cloud platform, and prompt the tester of the items that failed the diagnostic software test.

[0023] The present application also discloses an automated software testing device, comprising:

[0024] A collection module, used to collect vehicle information of multiple types of vehicles to establish a test platform according to the vehicle information, wherein the vehicle information includes VIN code, vehicle communication protocol, fault information and vehicle system information;

[0025] A test module, used to establish a communication connection with a diagnostic device, run the diagnostic software on the diagnostic device, and send a first test instruction according to a preset program to test the diagnostic software;

[0026] The first acquisition module is used to obtain feedback information from the diagnostic device and generate a test report, and upload the test report to the cloud platform.

[0027] Optionally, also include:

[0028] A marking module, for sending a cancellation instruction if no, so as to end the functional test and mark the test function item;

[0029] The second acquisition module is used to obtain the diagnostic software page information, send a second test instruction, and capture another functional element for testing, follow the above steps until all functional tests of the diagnostic software are completed, generate a test report and upload it to the cloud platform, and prompt the tester of the items that failed the diagnostic software test.

[0030] The present application also discloses an electronic device, which includes a memory and a processor, wherein the memory is used to store a computer program, and the processor is used to call the computer program, so that the electronic device executes the steps of automated software testing as described above.

[0031] The present application also discloses a computer-readable storage medium, comprising instructions, which, when executed on an electronic device, enable the electronic device to execute the steps of automated software testing as described above.

[0032] The present application also discloses a computer program product, which includes computer instructions. When the computer instructions are run on an electronic device, the electronic device executes the steps of automated software testing as described above.

[0033] Beneficial effects: The present invention collects vehicle information of multiple types of vehicles to establish a test platform based on the vehicle information, thereby improving vehicle coverage and effectively improving test efficiency. There is no need to use a real vehicle every time for testing, which saves time and effort and does not require worrying about omissions. By establishing a communication connection with a diagnostic device, running the diagnostic software on the diagnostic device, and sending a first test instruction according to a pre-set program to test the diagnostic software, the diagnostic instrument can be automatically tested, manual operations can be reduced, and test efficiency can be improved. By obtaining feedback information from the diagnostic device and generating a test report, and uploading the test report to a cloud platform, information on test failure can be obtained in a timely manner, and testers can check and repair failed functions, check for omissions in a timely manner, and avoid missed tests, thereby improving the pass rate of the diagnostic instrument and improving the user experience. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] Figure 1 It is a schematic diagram of a flow chart of the automated software testing method of the present invention;

[0035] Figure 2 It is a structural schematic diagram of the automated software testing device of the present invention;

[0036] Figure 3 It is a schematic diagram of the structure of the electronic device of the present invention.

[0037] As shown in the figure: 10, acquisition module; 20, test module; 30, first acquisition module. DETAILED DESCRIPTION

[0038] In order to facilitate the understanding of the present invention, the present invention is described in more detail below in conjunction with the accompanying drawings and specific embodiments. Preferred embodiments of the present invention are provided in the accompanying drawings. However, the present invention can be implemented in many different forms and is not limited to the embodiments described in this specification. On the contrary, the purpose of providing these embodiments is to make the understanding of the disclosure of the present invention more thorough and comprehensive.

[0039] It should be noted that when an element is referred to as being "fixed to" another element, it may be directly on the other element or there may be a central element. When an element is considered to be "connected to" another element, it may be directly connected to the other element or there may be a central element at the same time. The terms "fixed", "integrally formed", "left", "right" and similar expressions used in this specification are for illustrative purposes only. In the drawings, units with similar structures are marked with the same reference numerals.

[0040] Unless otherwise defined, all technical and scientific terms used in this specification have the same meaning as those commonly understood by those skilled in the art of the present invention. The terms used in this specification in the specification of the present invention are only for the purpose of describing specific embodiments and are not intended to limit the present invention.

[0041] The present invention will be described in detail below in conjunction with the accompanying drawings.

[0042] Embodiment 1:

[0043] See also Figure 1 , an automated software testing method, the method is applied to a test platform, the test platform is connected to a diagnostic device and a vehicle simulation platform, and is used to send instructions to control the diagnostic device test and receive test data sent by the vehicle simulation platform, the method comprising:

[0044] Step S1, collecting vehicle information of multiple types of vehicles to establish a test platform according to the vehicle information, wherein the vehicle information includes VIN code, vehicle communication protocol, fault information and vehicle system information;

[0045] Step S2, establishing a communication connection with a diagnostic device, running the diagnostic software on the diagnostic device, and sending a first test instruction according to a pre-set program to test the diagnostic software;

[0046] Step S3: Obtain feedback information from the diagnostic device and generate a test report, and upload the test report to the cloud platform.

[0047] As described in the above steps S1-S3, the test platform is connected to the diagnostic device, can control the operation of the diagnostic device, simulate the manual test software scenario, send instructions to the diagnostic device, and the diagnostic device interacts with the vehicle simulation platform to perform vehicle simulation testing.

[0048] When collecting vehicle information of a car, a collection box is usually used to collect information, and the information can be uploaded to the cloud platform after the collection box collects the information. When collecting information, it is necessary to connect and communicate with the OBD interface of the car. The main collected data include the car's unique identification VIN code, the car's communication protocol information (the protocol used to communicate when the diagnostic instrument interacts with the car), the fault code information (the code output when a part of the car fails, indicating the fault location and cause), and the car's system information (such as the body, airbag, brake, chassis, etc.). After collecting the car information, use this information to establish a test platform that can interact with the diagnostic instrument. Then the test platform can control the diagnostic equipment to run the diagnostic software, send the first test instruction, and click a function to start the test; then the car simulation platform will feedback the corresponding information according to the command sent by the diagnostic equipment, and the diagnostic equipment will read it and send it to the test platform. The test platform verifies the feedback information and generates a test report. Finally, the test report is uploaded to the cloud platform. The tester can view the test results online, which greatly improves the test efficiency and reduces labor costs.

[0049] Optionally, the specific steps of collecting data information of multiple types of vehicles and establishing a test platform according to the data information include:

[0050] Step S11, collecting vehicle information of multiple types of vehicles through a data collection device;

[0051] Step S12, encoding the vehicle information and making it into text data;

[0052] Step S13: writing a test program according to the text data to achieve interaction with the diagnostic equipment and the automobile simulation platform.

[0053] As described in the above steps S11-S13, the vehicle data information of the car is first collected through the collection box, and then the collected data information is re-encoded, and the encoded data is made into simulated text data. By writing a Windows-side program, the function of the program is to read the text data according to the data sent by the diagnostic device. When the windows program establishes communication with the diagnostic device and the car simulation platform, it sends instructions to the diagnostic device, the diagnostic device sends commands to the car simulation platform, the simulation platform feeds back corresponding data to the diagnostic device, and the windows program obtains the data of the diagnostic device to read the corresponding text data.

[0054] Optionally, the specific steps of establishing a communication connection with a diagnostic device, running diagnostic software on the diagnostic device, and sending a first test instruction according to a preset program to test the diagnostic software include:

[0055] Step S21, establishing a connection with a diagnostic device, and capturing a diagnostic software program page of the diagnostic device;

[0056] Step S22, searching for functional elements from the diagnostic software program page, wherein the functional elements include vehicle diagnosis, automatic scanning and report generation;

[0057] Step S23, according to a preset procedure, capture one of the functional elements, send a first test instruction to the diagnostic device, and the vehicle simulation platform feeds back corresponding data according to the first test instruction to implement testing of the diagnostic software.

[0058] As described in the above steps S21-S23, after the test platform is connected to the diagnostic device, the diagnostic software on the diagnostic device is run. After the diagnostic software is running, the software operation interface is automatically entered. Various function buttons are displayed on the operation interface. At this time, the main test functions are found, and then a function is selected from the interface of the diagnostic software according to the preset test program and clicked to control the diagnostic software to perform the test. The software test can be automatically completed without manual operation, saving manpower.

[0059] Optionally, the specific steps of obtaining feedback information from the diagnostic device and generating a test report, and uploading the test report to the cloud platform include:

[0060] Step S31, obtaining the diagnostic software page information, and verifying whether the data fed back by the automobile simulation platform meets the preset conditions;

[0061] Step S32: If yes, then complete the test of this function of the diagnostic software, and test the other functions of the diagnostic software one by one according to the above steps, generate a test report and upload it to the cloud platform.

[0062] As described in the above steps S31 and S32, the test platform controls the diagnostic equipment to perform tests, and the diagnostic equipment will send commands to the vehicle simulation platform (such as vehicle diagnosis, automatic scanning, software downloading, report generation, etc.). The vehicle simulation platform will simulate the corresponding information of the vehicle feedback according to the commands of the diagnostic equipment. After the diagnostic equipment receives the information, it will be displayed on the interface. At this time, the test platform obtains data from the page information of the diagnostic equipment and verifies it with the preset data. If the preset conditions are met, the function test is completed, and the test platform automatically starts the next function test until all the functions to be tested are completed. Finally, the test report is generated and uploaded to the cloud platform, and the tester can check it online at any time.

[0063] Optionally, if not, after the specific steps of marking the test function item, generating a test report and prompting the tester that the diagnostic software test item has not passed, the method further includes:

[0064] Step S33: If not, a cancel instruction is sent to end the function test and mark the test function item;

[0065] Step S34, obtain the diagnostic software page information, send a second test instruction, and capture another functional element for testing, follow the above steps until all functional tests of the diagnostic software are completed, generate a test report and upload it to the cloud platform, and prompt the tester of the items that failed the diagnostic software test.

[0066] As described in the above steps S33 and S34, if the data fed back by the vehicle simulation platform obtained by the test platform from the diagnostic device does not match the preset data, the test platform sends a cancel command to control the diagnostic device to exit the test and mark the test function of the diagnostic device; then select another function from the page information of the diagnostic device and send a second test command for testing until all the functions that need to be tested by the diagnostic device are completed. Finally, a test report is generated and uploaded to the cloud platform, and the test personnel are reminded of the functional items that failed the test, so that the test personnel can find and deal with them in time, effectively avoid omissions, and improve the final pass rate of the diagnostic equipment.

[0067] Embodiment 2:

[0068] The present application also discloses an automated software testing device, comprising:

[0069] The acquisition module 10 is used to acquire vehicle information of multiple types of vehicles to establish a test platform according to the vehicle information, wherein the vehicle information includes VIN code, vehicle communication protocol, fault information and vehicle system information;

[0070] The test module 20 is used to establish a communication connection with the diagnostic device, run the diagnostic software on the diagnostic device, and send a first test instruction according to a preset program to test the diagnostic software;

[0071] The first acquisition module 30 is used to acquire feedback information from the diagnostic device and generate a test report, and upload the test report to the cloud platform.

[0072] Optionally, also include:

[0073] A marking module, for sending a cancellation instruction if no, so as to end the functional test and mark the test function item;

[0074] The second acquisition module is used to obtain the diagnostic software page information, send a second test instruction, and capture another functional element for testing, follow the above steps until all functional tests of the diagnostic software are completed, generate a test report and upload it to the cloud platform, and prompt the tester of the items that failed the diagnostic software test.

[0075] Furthermore, the acquisition module 10 further includes:

[0076] A collection unit, used for collecting vehicle information of multiple types of vehicles through a data collection device;

[0077] An encoding unit, used for encoding the vehicle information and making it into text data;

[0078] The writing unit is used to write a test program according to the text data to achieve interaction with the diagnostic equipment and the automobile simulation platform.

[0079] Furthermore, the testing module 20 also includes:

[0080] A capture unit, used to establish a connection with a diagnostic device and capture a diagnostic software program page of the diagnostic device;

[0081] A search unit, configured to search for functional elements from the diagnostic software program page, wherein the functional elements include vehicle diagnosis, automatic scanning, and report generation;

[0082] The test unit is used to capture one of the functional elements according to a preset program and send a first test instruction to the diagnostic device. The vehicle simulation platform feeds back corresponding data according to the first test instruction to test the diagnostic software.

[0083] Furthermore, the first acquisition module 30 further includes:

[0084] A verification unit, used to obtain the diagnostic software page information and verify whether the data fed back by the automobile simulation platform meets the preset conditions;

[0085] The generating unit is used to complete the test of this function of the diagnostic software, and test the other functions of the diagnostic software one by one according to the above steps, and generate a test report and upload it to the cloud platform.

[0086] Embodiment three:

[0087] See also Figure 3 The present application also discloses an electronic device, which includes a memory and a processor, wherein the memory is used to store a computer program, and the processor is used to call the computer program so that the electronic device executes the steps of the automated software testing method as described above.

[0088] The present application also discloses a computer-readable storage medium, comprising instructions. When the instructions are executed on an electronic device, the electronic device executes the steps of the automated software testing method as described above.

[0089] The present application also discloses a computer program product, which includes computer instructions. When the computer instructions are run on an electronic device, the electronic device executes the steps of the automated software testing method as described above.

[0090] In the embodiments provided in the present application, it should be understood that the disclosed equipment, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, and units with the same function may be combined into one unit. For example, multiple units or components may be combined or integrated into another diagnostic system, or some features may be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interfaces, devices or units, or may be electrical, mechanical or other forms of connection.

[0091] The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the embodiments of the present application.

[0092] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0093] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium, including a number of instructions to enable an electronic device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only processor (ROM, Read-Only Memory), a disk or an optical disk.

[0094] It should be noted that the above-mentioned technical features are further combined with each other to form various embodiments not listed above, which are all deemed to be within the scope of the present invention; and, for ordinary technicians in this field, they can be improved or transformed according to the above description, and all these improvements and transformations should fall within the scope of protection of the claims attached to the present invention.

Claims

1. An automated software testing method, the method is applied to a test platform, the test platform is connected to a diagnostic device and a vehicle simulation platform, and is used to send instructions to control the diagnostic device test and receive test data sent by the vehicle simulation platform, characterized in that: The method comprises: Collecting vehicle information of multiple types of vehicles to establish a test platform according to the vehicle information, wherein the vehicle information includes VIN code, vehicle communication protocol, fault information and vehicle system information; Establishing a communication connection with a diagnostic device, running diagnostic software on the diagnostic device, and sending a first test instruction according to a pre-set program to test the diagnostic software; Obtain feedback information from the diagnostic device and generate a test report, and upload the test report to the cloud platform.

2. The automated software testing method according to claim 1, characterized in that: The specific steps of collecting data information of multiple types of vehicles and establishing a test platform according to the data information include: Collect vehicle information of multiple types of vehicles through data collection equipment; Encoding the vehicle information and making it into text data; A test program is written according to the text data to achieve interaction with the diagnostic equipment and the automobile simulation platform.

3. The automated software testing method according to claim 1, characterized in that: The specific steps of establishing a communication connection with a diagnostic device, running the diagnostic software on the diagnostic device, and sending a first test instruction according to a preset program to test the diagnostic software include: Establishing a connection with a diagnostic device and capturing a diagnostic software program page of the diagnostic device; According to the diagnostic software program page, searching for functional elements therein, wherein the functional elements include vehicle diagnosis, automatic scanning and report generation; According to a preset procedure, one of the functional elements is captured, and a first test instruction is sent to the diagnostic device. The vehicle simulation platform feeds back corresponding data according to the first test instruction to implement testing of the diagnostic software.

4. The automated software testing method according to claim 3, characterized in that: The specific steps of obtaining feedback information from the diagnostic device and generating a test report, and uploading the test report to the cloud platform include: Obtaining the diagnostic software page information and verifying whether the data fed back by the automobile simulation platform meets the preset conditions; If so, complete the test of this function of the diagnostic software, and test the other functions of the diagnostic software one by one according to the above steps, generate a test report and upload it to the cloud platform.

5. The automated software testing method according to claim 4, characterized in that: If not, after the specific steps of marking the test function item, generating a test report and prompting the tester that the diagnostic software test item has not passed, the method further includes: If not, a cancel instruction is sent to end the functional test and mark the test function item; Obtain the diagnostic software page information, send a second test instruction, and capture another functional element for testing, follow the above steps until all functional tests of the diagnostic software are completed, generate a test report and upload it to the cloud platform, and prompt the tester of the items that failed the diagnostic software test.

6. An automated software testing device, characterized in that: include: A collection module, used to collect vehicle information of multiple types of vehicles to establish a test platform according to the vehicle information, wherein the vehicle information includes VIN code, vehicle communication protocol, fault information and vehicle system information; A test module, used to establish a communication connection with a diagnostic device, run the diagnostic software on the diagnostic device, and send a first test instruction according to a preset program to test the diagnostic software; The first acquisition module is used to obtain feedback information from the diagnostic device and generate a test report, and upload the test report to the cloud platform.

7. The automated software testing device according to claim 6, characterized in that: Also includes: A marking module, for sending a cancellation instruction if no, so as to end the functional test and mark the test function item; The second acquisition module is used to obtain the diagnostic software page information, send a second test instruction, and capture another functional element for testing, follow the above steps until all functional tests of the diagnostic software are completed, generate a test report and upload it to the cloud platform, and prompt the tester of the items that failed the diagnostic software test.

8. An electronic device, comprising a memory and a processor, wherein: The memory is used to store a computer program, and the processor is used to call the computer program, characterized in that the electronic device executes the steps of the automated software testing method according to any one of claims 1 to 5.

9. A computer-readable storage medium comprising instructions, characterized in that: When the instructions are executed on an electronic device, the electronic device executes the steps of the automated software testing method according to any one of claims 1 to 5.

10. A computer program product, characterized in that The computer program product comprises computer instructions, and when the computer instructions are run on an electronic device, the electronic device executes the steps of the automated software testing method according to any one of claims 1 to 5.