This document discusses model-driven testing of web applications. It proposes using platform-independent models (PIMs) and platform-specific models (PSMs) to generate test cases, oracles, and execution environments. Test cases and oracles are generated from PIMs, while PSMs are used to map tests to specific platforms. Patterns like Bridge and Proxy allow tests developed from PIMs to be reused for distributed execution on target platforms. The approach is demonstrated on an online shop example, showing how models can serve as test oracles by simulating expected behavior. JUnit is used to execute tests by treating test cases as classes that send messages to implementations under test.