Model Based Testing Tutorial: What is, Tools & Example

What is Model Based Testing?

Model based testing is a software testing technique where run time behavior of software under test is checked against predictions made by a model. A model is a description of a system's behavior. Behavior can be described in terms of input sequences, actions, conditions, output and flow of data from input to output. It should be practically understandable and can be reusable; shareable must have a precise description of the system under test.

There are numerous models available and it describes different aspects of the system behavior. Examples of the model are:

Model-Based Testing describes how a system behaves in response to an action (determined by a model). Supply action, and see, if the system responds as per the expectation.

It is a lightweight formal method to validate a system. This testing can be applied to both hardware and software testing.

In this tutorial, you will learn

Model Based Testing Example

Model Based Testing – Stuff You Must Know!

The above model explains the simplified approach of writing poetry in notepad and possible actions related to each step. For each and every action (like starting, Entering poem, Saving), Test Case can be generated and output can be verified.

Types of MBT:

There are two types of Model based testing framework.

  1. Offline / a priori: Generation of Test Suites before executing it. A test suite is nothing but a collection of test cases.
  2. Online / on-the-fly: Generation of Test Suites during test execution

Different Models in Testing:

In order to understand the MBT, it is necessary to understand some of the models explained below. Let's go through one by one:

Finite State Machines

This model helps testers to assess the result depending on the input selected. There can be various combinations of the inputs which result in a corresponding state of the system.

The system will have a specific state and current state which is governed by a set of inputs given from the testers.

Consider the example-

There is a system which allows employees to log- into the application. Now, a current state of the employee is ''Out'' and it became ''In'' once he signs- into the system. Under the ''in'' state, an employee can view, print, scan documents in the system.

  Model Based Testing – Stuff You Must Know!

Challenges of Model Based Testing:

Deployment of MBT in every organization obviously requires a high amount of investments and effort. Following are drawbacks of MBT in Software Engineering.

Advantages of Model Testing:

Following are benefits of MBT:

Conclusion

Testers construct mental models anyway during their testing. Those mental models can be transformed into models on paper. This helps testers to achieve readability and re-usability.

Model based testing is a new approach to software testing. The evolution of Software Testing is shown below -

YOU MIGHT LIKE: