This article describes an approach for automatically generating and executing system tests, which can be used to improve the validation of an application. Tests are automatically generated from behavioural models of the application using the unified modelling language (UML) and then executed using a suitable test execution environment. For this paper, we demonstrate our approach by means of an application that interacts with its users via a graphical user interface. Thus, we discuss the test- execution phase with respect to a commercial user interface (UI) or capture–replay tool. In this article, we show how, in the first step, a test designer manually annotates the UML models, which may have been semiautomatically extracted from existing, textual-use case documentation, with test requirements. In the second step, the test- generation tool automatically creates a set of textual test procedures (test cases) or executable test scripts. In the third step, a test executor runs these against the system under test using a commercial UI testing tool. The goal of the article is to illustrate the benefits of an automated, model-based approach for improving system test design, generation and execution. Details regarding the different tools are given.