QA City

Most Popular

Beginner's Guide to Model Based Testing

By SiliconIndia   |  
Print Email

Bangalore: There is a glut of testing techniques in the field of software engineering. Over the last ten years, there has been a rise in black box testing techniques also known as Model-based testing. Model-based testing or MBT is a general term used for an approach that bases test case generation and test result evaluation on a model of the application under test.

A model of software is a representation of its behavior or the flow of data through the application’s modules and routines. In order for a model to be useful for groups of testers and for multiple testing tasks, it should be understandable by all. A formal and practical model is always preferred.

A subset of models that have been useful for testing are listed. Examples of these are finite state machines, state charts, the unified modeling language (UML) and Markov chains.

Finite State Machines: In a common testing scenario, a tester applies an input and then evaluates the result depending on the prior result. Then he appraises the next set of possible inputs. At all times, a tester will have a definite set of inputs to choose from. This set of inputs varies depending on what “state” the software is in. This feature of software makes state-based models a rational choice for software testing: software is always in a definite state and the current state of the application governs what set of inputs testers can select from. For this kind of software, Finite State Machines must be considered, as they are applicable to any model that has a finite number (usually quite small) of specific states.

State charts: State charts are an extension of finite state machines that specifically address modeling of complex or real-time systems. They provide an outline for specifying state machines in a hierarchy, where a single state can be “expanded” into another “lower-level” state machine. The structure of state charts involves external conditions which determine whether a transition takes place from a particular state, which in many situations can reduce the size of the model being created.

Unified Modeling Language: The unified modeling language or UML models replace the graphical-style representation of state machines with the power of a structured language.

Markov Chains (Markov process):  Markov chains are stochastic models. A specific class of Markov chains has been used to model the usage of software. They bear structural resemblance to finite state machines.

Sign Up for QA Digest and Read the Day's Highlights
Don't Miss
Experts on QA
Swaid Qadir Bhat
Sr System Architect
Virtusa Corporation
Subhash  Motwani
Prasad Rao Pasam
Ayaskanta  Mohanty
Managing Director
TATWA Technologies
Rajesh  Dagar
Software Architect
Connect Icon Pvt Ltd
Yasar  Khuthub
Software QA Manager
Azure IT Solutions
Sunil  Bhat
Project Management
HCL Infosystems Limi
Sharad  Agarwal
Team Lead
Write your comment now
This report is the result of the largest public-private sector rese...
For those not familiar with the Coverity Scan™ service, i...