Improving Embedded Software Test Effectiveness in Automotive Applications

As the automotive industry introduces more and more safety-critical, computer-based systems (e.g., brake-by-wire), there is a growing convergence between the guidelines that the Automotive and Aerospace industries use for developing safe and reliable embedded software.

The Automotive industry implements strong software development processes, using software standards and certification in an effort to improve the overall quality and reliability of embedded software. The intelligent interconnection of tools, processes and methods should also be a central focus of developing better software. This discussion focuses on how structural coverage analysis techniques may be used to improve overall test effectiveness, one aspect of the Automotive and Aerospace software development guidelines.

Methodologies to improve the testing and testability of software have improved in recent years, but it is not unusual for an embedded application to have as little as 20-30 percent of its code actually tested before first customer shipment. In most projects this is a quality, time and cost issue, but in systems where safety is a major characteristic, the problem can be more acute.

Testing is an essential component of the software verification process, and it serves two primary functions: to prove that the software works correctly and to detect programming errors and mistakes in the implementation of the software design. For large embedded systems, the human capacity to comprehend complexity is limited, and defects can never be completely ruled out. The following examples highlight difficulties with software testing:

Good embedded software testing is to some extent an art form and requires effective methods and tools to support the deployed testing strategy. Typically, more than 50 percent of development time is spent testing the software, representing a significant cost. For safety-critical software, it is important that the effectiveness and quality of this testing be tracked and measured to ensure test completeness. For safety-critical avionics software, structural coverage analysis data must be submitted to the certification authorities to prove that the software has been tested completely.

View Entire Paper | Previous Page | White Papers Search

If you found this page useful, bookmark and share it on: