Testing the Software Car. As usual with the LogiGear Magazine, we are tackling a big subject. With our goal of having single-topic issues, we have the ability to grab and disseminate as much information as we can related to a current topic that is interesting and also on the frontier of Software Testing.
Some of the goals of these issues are for you, the reader, to have a fuller understanding, for demystifying certain topics, and for sharing this knowledge with your team. This is one of the biggest problems in the testing industry around the software car. As always with the LogiGear Magazine, we keep the focus on testing and sometimes new technology—not the hype or buzz around it.
What has been saturating the headlines recently is autonomous driving; it seems like a flood of software companies are moving into autonomous driving. Yet, some of these companies have not worked on safety critical systems before, or have not had much experience in firmware or experience testing on simulators.
Or in this modern, Agile software development age, they are dealing with increased documentation requirements for regulatory compliance and auditing. The standards for car software are evolving, but requirements for formal test plans, test cases, and bug reports are more old school—not Agile or Lean. With evolving standards, the auditing requirements can be equated to hitting a moving target.
As you know, not every piece of software in a car is related to autonomous driving. It’s diverse, complicated, and interactive. It’s also more than a ride share app or navigation. So much of the software car is telecom, entertainment, communication, navigation, and both hardware and software just to keep a driver paying attention. Estimates are wildly different, but according to visualcapitialist.com, they fall around 100 microcontrollers in a car with 100 million lines of software code in an average, modern, high-end luxury car. The skills needed here are the skills testers always need, the Venn diagram (see below) of knowledge of the users, knowledge of the platform/technology, and knowledge of testing and quality practices, coupled with the technology and testing skill. These skills are often taken for granted. What will set you apart is understanding, simulating, and acting like the user, not merely validating requirements.
But there are new technical issues for many test teams who have worked in software only and easy UI development projects: automating Sensor Testing, automating Firmware Testing, as well as testing on dynamic hardware and simulated environments. The public responded with dropped jaws to hacked baby monitors and insulin pumps. The public will not tolerate hacked cars. Security Testing, with its unique skills and tools, will have to be raised a level. I recently heard a story where a braking problem with a car was not because of a software issue nor was it a defect with the car, but was actually due to people not knowing how to use the automatic system itself.
Not knowing the proper usage of the system, limitations, when to use, when not to use… the majority of users are not properly informed about these topics. The usability, documentation, and training videos—whatever it is that companies need to do to make the using of the seriously complicated systems much easier to understand for consumers—are equally as important to the successful use of software in cars as the quality of the software itself. Each of these areas is not only core testing work, but the synchronization, usability, and testing of each piece is part of testing the integrated system as a whole.
The users present their own issues here. How much training will they get on car systems? Will they understand and know the uses, limitations, human interaction, and human overrides of the system? We are excited about this, our first issue on Testing the Software Car, and look forward to more issues on this skyrocketing topic. This issue’s cover story is written co-authored by Long Trinh and myself. In this article, we discuss how to leverage your existing experience for automotive Software Testing.
We’ve also got some great infographics for you on the software car. Our featured Blogger of the Month, David Silver, discusses test-driven development for autonomous vehicles, and we touch on several important articles including HMI and testing for the modern car as well as how to shift-left your UI testing. Leader’s Pulse will feature the first of a 2-part series on emotional intelligence. We hope you enjoy it!