Systems, methods, and computer programs for designing test environments.
The system addresses the inefficiencies of manual test environment design by using a graphical user interface to automate the creation and configuration of vehicle elements and interactions, enhancing the speed and accuracy of vehicle software testing.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- TOYOTA JIDOSHA KK
- Filing Date
- 2025-09-03
- Publication Date
- 2026-05-19
AI Technical Summary
Existing methods for designing vehicle software test environments are time-consuming and error-prone due to manual creation and configuration of elements and interfaces.
A system and method that utilizes a graphical user interface to quickly and efficiently create and configure vehicle elements and their interactions based on vehicle configuration data, including a vehicle selector for different vehicle models, enabling automatic determination and display of elements and connections.
Reduces the time required to design test environments by allowing users to quickly add, edit, and remove elements, and define interactions, thereby improving the efficiency of vehicle software testing.
Smart Images

Figure 2026082667000001_ABST
Abstract
Description
Technical Field
[0001] Systems, methods, and computer programs consistent with exemplary embodiments of the present disclosure relate to vehicle software testing, and more particularly, to the design of test environments in vehicle software testing.
Background Art
[0002] In software development, software needs to be tested to ensure that the software functions as intended, meets specified requirements, and reliably functions in various scenarios. Software testing is an important part of the software development life cycle (SDLC) and is performed to identify defects, errors, or bugs in the software before the software is deployed to an actual system.
[0003] Testing software related to a vehicle can be performed by designing test cases that include multiple test steps operating within a test environment. Then, the results of the operation of the test cases within the test environment are generated and can be viewed by a user to evaluate the software.
[0004] In related art, the design of a test environment in which test cases operate can be performed by manually creating one or more elements in the test environment and manually determining the configuration and interfaces of the one or more elements. Such a process can be time-consuming and error-prone. Therefore, there is a need for a system that can enable a user to quickly and efficiently create elements in a test environment and determine the configuration and interfaces of the elements.
Summary of the Invention
[0005] Exemplary embodiments of the present disclosure test vehicle software. Accordingly, the exemplary embodiments of the present disclosure provide a process that enables a user to quickly and efficiently create elements in a test environment, and further provide a graphical user interface that enables a user to quickly add, edit, and remove elements in the test environment, and to quickly define the interactions between such elements, thereby reducing the time required to design the test environment.
[0006] According to an exemplary embodiment, a system is provided. The system may include a memory storage that stores computer executable instructions, and at least one processor that is communicatively connected to the memory storage, wherein the at least one processor may be configured to execute instructions to obtain vehicle configuration data, determine a plurality of vehicle elements associated with the vehicle based on the obtained configuration data, determine connections between one of the plurality of vehicle elements and another of the plurality of vehicle elements based on the obtained configuration data, and display the determined plurality of vehicle elements and the determined connections in a graphical user interface.
[0007] According to an exemplary embodiment, the graphical user interface may include at least a first and a second part, the first part may include a plurality of determined vehicle elements and determined connections, the second part may include a plurality of default elements, and at least one processor may be configured to receive a selection input from the user to execute an instruction to select one of the plurality of default elements, and in response to the receipt of the selection input, display the selected one of the plurality of default elements in the first part.
[0008] According to an exemplary embodiment, at least one processor may further be configured to execute an instruction to receive a connection input from a user to connect an element shown in the first part to another element shown in the first part, and to connect the element shown in the first part to another element shown in the first part in response to the receipt of the connection input.
[0009] According to exemplary embodiments, the plurality of default elements may include a plurality of default elements associated with the vehicle environment, and / or a plurality of default vehicle elements.
[0010] According to exemplary embodiments, a plurality of vehicle elements may include a plurality of electronic control units associated with the type of vehicle.
[0011] According to exemplary embodiments, a graphical user interface may include a vehicle selector, which may include a plurality of vehicles that can be selected by the user.
[0012] According to an exemplary embodiment, at least one processor may be configured to execute instructions to obtain multiple configuration data for multiple vehicles and to receive a selection input from a user to select one of the multiple vehicles in a vehicle selector, where the determined multiple vehicle elements and determined connections may be associated with the selected one of the multiple vehicles.
[0013] According to exemplary embodiments, a method is provided. The method may include: acquiring vehicle configuration data; determining a plurality of vehicle elements associated with the vehicle based on the acquired configuration data; determining connections between one of the plurality of vehicle elements and another of the plurality of vehicle elements based on the acquired configuration data; and displaying the determined plurality of vehicle elements and the determined connections in a graphical user interface.
[0014] According to an exemplary embodiment, the graphical user interface may include at least a first and a second part, the first part may include a plurality of determined vehicle elements and determined connections, the second part may include a plurality of default elements, and the method may further include receiving a selection input from a user to select one of the plurality of default elements, and displaying the selected one of the plurality of default elements in the first part in response to receiving the selection input.
[0015] According to an exemplary embodiment, the method may further include receiving a connection input from a user to connect an element displayed in a first part to another element displayed in a first part, and, in response to receiving the connection input, connecting the element displayed in the first part to another element displayed in a first part.
[0016] According to exemplary embodiments, the plurality of default elements may include a plurality of default elements associated with the vehicle environment, and / or a plurality of default vehicle elements.
[0017] According to exemplary embodiments, a plurality of vehicle elements may include a plurality of electronic control units associated with the type of vehicle.
[0018] According to exemplary embodiments, a graphical user interface may include a vehicle selector, which may include a plurality of vehicles that can be selected by the user.
[0019] According to an exemplary embodiment, the method may further include obtaining multiple configuration data for multiple vehicles and receiving a selection input from a user in a vehicle selector for selecting one of the multiple vehicles, wherein the determined multiple vehicle elements and determined connections may be associated with the selected one of the multiple vehicles.
[0020] According to an exemplary embodiment, a non-temporary computer-readable recording medium is provided. The non-temporary computer-readable recording medium may record instructions on the non-temporary computer-readable recording medium that cause at least one processor to perform a method, which is executable by at least one processor, and the method includes: acquiring vehicle configuration data; determining a plurality of vehicle elements associated with the vehicle based on the acquired configuration data; determining connections between one of the plurality of vehicle elements and another of the plurality of vehicle elements based on the acquired configuration data; and displaying the determined plurality of vehicle elements and the determined connections in a graphical user interface.
[0021] According to an exemplary embodiment, the graphical user interface may include at least a first and a second part, the first part may include a plurality of determined vehicle elements and determined connections, the second part may include a plurality of default elements, and the method may further include receiving a selection input from a user to select one of the plurality of default elements, and displaying the selected one of the plurality of default elements in the first part in response to receiving the selection input.
[0022] According to an exemplary embodiment, the method may further include receiving a connection input from a user to connect an element displayed in a first part to another element displayed in a first part, and, in response to receiving the connection input, connecting the element displayed in the first part to another element displayed in a first part.
[0023] According to exemplary embodiments, the plurality of default elements may include a plurality of default elements associated with the vehicle environment, and / or a plurality of default vehicle elements.
[0024] According to exemplary embodiments, a plurality of vehicle elements may include a plurality of electronic control units associated with the type of vehicle.
[0025] According to exemplary embodiments, a graphical user interface may include a vehicle selector, which may include a plurality of vehicles that can be selected by the user.
[0026] According to an exemplary embodiment, the method may further include obtaining multiple configuration data for multiple vehicles and receiving a selection input from a user in a vehicle selector for selecting one of the multiple vehicles, wherein the determined multiple vehicle elements and determined connections may be associated with the selected one of the multiple vehicles.
[0027] Additional embodiments may be partially described in the following description, partially evident from the description, or realized by implementing the embodiments presented in this disclosure.
Brief Description of the Drawings
[0028] The features, advantages, and significance of the preferred embodiments of the present disclosure are described below with reference to the accompanying drawings, in which like reference numerals indicate like elements.
[0029] [Figure 1] FIG. 1 shows a block diagram of exemplary components in a vehicle software test (VST) system according to one or more embodiments. [Figure 2] FIG. 2 shows exemplary components of a graphical user interface (GUI) for testing vehicle software according to one or more embodiments. [Figure 3] FIG. 3 shows exemplary components of a first portion of a graphical user interface (GUI) for testing vehicle software according to one or more embodiments. [Figure 4] FIG. 4 shows a flowchart of an exemplary method for testing vehicle software according to one or more embodiments.
Modes for Carrying Out the Invention
[0030] The following detailed description of the exemplary embodiments refers to the accompanying drawings. The same reference numerals in different drawings may identify the same or similar elements.
[0031] The foregoing disclosures are illustrative and illustrative, but are not intended to be exhaustive or to limit implementations to the exact forms disclosed. Modifications and variations may be possible in view of the foregoing disclosures or may be obtained from the implementations. Furthermore, one or more features or components of one embodiment may be incorporated into or combined with another embodiment (or one or more features of another embodiment). Furthermore, it should be understood that in the flowcharts and descriptions of operations provided below, one or more operations may be omitted, one or more operations may be added, one or more operations may be performed (at least partially) simultaneously, and the order of one or more operations may be changed.
[0032] It will be apparent that the systems and / or methods described herein can be implemented in various forms of hardware, firmware, or combinations of hardware and software. The actual dedicated control hardware or software code used to implement such systems and / or methods is not a limitation of the implementation. Therefore, the operation and behavior of the systems and / or methods are described herein without reference to specific software code. It will be understood that software and hardware can be designed to implement the systems and / or methods based on the descriptions herein.
[0033] Even if certain combinations of features are enumerated in the claims and / or disclosed herein, such combinations are not intended to limit the disclosure of possible implementations. In fact, many of these features can be combined in ways not specifically enumerated in the claims and / or disclosed herein. Each of the dependent claims listed below may depend directly on only one claim, but the disclosure of possible implementations includes each dependent claim combined with all other claims in the set of claims.
[0034] Any element, action, or instruction used herein should not be construed as important or essential unless explicitly stated otherwise. Furthermore, when used herein, the articles “a” and “an” are intended to include one or more items and may be used interchangeably with “one or more.” When referring to only one item, the term “one” or similar terms should be used. Also, when used herein, the terms “has,” “have,” “having,” “include,” “including,” or similar terms are intended to be open-ended. Additionally, the phrase “based on” is intended to mean “at least partially based on” unless explicitly stated otherwise. Furthermore, expressions such as “at least one of [A] and [B],” “[A] and / or [B],” or “at least one of [A] or [B]” should be understood as including only A, only B, or both A and B.
[0035] The features, advantages, and importance of the exemplary embodiments described herein are merely a part of the disclosure and are not intended to be exhaustive or to limit the scope of the disclosure.
[0036] Further descriptions of the features, components, configuration, operation, and implementations of the vehicle software test system of this disclosure according to one or more embodiments are provided below.
[0037] Exemplary system architecture Figure 1 shows a block diagram of exemplary components in a vehicle software test (VST) system 100 according to one or more embodiments. The VST system 100 may include devices, systems, platforms, modules, or similar items that can be configured to perform one or more operations or actions for testing vehicle software.
[0038] As shown in Figure 1, the VST system 100 may include at least one communication interface 110, at least one processor 120, at least one input / output component 130, and at least one storage 140, but it can be understood that the VST system 100 may include more or fewer components than those shown in Figure 1 and / or may be arranged in a different manner than those shown in Figure 1, without departing from the scope of this disclosure.
[0039] The communication interface 110 may include at least one transceiver-like component (e.g., transceiver, separate receiver and transmitter, bus, etc.) that enables the components of the VST system 100 to communicate with each other and / or with one or more components outside the VST system 100 via wired connections, wireless connections, or a combination of wired and wireless connections. For example, the communication interface 110 may include an Ethernet interface, optical interface, coaxial interface, infrared interface, radio frequency (RF) interface, universal serial bus (USB) interface, Wi-Fi interface, cellular network interface, or similar.
[0040] For example, the communication interface 110 may connect the processor 120 to the storage 140, thereby enabling them to communicate with each other and operate together when performing one or more operations.
[0041] According to one or more embodiments, the communication interface 110 may include one or more application programming interfaces (APIs) that enable the VST system 100 (or one or more components contained therein) to communicate with one or more software applications.
[0042] The input / output component 130 may include at least one component that enables the VST system 100 to receive and / or provide output information. In some embodiments, the input / output component 130 may include at least one input component (e.g., a touchscreen display, keyboard, keypad, mouse, button, switch, microphone, etc.) and at least one output component (e.g., a display, speaker, one or more light-emitting diodes (LEDs), etc.), each of which may be separated from each other. Furthermore or alternatively, at least one input component may include a sensor that detects information (e.g., a global positioning system (GPS) component, accelerometer, gyroscope, and / or actuator).
[0043] Storage 140 may include one or more storage media suitable for internally storing data, information, and / or computer executable instructions. According to exemplary embodiments, storage 140 may include at least one memory storage such as random access memory (RAM), read-only memory (ROM), and / or another type of dynamic or static storage device (e.g., flash memory, magnetic memory, and / or optical memory) for storing information and / or instructions for use by the processor 120. Further or alternatively, storage 140 may include, together with a corresponding drive, a hard disk (e.g., magnetic disk, optical disk, magneto-optical disk, and / or solid-state disk), a compact disk (CD), a digital versatile disk (DVD), a floppy disk, a cartridge, a magnetic tape, and / or another type of non-temporary computer-readable media. Computer-readable media are defined herein as non-temporary memory devices. A memory device may include memory space within a single physical storage device or memory space extending across multiple physical storage devices.
[0044] According to exemplary embodiments, storage 140 may be configured to store information such as raw data, metadata, or similar. Furthermore, or alternatively, storage 140 may be configured to store one or more pieces of information associated with one or more operations performed by processor 120. For example, storage 140 may store information defining past operations performed by processor 120 to test vehicle software, one or more results of operations performed by processor 120, or similar. Furthermore, storage 140 may store data or information required when testing vehicle software. For example, storage 140 may store at least a number of default elements (described below with reference to Figure 4).
[0045] In some implementation, the storage 140 may include multiple storage media, and the storage 140 may be configured to store copies or duplicates of at least a portion of the information in the multiple storage media in order to provide redundancy and to back up the information or associated data. Furthermore, the storage 140 may also store computer-readable instructions or computer-executable instructions that, when executed by one or more processors (e.g., processor 120), cause one or more processors to perform one or more operations / behaviors described herein.
[0046] The processor 120 may include at least one processor that is programmable or configurable to perform functions or operations described herein. For example, the processor 120 may be configured to execute computer executable instructions stored in at least one storage medium or memory storage (e.g., storage 140) to perform one or more operations or actions described herein.
[0047] According to exemplary embodiments, the processor 120 may be configured to receive one or more signals and / or one or more user inputs (e.g., via a communication interface 110, an input / output component 130, etc.) that define one or more instructions that perform one or more operations. Furthermore, the processor 120 may be implemented in hardware, firmware, or a combination of hardware and software. For example, the processor 120 may include at least one of a central processing unit (CPU), an image processing unit (GPU), an accelerator processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), and / or another type of processing or computing component.
[0048] According to an exemplary embodiment, the processor 120 may be configured to collect, extract, and / or receive one or more pieces of information (such as signals or data), process the received pieces of information, and thereby test the vehicle software.
[0049] The number and arrangement of components shown in Figure 1 are provided as an example. In fact, VST system 100 may include additional components, fewer components, different components, or components arranged differently compared to those shown in Figure 1. Furthermore or alternatively, a set of components of VST system 100 (e.g., one or more components) may perform one or more functions that are described as being performed by another set of components of VST system 100.
[0050] A description of some exemplary operations that the processor 120 may perform is provided below with reference to Figure 4.
[0051] Examples of vehicle software testing in this disclosure According to an exemplary embodiment, one or more test cases may be designed and operated within a test environment to test vehicle software.
[0052] A test case can refer to a specific set of conditions and / or steps designed to verify the functionality or behavior of software (or the system under test). A test case may define one or more operations and expected outcomes for a particular test scenario. Conditions and / or steps designed to verify the functionality or behavior of software may be referred to as test steps included in a test case. According to exemplary embodiments, one or more test steps may be included in a test case, which may include one or more of the following: a test case ID (e.g., a set of unique identifiers or numbers assigned to a test case for tracking and reference purposes), a test objective (e.g., a description or specification of the goal or objective of the test case), at least one test condition (e.g., prerequisites or initial states required to run the test case, specific settings or configurations required to trigger the test run), at least one test operation (e.g., an operation or action performed to run the test case, required inputs or interactions with the software), at least one expected outcome (e.g., the expected result or behavior expected from the software when the test case runs successfully), and one or more of any other suitable information.
[0053] A test environment can refer to a specific set of conditions and / or elements, and a test case operates in (against) those conditions and / or elements. In particular, a test environment may include one or more vehicle elements involved in a test case. One or more vehicle elements may refer to one or more elements associated with one or more components of a vehicle, e.g., electronic control units (ECUs), motors, and similar. For example, in a test case designed to test software related to detecting and displaying obstacles near the rear of a vehicle, the test environment may include the vehicle's (one or more vehicle elements) IVI ECU and ADAS ECU. According to exemplary embodiments, a test environment may further include one or more environmental elements involved in a test case. One or more environmental elements may refer to one or more elements associated with the vehicle's environment. For example, in a test case designed to test software related to detecting and displaying obstacles near the rear of a vehicle, the test environment may further include obstacles near the rear of the vehicle and rain (one or more environmental elements), and as a result, when the vehicle's IVI ECU and ADAS ECU detect and display obstacles near the rear of the vehicle during rain, the test case may be able to evaluate the software associated with the vehicle's IVI ECU and ADAS ECU.
[0054] Figure 2 shows exemplary components of a graphical user interface (GUI) 200 for testing vehicle software according to one or more embodiments.
[0055] As shown in Figure 2, the graphical user interface (GUI) 200 may include at least a first portion 220 and a second portion 240.
[0056] According to an exemplary embodiment, the first part 220 may include a plurality of elements, where the plurality of elements within the first part 220 may represent a test environment. The plurality of elements may include one or more vehicle elements and / or one or more environmental elements. The one or more vehicle elements may be elements associated with one or more components of a vehicle, e.g., an electronic control unit (ECU), a motor, and the like. The one or more environmental elements may be elements associated with the environment of a vehicle, e.g., the amount of rain, the amount of moisture, sunlight, a specific weather, and the like.
[0057] Figure 3 shows exemplary components of a first portion 300 of a graphical user interface (GUI) for testing vehicle software according to one or more embodiments. The first portion 300 may correspond to the first portion 220 in Figure 2, and therefore, features associated with the first portion 300 and the first portion 220 may be similarly applicable to each other unless otherwise explicitly stated.
[0058] As shown in Figure 3, the first part 300 may include five elements: a weather sensor 320, weather 322, a weather controller 340, a window controller 360, and a window motor 380. The weather sensor 320, weather controller 340, window controller 360, and window motor 380 may correspond to vehicle elements, representing the weather sensor, weather controller, window controller, and window motor in a vehicle, respectively. Similarly, weather 322 may correspond to an environmental element, representing the weather (environment) in a vehicle. It should be understood that the configuration shown in Figure 3 is simplified for illustrative purposes and is not intended to limit the scope of this disclosure. For example, the number of elements may actually be arbitrary.
[0059] Furthermore, as shown in Figure 3, each of the multiple elements may be connected to one or more other elements, representing the interaction between those elements. For example, the weather sensor 320 and weather 322 may be connected to each other by an input / output connection, representing the input / output interaction between the weather 322, which outputs weather data, and the weather sensor 320, which inputs (receives) weather data from the weather 322. Similarly, the weather controller 340 and window controller 360 may be connected to each other by a CAN connection, representing CAN communication between those elements in a vehicle.
[0060] Furthermore, it can be understood that each of the multiple elements may contain data associated with the corresponding element. For example, window motor 380 may contain parameter data such as torque, power efficiency, and similar, associated with the vehicle's window motor, as well as configuration data such as interface type, shape, size, and similar, associated with the vehicle's window motor. In another example, weather 322 may contain parameter data such as amount of rain, fog visibility level, and similar, associated with a particular type of weather.
[0061] Returning to Figure 2, according to an exemplary embodiment, the second part 240 may include a number of default elements that can be added to the first part 220 (then the test environment). The number of default elements may be elements predetermined and stored by the software developer that can be retrieved by the user of the GUI 200.
[0062] Furthermore, multiple default elements may include multiple default environmental elements and / or multiple default vehicle elements. Multiple default environmental elements may include default elements associated with the vehicle's environment, and multiple default vehicle elements may include default elements associated with one or more components of the vehicle. Furthermore, each of the multiple default elements may include default data associated with the corresponding element. For example, a default window motor element may include default parameter data associated with the vehicle's window motor, such as torque, power efficiency, and similar, as well as default configuration data associated with the vehicle's window motor, such as interface type, shape, size, and similar. In another example, a weather element may include default parameter data associated with a particular type of weather, such as rainfall, fog visibility level, and similar.
[0063] According to an exemplary embodiment, the VST system may first acquire vehicle configuration data. This configuration data may include all components of the vehicle, as well as data associated with the configuration, interactions, logical interfaces, physical interfaces, parameters, and all similar aspects of those components. For example, the configuration data may include all ECUs of the vehicle, as well as data associated with the configuration and interactions of those ECUs. According to an exemplary embodiment, the configuration data may be acquired from an application or provided by a user of the VST system.
[0064] Once configuration data is acquired, the VST system can then determine, based on the acquired configuration data, several vehicle elements associated with the vehicle. For example, the VST system can determine, based on the acquired configuration data, several vehicle elements corresponding to the vehicle's ECUs. The VST system can also determine, based on the acquired configuration data, the connections between each of the several vehicle elements and the others among them. For example, the system can determine, based on the acquired configuration data, the connections (e.g., interactions) between the vehicle's ADAS ECU and other ECUs in the vehicle. Furthermore, the VST system can also determine, based on the configuration data, all data (parameters, configurations, and similar data) associated with each of the several vehicle elements.
[0065] Once multiple vehicle elements are determined, the VST system may then display the determined vehicle elements and their connections in a first portion 220 of the GUI 200. For example, the VST system may determine weather sensors, weather controllers, window controllers, and window motor elements associated with the vehicle (and other elements), determine their connections, and display the elements and their connections in the first portion 220 in a manner similar to that shown in Figure 3. According to an exemplary embodiment, the GUI 200 may be generated when the determined vehicle elements and their connections are displayed. According to an exemplary embodiment, the GUI 200 may be generated by the time the determined vehicle elements and their connections are displayed.
[0066] The configuration data for a particular vehicle may include data associated with specific components of that particular vehicle, and as a result, the elements and connections (and the specific data associated with those elements) generated from it and displayed in the GUI may be understood to represent a complete virtual model of that particular vehicle.
[0067] Therefore, the elements of a test environment associated with a particular vehicle can be automatically determined, including their configuration and interaction, without the user having to manually create and define the parameters related to the vehicle elements.
[0068] In this regard, once the determined vehicle elements are displayed in the first part 220, the user can then add, remove, and / or modify elements within the first part 220 to design a test environment.
[0069] In particular, the user may provide a selection input to select one of several default elements displayed in the second section 240, and the VST system may then display (add) the selected one of the multiple default elements to the first section 220. According to an exemplary embodiment, the user may provide a selection input by dragging and dropping an element from the second section 240 onto the first section 220. According to an exemplary embodiment, the user may provide a selection input by clicking an element in the second section 240. For example, the user may select a default weather element from the second section 240, and as a result, the default weather element is added to the first section 220 (then the test environment) in a manner similar to that shown in Figure 3.
[0070] Therefore, elements of the test environment can be quickly added, edited, and removed, thereby improving the time required to design the test environment.
[0071] According to an exemplary embodiment, the GUI200 may further include connection points (not shown) in each of the elements displayed in the first part, where the user can define interactions between elements via the connection points. In particular, the user may provide connection inputs to connect an element displayed in the first part (e.g., one of a plurality of determined vehicle elements, one selected element from a plurality of default elements, and similar) to another element displayed in the first part (e.g., one of a plurality of determined vehicle elements, one selected element from a plurality of default elements, and similar). The connection inputs may be inputs that connect the connection points of one element to the connection points of another element. Thus, the system may then connect an element displayed in the first part to another element displayed in the first part.
[0072] For example, a user may connect weather 322 (i.e., one selected element from several default elements) to a weather sensor 320 (i.e., one of several determined vehicle elements) to define the interaction between those elements (i.e., the weather sensor 320 receives data (e.g., weather data) from weather 322).
[0073] Therefore, the interactions between elements of the test environment can be determined quickly, thereby improving the time required to design the test environment.
[0074] It can be understood that different vehicles may have different components (e.g., ECUs) with different configurations and interactions. For example, older vehicle models may not have weather sensors, while newer vehicle models may have them.
[0075] Accordingly, according to an exemplary embodiment, the GUI 200 may further include a vehicle selector that displays a plurality of vehicles selectable by the user. In particular, the VST system may acquire and store a plurality of configuration data for a plurality of different vehicles, where each of the plurality of vehicles displayed in the vehicle selector may be associated with corresponding configuration data. When the user selects a particular vehicle from the plurality of vehicles displayed in the vehicle selector, the VST system may then determine a plurality of vehicle elements associated with the selected vehicle and the connections of said plurality of vehicle elements based on the associated configuration data. The VST system may then display the determined plurality of vehicle elements and the determined connections in the first section 220 in a manner similar to that described above.
[0076] Therefore, the elements of the test environment associated with different vehicles can be automatically determined, with their configuration and interaction being automatically set, eliminating the need for the user to manually create and define the parameters.
[0077] Taking the above into consideration, once the test environment is designed (i.e., elements are added and their connections are defined in the first part of the GUI), one or more test cases can operate (be executed) against the designed test environment.
[0078] It should be understood that the configuration shown in Figure 2 is simplified for illustrative purposes and is not intended in any way to limit the scope of this disclosure. For example, the relative position, relative size, and / or shape of each element within GUI200 may actually be arbitrary.
[0079] Exemplary behavior for testing vehicle software in this disclosure Some exemplary operations that can be performed by the VST system of this disclosure are described below with reference to Figure 4.
[0080] Figure 4 shows a flowchart of an exemplary method 400 for testing vehicle software according to one or more embodiments. One or more operations in method 400 may be performed by at least one processor (e.g., processor 120) of the VST system.
[0081] As shown in Figure 4, in operation S410, at least one processor may be configured to acquire vehicle configuration data. The configuration data may include all components of the vehicle, as well as data associated with the configuration, interactions, logical interfaces, physical interfaces, and all similar aspects of those components. Furthermore, the configuration data may be acquired from an application or provided by a user of the VST system. The method then proceeds to operation S420.
[0082] In operation S420, at least one processor may be configured to determine a plurality of vehicle elements associated with a vehicle. The plurality of vehicle elements may be determined based on acquired configuration data and may include elements associated with one or more components of the vehicle. According to an exemplary embodiment, the plurality of vehicle elements may include a plurality of electronic control units associated with a type of vehicle. The method then proceeds to operation S430.
[0083] In operation S430, at least one processor may be configured to determine a connection between one of a plurality of vehicle elements and another of the plurality of vehicle elements. The connection may be determined based on acquired configuration data and may represent the interaction between the elements. For example, at least one processor may be configured to determine a connection between a weather controller element and a window controller element that represents CAN communication between the elements in the vehicle, a connection between a window controller element and a window motor element that represents input / output interaction between the elements in the vehicle, and similar connections. The method then proceeds to operation S440.
[0084] In operation S440, at least one processor may be configured to display the determined vehicle elements and determined connections in a graphical user interface.
[0085] When operation S440 is performed, method 400 may terminate or end. Alternatively, method 400 may return to operation S410, as a result, at least one processor may be configured to repeatedly perform (in operation S410) acquiring configuration data, (in operation S420) determining multiple vehicle elements, (in operation S430) determining connections, and (in operation S440) displaying the determined multiple vehicle elements and determined connections, for at least a predetermined amount of time. For example, a user may search for more test steps sequentially (or periodically). Thus, at least one processor may sequentially (or periodically) create more test environments for the same or different vehicles, and then resume performing (in operation S410) acquiring configuration data, (in operation S420) determining multiple vehicle elements, (in operation S430) determining connections, and (in operation S440) displaying the determined multiple vehicle elements and determined connections.
[0086] According to an exemplary embodiment, the graphical user interface may include at least a first and a second part, wherein the first part may include a plurality of determined vehicle elements and determined connections (determined during operations S420 and S430), and the second part may include a plurality of default elements. The plurality of default elements may be elements predetermined and stored by the software developer, and may include a plurality of default environment elements (elements associated with the vehicle environment) and / or a plurality of default vehicle elements.
[0087] In this regard, according to exemplary embodiments, at least one processor may be configured to receive a selection input from a user for selecting one of a plurality of default elements. According to exemplary embodiments, the selection input may include a drag-and-drop input. According to exemplary embodiments, the selection input may include a click input. Subsequently, in response to receiving the selection input, at least one processor may be configured to display (add) the selected one of the plurality of default elements to the first part.
[0088] According to an exemplary embodiment, at least one processor may be configured to receive connection inputs from a user to connect an element displayed in a first part to another element displayed in the first part. Subsequently, in response to the receipt of connection inputs, at least one processor may be configured to connect the element displayed in the first part to another element displayed in the first part. According to an exemplary embodiment, the graphical user interface may include connection points in each of the elements displayed in the first part, where the user can define the interaction between elements via the connection points. Thus, according to an exemplary embodiment, the connection inputs may include inputs to connect the connection points of one element to the connection points of another element.
[0089] According to an exemplary embodiment, the graphical user interface may include a vehicle selector. The vehicle selector may include a plurality of vehicles that can be selected by the user, where each of the plurality of vehicles displayed in the vehicle selector may be associated with the configuration data of the corresponding vehicle.
[0090] In this regard, according to an exemplary embodiment, at least one processor may be configured to acquire multiple configuration data for multiple vehicles and to receive a selection input from the user for selecting one of the multiple vehicles in the vehicle selector. According to an exemplary embodiment, the selection input may include a click input. Subsequently, in response to the receipt of the selection input, at least one processor may be configured to determine multiple vehicle elements and connections associated with the selected one of the multiple vehicles, and to generate a graphical user interface having the determined multiple vehicle elements and connections in a manner similar to that described above. In other words, the multiple vehicle elements and connections determined during operations S420 and S430 and displayed in the graphical user interface during operation S440 are associated with the selected one of the multiple vehicles.
[0091] Various embodiments The foregoing disclosures are illustrative and illustrative, but are not intended to be exhaustive or to limit implementations to the exact forms disclosed. Modifications and variations may be possible in view of the foregoing disclosures or may be derived from implementations.
[0092] Some embodiments may relate to systems, methods, and / or computer-readable media at any possible level of technical detail of integration. Furthermore, one or more of the above-described components may be implemented as instructions stored in a computer-readable medium and executable by at least one processor (and / or may include at least one processor). The computer-readable medium may include a computer-readable non-temporary storage medium (or multiple mediums) having computer-readable program instructions for causing a processor to perform an operation.
[0093] A computer-readable storage medium can be a tangible device capable of holding and storing instructions for use by an instruction-executing device. A computer-readable storage medium may be, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any preferred combination thereof. A non-exhaustive list of more specific examples of computer-readable storage media includes, namely, portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital versatile disk (DVD), memory stick, floppy disk, mechanically encoded devices such as punch cards or grooved raised structures on which instructions are recorded, and any preferred combination thereof. The computer-readable storage media used herein should not be construed as transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmitting media (e.g., light pulses passing through optical fiber cables), or electrical signals transmitted through wires.
[0094] The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to each computing / processing device, or they may be downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network may include copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface within each computing / processing device receives computer-readable program instructions from the network and transfers the computer-readable program instructions for storage in a computer-readable storage medium within each computing / processing device.
[0095] The computer-readable program code / instructions that perform the operation may be assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, configuration data for integrated circuits, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, or similar, and procedural programming languages such as the "C" programming language or similar programming languages. The computer-readable program instructions may be fully executed on the user's computer, partially executed on the user's computer, executed as a standalone software package, partially executed on the user's computer and partially executed on a remote computer, or fully executed on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or wide area network (WAN), or a connection to an external computer may be made (for example, via the Internet using an Internet service provider). In some embodiments, for example, an electronic circuit including a programmable logic circuit, a field-programmable gate array (FPGA), or a programmable logic array (PLA) may execute computer-readable program instructions by personalizing the electronic circuit using state information of computer-readable program instructions in order to perform a particular action or operation.
[0096] The computer-readable program instructions may be provided to a processor of a general-purpose computer, a dedicated computer, or other programmable data processing device to generate a machine, and as a result, the instructions executed via the processor of the computer or other programmable data processing device create means for implementing functions / actions specified in blocks or blocks of a flowchart and / or block diagram. The computer-readable program instructions may also be stored in a computer-readable storage medium that can instruct computers, programmable data processing devices, and / or other devices to function in a particular way, and as a result, the computer-readable storage medium in which the instructions are stored comprises a manufactured article containing instructions for implementing modes of functions / actions specified in blocks or blocks of a flowchart and / or block diagram.
[0097] Computer-readable program instructions can also be loaded onto a computer, other programmable data processing device, or other device to perform a series of operational steps on the computer, other programmable device, or other device, thereby generating a computer implementation process, the instructions executed on the computer, other programmable device, or other device, which implement the functions / actions specified in the blocks or blocks(s) of a flowchart and / or block diagram.
[0098] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer-readable media according to various embodiments. In this regard, each block in a flowchart or block diagram may represent a microservice module, segment, or part of an instruction set comprising one or more executable instructions that implement a specified logical function. Methods, computer systems, and computer-readable media may include additional blocks, fewer blocks, different blocks, or blocks in different arrangements compared to those depicted in the figures. In some alternative implementations, the functions described in the blocks may occur regardless of the order in which they are shown in the figures. For example, two blocks shown consecutively may actually be executed simultaneously or substantially simultaneously, or blocks may be executed in reverse order depending on the functions involved. It should also be noted that each block in a block diagram and / or flowchart, and combinations of blocks in a block diagram and / or flowchart, may be implemented by a dedicated hardware-based system that performs a specified function or action or executes a dedicated combination of hardware and computer instructions.
[0099] It will be apparent that the systems and / or methods described herein can be implemented in various forms of hardware, firmware, or combinations of hardware and software. The actual dedicated control hardware or software code used to implement such systems and / or methods is not a limitation of the implementation. Therefore, the operation and behavior of the systems and / or methods are described herein without reference to specific software code, and it is understood that software and hardware can be designed to implement the systems and / or methods based on the descriptions herein.
[0100] It can be understood that many modifications and variations of this disclosure are possible in light of the teachings above. Within the scope of the attached sections, it will be apparent that this disclosure may be implemented in ways other than those specifically described herein.
Claims
1. It is a system, Memory storage that stores executable computer instructions, At least one processor that is communicatively connected to the memory storage, The processor comprises the above, and the at least one processor executes the instructions, Obtain vehicle configuration data, Based on the acquired configuration data, a plurality of vehicle elements associated with the vehicle are determined. Based on the acquired configuration data, the connection between one of the multiple vehicle elements and another of the multiple vehicle elements is determined. A system configured to display the determined vehicle elements and the determined connections in a graphical user interface.
2. The graphical user interface comprises at least a first part and a second part, The first part comprises the determined plurality of vehicle elements and the determined connections, The second part described above comprises several default elements, The at least one processor further executes the instruction: The system receives a selection input from the user to select one of the aforementioned multiple default elements. The system according to claim 1, configured to display one of the plurality of default elements selected in the first part in response to the receipt of the selection input.
3. The at least one processor further executes the instruction: The system receives a connection input from the user to connect an element displayed in the first part to another element displayed in the first part. The system according to claim 2, wherein, in response to the reception of the connection input, the element displayed in the first part is connected to another element displayed in the first part.
4. The system according to claim 2 or 3, wherein the plurality of default elements comprises a plurality of default elements associated with the vehicle environment, and / or a plurality of default vehicle elements.
5. The system according to any one of claims 1 to 3, wherein the plurality of vehicle elements comprises a plurality of electronic control units associated with the type of vehicle.
6. The graphical user interface includes a vehicle selector, The system according to any one of claims 1 to 3, wherein the vehicle selector comprises a plurality of vehicles that can be selected by the user.
7. The at least one processor further executes the instruction: Obtain multiple configuration data for the aforementioned multiple vehicles, The vehicle selector is configured to receive a selection input from the user to select one of the multiple vehicles. The system according to claim 6, wherein the determined vehicle elements and the determined connections are associated with one of the selected vehicles.
8. A method performed by the processor, To obtain vehicle configuration data, Based on the acquired configuration data, a plurality of vehicle elements associated with the vehicle are determined, Based on the acquired configuration data, the connection between one of the plurality of vehicle elements and another of the plurality of vehicle elements is determined. Displaying the determined vehicle elements and determined connections in a graphical user interface, Methods that include...
9. The graphical user interface comprises at least a first part and a second part, The first part comprises the determined plurality of vehicle elements and the determined connections, The second part described above comprises several default elements, The aforementioned method, The system receives a selection input from the user to select one of the aforementioned multiple default elements, In response to receiving the selection input, the selected element from the plurality of default elements is displayed in the first part. The method according to claim 8, further comprising:
10. The system receives a connection input from the user to connect an element displayed in the first part to another element displayed in the first part, In response to the reception of the connection input, the element displayed in the first part is connected to another element displayed in the first part, The method according to claim 9, further comprising:
11. The method according to claim 9 or 10, wherein the plurality of default elements comprises a plurality of default elements associated with the vehicle environment and / or a plurality of default vehicle elements.
12. The method according to any one of claims 8 to 10, wherein the plurality of vehicle elements comprises a plurality of electronic control units associated with the type of vehicle.
13. The graphical user interface includes a vehicle selector, The method according to any one of claims 8 to 10, wherein the vehicle selector comprises a plurality of vehicles that can be selected by the user.
14. To obtain multiple configuration data for the aforementioned multiple vehicles, The vehicle selector receives a selection input from the user to select one of the multiple vehicles, It further includes, The method according to claim 13, wherein the determined plurality of vehicle elements and the determined connections are associated with the selected one of the plurality of vehicles.
15. A computer program for causing at least one processor to perform a method, wherein the method is To obtain vehicle configuration data, Based on the acquired configuration data, a plurality of vehicle elements associated with the vehicle are determined, Based on the acquired configuration data, the connection between one of the plurality of vehicle elements and another of the plurality of vehicle elements is determined. Displaying the determined vehicle elements and determined connections in a graphical user interface, A computer program that includes [this].
16. The graphical user interface comprises at least a first part and a second part, The first part comprises the determined plurality of vehicle elements and the determined connections, The second part described above comprises several default elements, The aforementioned method, The system receives a selection input from the user to select one of the aforementioned multiple default elements, In response to receiving the selection input, the selected element from the plurality of default elements is displayed in the first part. The computer program according to claim 15, further comprising:
17. The aforementioned method, The system receives a connection input from the user to connect an element displayed in the first part to another element displayed in the first part, In response to the reception of the connection input, the element displayed in the first part is connected to another element displayed in the first part, The computer program according to claim 16, further comprising:
18. The computer program according to claim 16 or 17, wherein the plurality of default elements comprises a plurality of default elements associated with the vehicle environment and / or a plurality of default vehicle elements.
19. The graphical user interface includes a vehicle selector, The computer program according to any one of claims 15 to 17, wherein the vehicle selector comprises a plurality of vehicles that can be selected by the user.
20. The aforementioned method, To obtain multiple configuration data for the aforementioned multiple vehicles, The vehicle selector receives a selection input from the user to select one of the multiple vehicles, It further includes, The computer program according to claim 19, wherein the determined vehicle elements and the determined connections are associated with one of the selected vehicles.