Testing plays an important part in software development process to ensure the quality and reliability of the developed product. For Object-oriented systems, model based testing has recently become very popular. This approach uses models representing system behavior to generate the test cases. In this paper, we would focus on the work done by various researchers in the field of model based testing approach. We would review the recent trends and different model-based approaches that have been proposed by different researchers. Finally, we would describe what are the present challenges and what work needs to be done in near future in this area.