Abstract:Along with the increasingly important role of software in today's society, during the development process of software or system, testing becomes more and more important. With the wide application of object-oriented technology and the demand of automation testing, model-based testing (MBT) approach have been approved by software engineering. Although there are a number of publications discussing model-based software testing, we are lack of technical papers and publications presenting a review of the current advances in model-based software testing and automation tools. The goal of this paper is to review the model-based testing approach, it first discusses the popular models used in model-based testing, the test case generation methods, the testing target. Then, it summarizes MBT practices and discusses and compares the major model-based test tools. Finally, the paper close ends with a discussion of the challenges of current MBT approach, and where model-based testing fits in the future.