What is state transition testing?
State Transition testing is defined as the software testing technique in which changes in input conditions cause's state changes in the Application under Test(AUT).
It is a black box testing technique in which the tester analyzes the behavior of an application under test for different input conditions in a sequence.In this technique,tester provides both positive and negative input test values and record the system behavior.
It is the model on which the system and the testes are based.Any system where you get a different output for the same input,depending on what has happened before,is a finite state system.
State Transition Testing Technique is helpful where you need to test different system transitions.
Two main ways to represent or design state transition,State transition diagram,and State transition table.
In State transition diagram the states are shown in boxed texts,and the transition is represented by arrows.
In State transition table all the states are listed on the left side,and the events are described on the top.
Main advantage of this testing technique is that it will provide a pictorial or tabular representation of system behavior which will make the tester to cover and understand the system behavior efficiently.
Main disadvantage of this testing technique is that we can't rely in this technique every time.For example,if the system is not a finite system(not in sequential order),this technique can't be used.