Thanks to the increasing performance of basic components and advances in communication methods, complex systems can support more features with increasing intelligence.
On the other hand, designers of complex systems have limited time, often considered too short, to validate their systems. It is therefore a question of making the best use of available resources within this time frame to ultimately deliver a system that meets the customer's expectations.
In this article, testing activities are associated with the testing processes planned in systems engineering. They take into account the possible breakdown of the system into subsystems in order to determine what needs to be checked and at what level. These testing activities must be clearly defined, planned, optimized, and monitored. They must be considered in advance in order to decide on the strategy to be adopted and to document it.
This article describes the processes associated with testing and defines best practices. It proposes a test typology that facilitates the development of a testing strategy. It also addresses the issues of documentation and test management.
Finally, it presents various optimization criteria for minimizing costs, without overlooking the issue of risks during and at the end of testing. For systems with a high programmed component, it proposes an original approach to test optimization based on reliability, which applies mainly to functional testing of the system.