Prototyping is a technique widely used in many engineering fields. However, in software engineering, its usage is limited to requirement elicitation. Little research has been done to extend prototyping to other software development activities. In this paper, we present a prototyping-based testing model and describe how to apply prototyping to the testing activities in the entire software development process. In this model, testing of the product is performed against the prototype in every phase of software development. This prototyping-based testing model is then used in a case study to show how domain specific languages can be used to support prototyping-based testing.