Model Based Testing primer for beginners.

Publish date:

With the advent of Agile frameworks , the need to improve speed to market through faster testing has emerged; leading to a greater adoption of Model Based testing. Model based testing entails generation of test scenarios using system models as inputs. Examples of models include flow charts, data flow diagrams, decision tables, process flows, UML’s […]

With the advent of Agile frameworks , the need to improve speed to market through faster testing has emerged; leading to a greater adoption of Model Based testing.

Model based testing entails generation of test scenarios using system models as inputs. Examples of models include flow charts, data flow diagrams, decision tables, process flows, UML’s and state machines. Benefits include increased speed to market, improved test overage and improved quality. Here is my list of five model use cases which leverage this technique:

  • Use case 1: Time partition test case design for embedded and automotive systems: In this technique, test cases are designed using special state machines as inputs.These state machines represent the continuous behavior of systems. Test scenarios for continuous behaviors are modeled based on inputs and outputs of these state machines. A  simplistic example of this is in testing  embedded devices and deploying scenarios such as turning all lights off when all inputs are zero, one light illuminates when input is 0, 1 and so and so forth.
  • Use case 2: Regression suites for packaged products such as SAP, Oracle and Salesforce: In this use case, business process models, such as flow charts created in the blue printing phase, serve as inputs. Test scenarios are generated by using algorithms such as condition statements, branches or path coverage.
  • Use case 3: Test Data design: In this scenario, classification trees are used as inputs for combinatorial types of tests data. The advantage of using this technique, is that it reduces the number of test cases – the basis of pairwise testing. This can also be leveraged for random test case design. For example, creating a test data service, which supplies the tests with data when required. In this scenario, test data is specified by properties which a service invokes at run time based on the combinations. For example, this would work very well for random creation of currencies and real time conversion rates for a global banking roll out.
  •  Use case 4: Agile testing:  Two techniques are most useful in this scenario. The first one involves using domain specific language, which developers use as a specification for the implementation and testers use as inputs to generate testable criteria. The second one is state diagrams to describe flows of events in user stories, which helps in building system integration testing scenarios.
  • Use case 5: Service Oriented Architecture (SOA) testing: The UML format serves as an excellent mechanism to determine interfaces, input parameters and output parameters. UML state machines determine states of an object during the execution of a process, hence enabling effective test scenario generation.

Model based testing necessitates the testing community to build new skills. It requires abstract thinking, understanding the requirements and architecture process.

Start small with one pilot and very soon you will never want to design test scenarios any other way.

Related Posts

quality assurance

World Quality Report 2018-19: Key trends podcast

Sathish Natarajan
Date icon October 3, 2018

This podcast will take you through the key findings of the World Quality Report 2018 and also...

agile

Enterprise’s valuable resource is data in the digital world

Shivakumar Balasubramaniyan
Date icon September 27, 2018

Data is a vital resource for an enterprise. Read this blog to learn more about the economics of...

agile

Do you feel that agile is losing you?

MICHEL BURINI
Date icon September 19, 2018

Quality is the correct expression of a project well done. But how do the testers put it at the...

cookies.

By continuing to navigate on this website, you accept the use of cookies.

For more information and to change the setting of cookies on your computer, please read our Privacy Policy.

Close

Close cookie information