Automotive Software Integration & Testing
In the world of constantly changing ecosystems and variables, the Quality element is always a moving target. A user expects his product to be exceptionally robust and functional in any dire environment. The Million dollar question is how to achieve a fail-safe system which continuously interfaces with unpredictable environmental factors.
Automotive systems software testing is special because of its exposure and adaptability to the diverse components internally and externally. A software generally in its development lifecycle, religiously undergoes testing. Software testing magnifies in proportion with the maturity level of the software in its development lifecycle, a good testing starts right at the requirements documentation stage. And there is Agile, which breaks the traditional way of development, it opens the window for changes at any state thus giving more ways to improve and manage system changes and also introducing challenges to software integration. In this modern automotive software development era, a single component is developed by multiple different suppliers intended for various vehicle lines that means each supplier of the module has to integrate with common On-board and Off-board components and features, adhering to the specific system architecture and different regional ecosystems. This is where a software test engineer starts to have their first nightmare. A single bug might appear on same system software of the component developed by one supplier but not on the other, tests have to branch out here like trees of Pandora.
Connected Car capability and interactive infotainment systems are a standard in any modern automotive that are built now. A connected vehicle is always connected even when the vehicle is turned off, the vehicle is ready and listens your command from your mobile App, your smart watch or from your laptop and instantly responded based on its activity state. Your request to the vehicle may be a simple vehicle charging status check, or a complicated route guidance which the navigation guidance extends in your phone app after your drive destination is ended. A connected vehicle has internet capability either by WiFi or the embedded sims (e-sim) in its T-Box module or the Infotainment ECUs, which makes the vehicle behave smarter than your mobile phones, constantly retrieving multiple services say it an online navigation, online media, weather information, real time traffic, interactive live streaming contents and services, Over the Air updates or any safety and convenient telematics functions. On the other hand, Driver Assist System modules with object recognitions and field sensing capability, it continuously interacts with the changing environment factors such as, a traffic sign, road signs, pedestrians and all vehicles around it. How do you ensure all these hardware and software components which are made for different functions and adaptive to different architecture function in harmony? Is it possible to automate the whole end to end testing? How much does simulations help? Let’s talk it out.
Simulations are higher at the unit level before it is merged with other sub-systems, starts right away with branch testing for logical verification and code execution coverage. Then at the level of integrations, the functional validation starts also enabling SIL (Software in Loop) testing and other automation test scripts to be run independently for each functional component in the system. A Scrum master’s role is critical here, who manages and triggers the required tasks for the project, they enable the required integration, sprint changes and control software releases versions for those merge candidates in correlation with project release target. Integration owner works with the Scrum master controlling the validations for each delta changes and deployments. Primary key factor for any simulation are the test data, for example, a typical autonomous drive module or driver assist module testing includes collection of huge real-time data from thousands of test drive miles. Those data includes information about the different road types, complex multilevel elevated bridges, traffic conditions, external interactions including pedestrians, bikes, incidental traffic or road conditions. A simulation test engineer computes this data and replays it on the system in many cycles, also adds his own modifications and complex factors to the real-time data for different test cycles based on the needs. Same applies for an interactive infotainment system test scenario as well, a navigation log recorded for one vehicle test drive can be adaptively played for multiple different infotainment variants on multiple test vehicles or simulation set-ups to analyze the identified variations.
Security, it is mandatory to protect our data, authentications and interfaces. Dots are connected between security and testing as well, intelligent mobility systems are constantly connected to multiple cloud service providers, content providers and enablers, access providers and more. Each end points going over the mobile network adapts to the network protocol and server configurations. Every access points of the system is ensured to be verified according to the encryption and communication protocol. Any system end points that tends to have changes or updates to the external access point has to undergo a proper change management life cycle. Integration owner of the systems coordinates with other IT, Architects and component developers to ensure functionality and quality are kept intact.
A simple way to look at any system breakdown is based on the bed of platform each integration is done. An intelligent telematics module has smart hypervisor to cohere multiple systems each operating with diverse operating systems. Any subsystem simply interacts internally with onboard components over the CAN/ Ethernet and off-board components over the mobile network. The application interfaces provide gateway to interact with both internal and external subsystems for simulations and diagnostics. Any system’s quality can be indisputable until is exposed with complicated network configurations and other external components. The A smart system stands out from normal systems by being intelligent enough to predict all possible external component behaviors and handle the vulnerable conditions with no compromise to the functionality and performance.
Quality is the end-game of any product, it totally depends on the moves made right from the start. Software testing starts at requirements stage beginning with review of the same but the quality of a product totally starts even before that on every step of verifications and validations of the system V lifecycle. Any software or system is expendable along the time and has to be constantly updated as the factors around it changes. Similarly when a system software is updated, best practice is to upgrade the validation as well. Running same thousands of test cases for the software versions A-Z is not the best practice followed. Hundred percent functional does not mean hundred percent quality, it can be reflected with one of my favorite quote from a quality guru “Quality does not happen by accident”.
Author:
Moulikannan Selvaraj
Telematics System Engineering Manager
Jaguar Land Rover China, Product Engineering
Leads an expert team for integration and validations in Jaguar Land Rover China. Residing in China for more than 7 years, he closely encounters and plays his part in the rapid evolutions of intelligent mobility features in the largest automotive market. Mouli also led a team of Connectivity and Infotainment validations for Fiat Chrysler Automobiles and Mercedes-Benz in China.
Published in Telematics Wire