The automotive industry has come a long way from early fossil fuel-driven vehicles to those including hybrid and fully electric systems, but aside from power-type advancements, car manufacturers have been making leaps in other areas. Today’s developments have seen the advent of connected and self-driven cars, allowing for an unheard-of level of autonomy.
While self-driven cars are only an emerging technology, connected cars have already been on the market for a while. Connected vehicles are fitted with devices that enable them to connect with the external environment. This includes sharing and obtaining information via mobile broadband (3G-5G), Wi-Fi or satellite communication technology within Internet of Things (IoT) networks.
However, due to their developing complexity, connected vehicles require in-depth quality assurance at the software level to verify that they keep up with their suggested functionality levels.
Testing specialists use various methods to ensure the quality and safety of IoT-powered vehicles. We’ll overview the software testing techniques implemented in the vehicle manufacturing industry, but first, we need to look at how data actually travels within and between connected cars.
How Data Is Shared and Utilized in Connected Vehicles
Before diving straight into testing methodologies, it’s vital to understand how data is shared and utilized in connected vehicles. Data collection, sharing and use is the backbone of how connected car technology operates. It can be divided into five levels:
- Vehicle to Infrastructure (V2I) is used by a car to notify the driver about the surrounding infrastructure; for example, traffic safety, traffic congestion, accidents, nearby parking and zones under construction.
- Vehicle to Vehicle (V2V) is used by a car to inform other road users about its location to eliminate accidents and reduce traffic congestion.
- Vehicle to Cloud (V2C) is the communication route where internal sensors monitor car conditions and send the data obtained into a cloud system for it to be evaluated and diagnosed, much like predictive maintenance techniques. In addition, manufacturers can improve and upgrade a car’s software, accommodating and tuning their functionality without the driver’s input.
- Vehicle to Pedestrian (V2P) is used by a car to detect and notify other road users about people on the road. The system can inform other vehicles or alert pedestrians, especially those with disabilities, by calling or sending messages to their smartphones about possible dangers.
- Vehicle to Everything (V2X) is used to exchange data between a car and other road infrastructure objects, such as road signs, traffic lights or road markings for road service improvement.
These systems are complex and require accuracy, which is why various testing methods are applied to ensure car safety, the integrity of human life and the systems’ reliability. For this, vehicles can be tested in various environments:
- In-laboratory testing involves hardware and software testing in a set and controlled environment; for example, engineers may recreate particular weather patterns or road surfaces. Also, a car can be checked for electrical safety, wireless connection or performance of individual equipment parts.
- On-road testing involves testing in extemporary conditions to evaluate parameters like functionality, safety and resilience in real-world conditions.
- Virtual environment testing also creates real-world conditions by capturing in-field data and turning it into testing scenarios while monitoring each part of a vehicle at the same time.
Mitigating Risks with Connected Vehicle Testing
With connected vehicle technologies rapidly advancing year by year, applying the correct testing solutions is critical. These solutions generally relate to two types of systems:
- Advanced Driver Assistance Systems (ADAS) use various sensors, cameras and alarms to monitor the overall condition and road situation, showing the gathered data on a monitor to enhance the driver’s performance on the road.
Internal environment sensors can monitor speed, parking positions, indicators, high beam lights and other information. External environment sensors include lane departure, forward collision, pedestrian collision, and other warnings.
- Telematics systems assist drivers in better routing by using GPS navigation and real-time data exchange with the сar. It can help with driving in various weather conditions and across different terrains as well as adjust schedules, for example, for truck drivers. This technology can also provide feedback on the driver’s road behavior to encourage vehicle operators to improve their driving skills.
ADAS and telematics systems should be of a high standard and quality as they’re responsible for vehicle performance and, as a result, for human life. A lack of testing can lead to failures in internal car parts, which can ultimately result in vehicle or wireless connector breakages. This can cause disorientation for the car due to the absence of communication with the outside world.
These systems require bug detection at an early stage of software development, as well as continuous testing to ensure quality throughout the vehicle lifecycle. To prevent damaging consequences, QA engineers use various types of testing, such as:
- Performance testing to verify software endurance under extreme workloads, as well as the amount of data it can handle. The speed and amount of data exchanged with the cloud are also among the parameters tested here.
- Interoperability testing to check the compatibility of communication protocols between different parts of the system, for example, ensuring that IoT systems can exchange and provide data on vehicle parts.
- Security and access control testing to analyze malware attack risks and the possibility of unauthorized access to sensitive data, among other cybersecurity vulnerabilities.
- Regression testing to identify and handle bugs that surfaced during code changes. It’s used to ensure impeccable software quality with every update.
Frequently, these types of testing need to be automated to run continuously, especially with the great amounts of data nodes found in IoT networks. Many companies refer to automation testing services to accelerate testing speed, decrease the number of code bugs and optimize the time it takes to get software products to market.
Testing for Road Safety
Software testing is one of the disciplines not to be overlooked when stuffing connected cars with intelligent semi-autonomous systems. Ultimately, it not only helps minimize the number of bugs and mitigates software downtime risks, but it also increases reliability and thus prevents a number of accidents on our roads.
Written by Maxim Chernyak, Head of Test Automation and Performance Testing Lab at A1QA