Automatic test data generation leads to identify input values on which a selected point in a procedure is executed. This paper introduces a new method for this problem based on constraint solving techniques. First, we statically transform a procedure into a constraint system by using well-known \Static Single Assignment" form and control-dependencies. Second, we solve this system to check whether at least one feasible control ow path going through the selected point exists and to generate test data that correspond to one of these paths. The key point of our approach is to take advantage of current advances in constraint techniques when solving the generated constraint system. Global constraints are used in a preliminarystep to detect some of the non feasible paths. Partialconsistency techniques are employed to reduce the domainsof possible values of the test data. A prototype implementation has been developped on a restricted subset of the C language. Advantages of our approach a...