Using a goal-driven approach to generate test cases for GUIs | Synapse