Decision Table Testing and State Transition Testing
Decision Table Testing and State Transition testing are very much helpful in test design technique.
Decision Table is also known as Cause-Effect Table. In this technique ,we will deal with combinations of inputs.
We are explaining the most important manual software testing techniques.
The topics discussed in this article are:
Decision Table Testing
What is Decision table?
- A table showing combinations of inputs for testing the system behaviour
- Or it is a systematic approach where the different input combinations and their corresponding system behaviour are captured in a tabular form.
- Decision tables are very much helpful in test design technique.
- Any complex business flow can be easily converted into the test scenarios & test cases using this technique with the help of decision table
Decision table testing
- A black-box test design technique in which test cases are designed to execute the combinations of inputs and their corresponding behaviour shown in a decision table.
- It is referred to as a ’cause-effect’ table
- Each column can then be considered as a test case of a business rule
- It is good for testing business rules or combinations
- Contains conditions (Input) and actions (Outputs)
Advantages of Decision Table Testing:
- It identifies if any gaps in the requirements.
- Conversion of complex business rules into simple decisions tables.
- Ideal for classification or discrete-regression.
Lets take an example of Facebook page for clear understanding
No of test cases/sets = No of unique values in condition 1 * No of unique values in condition 2 = 3* 3 = 9 Test cases
State Transition Testing
- A black box testing technique
- State-transition diagrams are very useful for describing the behaviour of a system and are part of the Software Design Document.
- Tests are designed to execute valid and invalid state transitions
- State-Transition diagrams are an excellent tool to capture certain types of system requirements and to document internal system design.
- This technique is used when features of a system are represented as states, which transform to another state.
- Sequence of Events
- Handling of Events depending on Events and Conditions that occurred in the past
- State: a condition in which a system is waiting for events
- Event: Input that may cause a transition
- Transition: Change from one state to another as result of event
- Action: operation initiated by transition
It represents the states that a component can assume and shows the events that cause and/or result from a change from one state to another