Key Point

A comprehensive test regimen, including functional, regression, performance, and coverage testing, is well known to be one of the best mechanisms to assure that software is reliable and secure.

Testing is an important component of many high-assurance development standards and guidance documents, such as that promulgated by the U.S. Food and Drug Administration.19 In the realm of functional testing, we have fault-based testing, error-based testing, stress testing, white-box testing, and black-box testing.

Two approaches to testing are almost always required to ensure security. First, all software within security-critical components must be covered by some form of functional test. Coverage is verified using code coverage tools. Furthermore, ...

Get Embedded Systems Security now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.