Modelling tools are basically ‘model-based testing tools’ which actually generates test inputs or test cases from stored information about a particular model (e.g. a state diagram), so are classified as test design tools.
It helps to validate models of the system or software. For an example a tool can check consistency of data objects in a database and can find inconsistencies and defects. These may be difficult to pick up during testing because you may have tested with one data item and not realize that in another part of the database there is conflicting information related to that item. Modeling tools can also be used for checking state models or object models.
Modeling tools are generally used by developers and can help in the design of the software.
One strong advantage of both modeling tools and static analysis tools is that they can be used before dynamic tests can be run. This enables in finding and identifying the defects at early stage, when it is easier and cheaper to fix them.
Features or characteristics of modeling tools are:
- To identifying inconsistencies and defects within the model;
- To help in identifying and prioritizing areas of the model for testing;
- To predict system response and behavior under various situations, such as level of load;
To help in understanding system functions and identifying test conditions using a modeling language such as UML.