Interface-Driven Model-Based Test Automation