Testing In-Vehicle Apps: The Right Tools & Strategy
With the advent of advanced wireless technologies, cars are increasingly becoming hyper-connected and they are no less than high-performance computers on wheels. Incredible focus is put on the center stack display, providing the HMI on one hand and acting as a conduit between OEM cloud and hundreds of sensors deeply integrated into the product. Some of the OEMs even announced mirrorless concept cars moving to the high resolution video streamed onto special displays.
The war for what goes into the center stack display will continue to increase. App Store and Play Store offer around 2 million app options each! However, the in-vehicle apps will never see these kinds of numbers due to some fundamental differences that added technology needs would prevent. The HMI aspects and driver distraction factor will play a crucial role before the apps get to the In-Vehicle app store.
It was heartening to see Toyota adopting the Fords’ SmartDeviceLink that was open sourced. QNX Software systems and UIEvolution are planning to integrate Fords’ SmartDeviceLink software as well. However, the fragmentation of the underlying OS, Infotainment SDKs is here to stay as most of the OEMs have their proprietary homegrown SDK. Testing and certification of the apps for the in-vehicle platform is all together a different ballgame. It is crucial to understand the complexity and nuances associated with the vehicle ecosystem to appreciate the need for a new focused approach for in-vehicle app certification.
Though the car is increasingly becoming a network of high-speed computers, the typical lifecycle in the automotive industry is longer than other consumer technology products. Conventionally, a limited number of test benches are made available well ahead of the actual product release to the testing team. In a development organization with multiple vendors and teams, time-sharing of these limited resources is often a challenge. There is a lot of stake causing sensitivity around these resources leaving the perimeter of the OEM even to a trusted vendors’ premise. The need to have physical proximity to the test benches in the world of globalization and teams located in geographically diverse regions poses yet another challenge.
At this time, the configuration of the IHU is resource constrained compared to a consumer device like a tablet. So, it is important to ensure the apps that are certified to go on the IHU do not make other apps starve for the resources and can co-exist giving the right user experience. It is also important to monitor network traffic of the in-vehicle apps from a security standpoint and the bandwidth that it utilizes in terms of bytes received, etc. A comprehensive audit report of the API calls and URLs that are accessed is important to understand the dynamic behavior of the apps beyond static code-analysis. Another unique problem with in-vehicle apps is the dependency of vehicle data, other contextual data and real-world scenarios that are not easy to simulate. Some interesting examples to think about –
- Validating the behavior of an internet radio in-vehicle app when there is a disruption of the 4G LTE connection
- Monitoring the memory, CPU utilization of a navigation app to ensure there isn’t any memory leak or excessive resource utilization
- Detecting redundant and repeated calls to the underlying API by an app
- Rogue calls to unauthorized APIs that cannot be detected by static code analysis
- Metering the bandwidth utilized for apps that are dependent heavily on the internet resources
Though test benches can help with functional testing to a greater extent, it has various limitations as discussed throughout this post. The natural alternative is a software based emulation that can scale and eliminate the need for physical proximity. Building a software based emulator that can work with various generations, models and even OS platforms in some cases simultaneously can be a herculean task for OEMs and distractive from the core goal. Also, setting up an alike configuration of the Emulator to provide exact IHU-like environment is no inferior task!