As the health situation of a system is only indirectly accessible, often conclusive explanations for observed abnormal behavior can not be given. In order to discriminate further between possible diagnoses, more information about system behavior is necessary. Testing techniques are especially useful in situations where it is not possible to probe additional process variables, such as in remote diagnosis applications. However as Scarl has pointed out, care must be taken as test vectors may induce new errors. He introduced the notion of so-called hazard condition constraints that should not be violated by the test input. In this paper, we apply the notion of safe test vector generation to the domain of dynamic systems. Dynamic systems are characterized by the fact that the current behavior does not depend on the current input only, but also on the history of the system. Therefore, safe testing for dynamic systems needs a technique akin to model-predictive control. That is, before one can say that a particular test vector will discriminate between two possible diagnoses, or that it will not violate a hazard condition, the behavior of the system has to be simulated over a number of time steps.