Model-based testing is the newest generation of Test Automation. In short, we build a model of the System under test. The test cases contain all of the business logic with nothing other than the flow, the actions and the test data. There are no scripts. The model is the technical layer. The Model is nothing more than a
catalog interface of the system under test (for UI and non-UI) and knows how to interact with the system under test. It is true separation of concerns. Another way to look at it is that we automate the automation framework. Therefore there is no need to develop a framework for each of the technologies which can take weeks, and almost more importantly you do not need to maintain those frameworks. We provide around 36 technology adapters out of the box and also allows for very fluid System Integration Testing.
The separations of concerns between the technical and the business logic allows Model based testing to be the most efficient option when there is change. If there is a technical change, we synchronize/update the model once, and all test cases using that UI will automatically update (can update an infinite amount of test cases within seconds). This is main cause of maintenance effort with Automation frameworks. Often when an automation framework has too many changes, it causes more work than it saves, and the automation framework becomes redundant (people stop believing in the benefits).
The model-based option is not revolutionary, rather an evolution addressing the pain points of automation frameworks. In addition, as there is no scripting, we can use non-technical users to specify and execute the test cases allowing for more work to be achieved.
If you would like any more information, please let me know.