Now that ISO 26262 has been introduced, the systems engineering and software standards in the automotive industry are on a par with those aerospace. Prior to this road vehicles were more prone to serious software issues than in equivalent airborne systems. The painful lessons from integrating complex software systems badly is a lesson that the aerospace industry learned long ago. Adopting a stringent safety-critical approach to developing software, systems, equipment and operational procedures is intrinsic to the end user’s acceptance of technology.
When dealing with automotive software systems that are safety-critical, independent testing (both static and dynamic) is prescribed to verify operational safety, robustness, reliability and safety performance.
The process of safety critical testing, especially in dynamic (functional) activities, ensures that software meets and exceeds requirements. And it is qualified and certified to a suitable design assurance level such as ISO 26262. Such testing ensures the system’s requirements are fit for purpose by determining whether they fulfil key performance and safety obligations and “do what they should, when they should, without breaking anything else”. Testing also ensures that the system’s design is faithful to requirements, and that the software artefacts adhere to the overall system design, behaviour and expectations.
With more industries relying on complex software, and with safety standards evolving, the need for reliable dynamic test tools continues to grow. The future holds amazing advancements, smart cities and connected environments within the next 20 years. Dynamic testing of C and C++, to generate the qualification and certification evidence needed, will become a powerful enabler in technology acceptance. Maybe as important as the engineer and the code written!