Streamlining Unit Testing for Embedded and Safety Critical Systems
Unit testing is a fundamental software practice and, if done correctly, can increase the speed and quality of software development while simultaneously reducing risk and overall costs. In safety critical systems, unit testing is not only required to qualify software for intended use, but it's also a cornerstone of safety and security verification and validation. Unfortunately, unit testing is expensive in terms of time and resources. This paper outlines the key elements needed to successfully address unit testing in a way that is scalable across the entire project and organization, enabling more of the software team as a whole to contribute to the unit tests—not only the engineers.