Model Based Testing : Vital for Complex Business Scenarios

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.

What is 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.

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

  • Data Flow

  • Control Flow

  • Dependency Graphs

  • Decision Tables

  • State transition machines

Model Based Testing Example

As shown in Diagram above, Model Based Testing typical involves 3 Stages before actual testing gets execute either Manual or through Model Based Test Automation Tools

1. Understanding Application Screens and Components Flow

In this phase you understand each application screen and define interaction between these components as per business flows

2. Recorded Test Cases Creation

In this phase based on interaction between different components of Application Screens, we generate test case flows. Every test case flow Start with Component containing first row of Model and Ends with component containing last row of Model.

3. Optimized Model

In this phase model gets optimized with minimum possible combinations, eliminate any redundant paths and add decision points while transition happens from 1 component to other component.

Types of MBT:

There are two types of Model based testing framework.

Offline MBT: Generation of Test Suites before executing it. A test suite is nothing but a collection of test cases.

Online MBT: Generation of Test Suites during test execution. QA can use automated tools like TOSCA, HOVERFLY, CONFORMIQ