I will write down some of the definitions of a model based testing found while searching in google:
"Model-based testing, uses algorithms to determine all of the usage paths for an application, pares down that number for maximum coverage and minimal testing, and then generates various test cases to try the application against" .. [Original Article]