State Transition Testing
State Transition Testing is a type of software testing which is performed to check the change in the state of the application under varying input. The condition of input passed is changed and the change in state is observed.
State Transition Testing is basically a black box testing technique that is carried out to observe the behavior of the system or application for different input conditions passed in a sequence. In this type of testing, both positive and negative input values are provided and the behavior of the system is observed.
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.
State Transition Testing is basically used where different system transitions are needed to be tested.
Objectives of State Transition Testing:
The objective of State Transition testing is:
- To test the behavior of the system under varying input.
- To test the dependency on the values in the past.
- To test the change in transition state of the application.
- To test the performance of the system.
- Change Mode:
When this mode is activated then the display mode moves from TIME to DATE.
When the display mode is TIME or DATE, then reset mode sets them to ALTER TIME or ALTER DATE respectively.
- Time Set:
When this mode is activated, display mode changes from ALTER TIME to TIME.
- Date Set:
When this mode is activated, display mode changes from ALTER DATE to DATE.
State Transition Diagram:
State Transition Diagram shows how the state of the system changes on certain inputs.
It has four main components:
Advantages of State Transition Testing:
- State transition testing helps in understanding the behavior of the system.
- State transition testing gives the proper representation of the system behavior.
- State transition testing covers all the conditions.
Disadvantages of State Transition Testing:
- State transition testing can not be performed everywhere.
- State transition testing is not always reliable.