US-20260127104-A1 - SYSTEM, METHOD, AND COMPUTER PROGRAM FOR WRITING A TEST STEP IN VEHICLE SOFTWARE TESTING
Abstract
Provided are system, method, and device for testing a vehicle software. According to example embodiments, the system may include: a memory storage storing computer-executable instructions; and at least one processor communicatively coupled to the memory storage, wherein the at least one processor may be configured to execute the instructions to: receive one or more natural language codes from a first user; determine whether the received one or more natural language codes include one or more new natural language codes that do not correspond to any of one or more programming language codes stored in the memory storage; in response to determining that the received one or more natural language codes include the one or more new natural language codes, transmit the one or more new natural language codes to a second user; and receive one or more new programming language codes from the second user.
Inventors
- Beck CHEN
- Edwin WEBB
- Sheldon Anthony REED, III
- Nischel KANDRU
- Pranav Suhas BHATKHANDE
- Jun Akiyama
- Nicola ARMELLINI
- Xiaoyu Wang
- Ruriko TSUKISHIMA
- Hao Wu
- Benjamin BACHELOR
- Alexey POZIMENKO
- Vijay Saravana Jaishanker
Assignees
- TOYOTA JIDOSHA KABUSHIKI KAISHA
Dates
- Publication Date
- 20260507
- Application Date
- 20241107
Claims (20)
- 1 . A system for testing a software of a vehicle, the system comprising: a memory storage storing computer-executable instructions; and at least one processor communicatively coupled to the memory storage, wherein the at least one processor is configured to execute the instructions to: receive one or more natural language codes from a first user; determine whether the received one or more natural language codes include one or more new natural language codes that do not correspond to any of one or more programming language codes stored in the memory storage; in response to determining that the received one or more natural language codes include the one or more new natural language codes, transmit the one or more new natural language codes to a second user; and receive one or more new programming language codes from the second user, wherein the received one or more new programming language codes correspond to the one or more new natural language codes.
- 2 . The system according to claim 1 , wherein the at least one processor is further configured to execute the instructions to store the one or more new programming language codes and the corresponding one or more new natural language codes as predefined test steps in the memory storage.
- 3 . The system according to claim 1 , wherein the at least one processor is configured to execute the instructions to determine whether the received one or more natural language codes include the one or more new natural language codes by: executing the received one or more natural language codes, wherein the received one or more natural language codes are executed by executing a corresponding one or more programming language codes; determining that the received one or more natural language codes fail to execute; and identifying one or more codes from the received one or more natural language codes that fail to execute.
- 4 . The system according to claim 1 , wherein the at least one processor is further configured to execute the instructions to, in response to receiving the one or more new programming language codes, determine whether the received one or more natural language codes successfully execute.
- 5 . The system according to claim 1 , wherein the at least one processor is further configured to execute the instructions to: generate a graphical user interface comprising at least a first portion and a second portion, wherein the first portion comprises a portion for entering a code, and wherein the second portion comprises a search area and a test steps area; receive a search input from the first user at the search area; display one or more test steps associated with the search input at the test steps area; receive a selection input selecting one of the one or more test steps displayed at the test steps area from the first user; and enter a natural language code associated with the selected one of the one or more test steps in the first portion.
- 6 . The system according to claim 5 , wherein the one or more natural language codes are received at the first portion.
- 7 . The system according to claim 5 , wherein: the memory storage comprises a plurality of predefined test steps; each of the plurality of predefined test steps is associated a natural language code and a corresponding one or more programming language codes; and the one or more test steps associated with the search input are obtained from the plurality of predefined test steps.
- 8 . The system according to claim 5 , wherein: the first portion further comprises a pop-up window; and the at least one processor is further configured to execute the instructions to: receive a partial natural language code input from the first user at the first portion; display one or more test steps associated with the partial natural language code input at the pop-up window; receive a selection input selecting one of the one or more test steps displayed at the pop-up window from the first user; and replace the partial natural language code input with a natural language code associated with the selected one of the one or more test steps in the first portion.
- 9 . The system according to claim 1 , wherein the one or more natural language codes are in a Gherkin programming language format, and wherein the one or more programming language codes are in a Python programming language format.
- 10 . A method performed by a system for testing a software of a vehicle comprising: receiving one or more natural language codes from a first user; determining whether the received one or more natural language codes include one or more new natural language codes that do not correspond to any of one or more programming language codes stored in a memory storage of the system; in response to determining that the received one or more natural language codes include the one or more new natural language codes, transmitting the one or more new natural language codes to a second user; and receiving one or more new programming language codes from the second user, wherein the received one or more new programming language codes correspond to the one or more new natural language codes.
- 11 . The method according to claim 10 , further comprising storing the one or more new programming language codes and the corresponding one or more new natural language codes as predefined test steps in the memory storage.
- 12 . The method according to claim 10 , wherein the determining whether the received one or more natural language codes include the one or more new natural language codes comprises: executing the received one or more natural language codes, wherein the received one or more natural language codes are executed by executing a corresponding one or more programming language codes; determining that the received one or more natural language codes fail to execute; and identifying one or more codes from the received one or more natural language codes that fail to execute.
- 13 . The method according to claim 10 , further comprising, in response to receiving the one or more new programming language codes, determining whether the received one or more natural language codes successfully execute.
- 14 . The method according to claim 10 , further comprising: generating a graphical user interface comprising at least a first portion and a second portion, wherein the first portion comprises a portion for entering a code, and wherein the second portion comprises a search area and a test steps area; receiving a search input from the first user at the search area; displaying one or more test steps associated with the search input at the test steps area; receiving a selection input selecting one of the one or more test steps displayed at the test steps area from the first user; and entering a natural language code associated with the selected one of the one or more test steps in the first portion.
- 15 . The method according to claim 14 , wherein the one or more natural language codes are received at the first portion.
- 16 . The method according to claim 14 , wherein: the memory storage comprises a plurality of predefined test steps; each of the plurality of predefined test steps is associated a natural language code and a corresponding one or more programming language codes; and the one or more test steps associated with the search input are obtained from the plurality of predefined test steps.
- 17 . The method according to claim 14 , wherein: the first portion further comprises a pop-up window; and the method further comprises: receiving a partial natural language code input from the first user at the first portion; displaying one or more test steps associated with the partial natural language code input at the pop-up window; receiving a selection input selecting one of the one or more test steps displayed at the pop-up window from the first user; and replacing the partial natural language code input with a natural language code associated with the selected one of the one or more test steps in the first portion.
- 18 . The method according to claim 10 , wherein the one or more natural language codes are in a Gherkin programming language format, and wherein the one or more programming language codes are in a Python programming language format.
- 19 . A non-transitory computer-readable recording medium having recorded thereon instructions executable by at least one processor to cause the at least one processor to perform a method comprising: receiving one or more natural language codes from a first user; determining whether the received one or more natural language codes include one or more new natural language codes that do not correspond to any of one or more programming language codes stored in a memory storage of a system that performs the method; in response to determining that the received one or more natural language codes include the one or more new natural language codes, transmitting the one or more new natural language codes to a second user; and receiving one or more new programming language codes from the second user, wherein the received one or more new programming language codes correspond to the one or more new natural language codes.
- 20 . The non-transitory computer-readable recording medium according to claim 19 , wherein the determining whether the received one or more natural language codes include the one or more new natural language codes comprises: executing the received one or more natural language codes, wherein the received one or more natural language codes are executed by executing a corresponding one or more programming language codes; determining that the received one or more natural language codes fail to execute; and identifying one or more codes from the received one or more natural language codes that fail to execute.
Description
TECHNICAL FIELD Systems, methods, and computer programs consistent with example embodiments of the present disclosure relate to a vehicle software testing, and more specifically, to the writing of a test step in a vehicle software testing. BACKGROUND In software development, a software is required to be tested in order to ensure that the software functions as intended, meets specified requirements, and performs reliably in various scenarios. Software testing is a crucial part of the software development life cycle (SDLC) and is performed to identify defects, errors, or bugs in the software before it is deployed to the actual system. Testing of a software for a vehicle may be done by designing a test case comprising a plurality of test steps that are to be run within a test environment. The results of running the test case within the test environment may then be generated and viewed by a user in order to evaluate the software. In the related art, test cases are designed by entering and typing test steps in a programming language, such as Python. However, such process requires the user to have extensive knowledge in a related programming language, and the users who do not have such knowledge may have difficulties in designing the test cases, which increases the time and risk of error. Accordingly, there is a need for a system that can allow the user to quickly and efficiently design test cases without requiring knowledge in programming language. SUMMARY Example embodiments of the present disclosure tests vehicle software. As such, example embodiments of the present disclosure allows for test cases to be easily designed and reviewed by a user who do not have extensive knowledge in low-level level programming, while also providing flexibility for such user to request new test steps to be made. Further, example embodiments of the present disclosure allows for test steps to be quickly and efficiently added to a test case without the user having to manually type in such test steps. According to example embodiments, a system is provided. The system may be for testing a software of a vehicle, and may include: a memory storage storing computer-executable instructions; and at least one processor communicatively coupled to the memory storage, wherein the at least one processor may be configured to execute the instructions to: receive one or more natural language codes from a first user; determine whether the received one or more natural language codes include one or more new natural language codes that do not correspond to any of one or more programming language codes stored in the memory storage; in response to determining that the received one or more natural language codes include the one or more new natural language codes, transmit the one or more new natural language codes to a second user; and receive one or more new programming language codes from the second user, wherein the received one or more new programming language codes may correspond to the one or more new natural language codes. According to example embodiments, the at least one processor may be further configured to execute the instructions to store the one or more new programming language codes and the corresponding one or more new natural language codes as predefined test steps in the memory storage. According to example embodiments, the at least one processor may be configured to execute the instructions to determine whether the received one or more natural language codes include the one or more new natural language codes by: executing the received one or more natural language codes, wherein the received one or more natural language codes may be executed by executing a corresponding one or more programming language codes; determining that the received one or more natural language codes fail to execute; and identifying one or more codes from the received one or more natural language codes that fail to execute. According to example embodiments, the at least one processor may be further configured to execute the instructions to, in response to receiving the one or more new programming language codes, determine whether the received one or more natural language codes successfully execute. According to example embodiments, the at least one processor may be further configured to execute the instructions to: generate a graphical user interface comprising at least a first portion and a second portion, wherein the first portion may include a portion for entering a code, and wherein the second portion may include a search area and a test steps area; receive a search input from the first user at the search area; display one or more test steps associated with the search input at the test steps area; receive a selection input selecting one of the one or more test steps displayed at the test steps area from the first user; and enter a natural language code associated with the selected one of the one or more test steps in the first portion. According to example emb