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.
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.
- Software Engineering | Differences between Sanity Testing and Smoke Testing
- Difference between System Integration Testing (SIT) and User Acceptance Testing (UAT)
- Difference between Database Testing and Data warehouse Testing
- Software Engineering | Comparison between Regression Testing and Re-Testing
- Difference between Positive Testing and Negative Testing
- Difference between Software Testing and Embedded Testing
- Difference between Cucumber Testing and Selenium Testing
- Difference between Active Testing and Passive Testing
- Difference between System Testing and Integration Testing
- Difference between Black Box Testing and Gray Box Testing
- Difference between Unit Testing and Integration Testing
- Difference between Scrum Testing and V-Model Testing
- Difference between Agile Testing and Waterfall Testing
- Difference between Pilot Testing and Beta Testing
- Difference between Frontend Testing and Backend Testing
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.