• Software Testing Dictionary
  • Home

State Transition Testing


Advertisements

What is State Transition Testing?

State Transition testing, a black box testing technique, in which outputs are triggered by changes to the input conditions or changes to 'state' of the system. In other words, tests are designed to execute valid and invalid state transitions.

When to use?

  • When we have sequence of events that occur and associated conditions that apply to those events

  • When the proper handling of a particular event depends on the events and conditions that have occurred in the past

  • It is used for real time systems with various states and transitions involved

Deriving Test cases:

  • Understand the various state and transition and mark each valid and invalid state

  • Defining a sequence of an event that leads to an allowed test ending state

  • Each one of those visited state and traversed transition should be noted down

  • Steps 2 and 3 should be repeated until all states have been visited and all transitions traversed

  • For test cases to have a good coverage, actual input values and the actual output values have to be generated

Advantages:

  • Allows testers to familiarise with the software design and enables them to design tests effectively.

  • It also enables testers to cover the unplanned or invalid states.

Example:

A System's transition is represented as shown in the below diagram:

Strate Transition testing in Test Life Cycle

The tests are derived from the above state and transition and below are the possible scenarios that need to be tested.

TestsTest 1Test 2Test 3
Start StateOffOnOn
InputSwitch ONSwitch OffSwitch off
OutputLight ONLight OffFault
Finish StateONOFFOn

Useful Video Courses

Video

Software Engineering Basics

80 Lectures 7.5 hours

Arnab Chakraborty

Video

The Perfect Open Broadcaster Software Recording Studio

10 Lectures 1 hours

Zach Miller

Video

SEO Keyword Research Made Easy + FREE Research Software

17 Lectures 1.5 hours

Zach Miller

Video

How To Startup Your Own SaaS (Software As a Service) Company

60 Lectures 5 hours

John Shea

Video

Software development in Python: A practical approach

Most Popular

99 Lectures 10 hours

Daniel IT

Video

Software Development Processes (SDLC Models)

62 Lectures 5 hours

GlobalETraining

Advertisements