Requirements and testing engineering build up the solid base for developing successful software projects. In particular along the development process, testing follows and relies on requirements engineering: an incoherent specification of one of the two can affect the correctness of a project resulting in delays, failures, unhappy customers and other consequences on the project delivery.Especially nowadays software companies are competing in fast changing markets where the delivery time of the products is the most crucial aspect and it really affects the quality and the success of the product. Given the semantic gap between requirements (typically written in natural language) and test specifications, it is not rare that requirements are misunderstood leading to erroneous tests. This risk is even more relevant when trying to perform early validation, since testing is mainly based on requirements definition.This thesis work introduces an investigation to close the gap between requirements specification and test cases by providing automatic test case generation. Requirements are written in Natural Language, their subsequent restructuring in a more formal controlled natural language, and the final automatic translation derives test cases. The soundness of the concept is demonstrated through a practical implementation tailored to a previous real project developed at MDH. The implementation not only demonstrates the feasibility of the idea, but also shows interesting results in terms of generated test cases against the ones obtained for the project by hand.