It seems that model based testing approach is dead. Most of tools for model based test end in 2010-2012. For example NModel is dead, Spec Expoler ends in 2012 visual studio. Why? What new methods are currently developing for testing?
-
What problems was model-based testing expected to solve? Maybe that approach failed miserably and no-one cares anymore?– Peter M. - stands for MonicaCommented Oct 5, 2017 at 14:30
-
@PeterMasiar, i thought that mdoel based testing helped to solve problems with behaviour state's with automatic test cases. It seems that this is good idea. It seems that now nobody use it.– A191919Commented Oct 5, 2017 at 14:50
1 Answer
If you implement Model-Based Testing for complexer models (complexer than the coffee machine) which e.g. have inputs with larger or even infinite input domains (like integer, float, double, strings etc.) and use a rich modern modeling language you have to solve a very hard problem.
The solution is using symbolic execution (guided execution, concolic execution ... ) and e.g. constraint solvers are used to solve the problem. This is still rocket science. The solvers are very generic but also very slow (Conformiq Designer is an example for an active product relying on that). Today we have not enough science funding to make faster progress on constraint solvers. There are only very few people able to work on that. Rather I think the effort already reached a peak and slowed down.
Model-Based Testing is only one application for this technique. Exactly the same technology is used in parametrized unit tests. Here we use the final code (not a model) for exploration and equip it with assert-statements. These tools are simpler to use and have more customers and this is why there are more active products for nearly every programming language (E.g. IntelliTest for .Net, Reactis for C, Simulink Design Verifier for Simulink etc.). The tools can't be for free of course.
Model-based Testing is only a tiny step towards developing things like autonomous or secure systems. Even if you find a person which is able to work with Model-Based Testing tools chances are high that bugs are not found. For these systems you need proving systems - an even harder problem. This shows how far we are away from seeing products like that for the foreseeable future.