A method for testing the reliability of complex systems, comprising evaluation and optimisation of the availability of such systems, comprising the following steps: a. Establishing a system hierarchy of several levels by identifying components of the system; b. Identifying and assigning failure modes to components; c. Determining test procedures for failure modes of different components to obtain estimates for the availability of the component and selecting at least one test; characterised by the following steps: d. Identifying a level of maximum depth for allocating availability targets to components establishing a hierarchical decomposition of the system; e. Allocating availability targets to the components identified in the previous step by qualitative methods considering experience, criticality of failures and novelty of design or material, said availability targets combined result in an overall availability target of the system, and identifying those targets of components which targets need to be analysed; f. Calculating a projected availability of all components, having targets which need to be analysed, which is an estimate of the most probable value of availability provided that the tests selected in step c. are successful; g. Identifying components for which availability targets are not met by said projected availability and select another test to improve projected availability or increase severity of tests already selected till availability targets are met; h. Calculating an overall availability of the system based upon the projected availability of all above components, having targets which need to be analysed and upon the availability targets of the other components identified in step d. a. Establishing a system hierarchy of several levels by identifying components of the system; b. Identifying and assigning failure modes to components; c. Determining test procedures for failure modes of different components to obtain estimates for the availability of the component and selecting at least one test; characterised by the following steps: d. Identifying a level of maximum depth for allocating availability targets to components establishing a hierarchical decomposition of the system; e. Allocating availability targets to the components identified in the previous step by qualitative methods considering experience, criticality of failures and novelty of design or material, said availability targets combined result in an overall availability target of the system, and identifying those targets of components which targets need to be analysed; f. Calculating a projected availability of all components, having targets which need to be analysed, which is an estimate of the most probable value of availability provided that the tests selected in step c. are successful; g. Identifying components for which availability targets are not met by said projected availability and select another test to improve projected availability or increase severity of tests already selected till availability targets are met; h. Calculating an overall availability of the system based upon the projected availability of all above components, having targets which need to be analysed and upon the availability targets of the other components identified in step d.