Testing Foundation
What is Software Testing?
Objective of Testing
Why is testing necessary?
Common Terms used in Testing
Verification Vs Validations
QA Vs QC
Debugging Vs Testing
Seven Testing Principles
SDLC Vs STLC
Fundamentals of Test Process
Software quality Factors
Software Development Models
Waterfall Model
V models
Iterative Model
Test Levels
Component Testing
Integration Testing
System Testing
Acceptance Testing
Strategies for Integration Testing
Big Bang
Stubs and Driver
Top Down Testing
Bottom Up Testing
Test Types
Functional Testing
Non- Functional Testing
Structural Testing
Re-testing & Regression Testing
Static AND Dynamic Techniques
Static Technique
Dynamic Technique
Static Analysis by Tools
White Box Techniques
Statement Coverage Testing
Branch Coverage Testing
Decision Coverage Testing
Path Coverage
Black Box Techniques
Equivalence Partitioning
Boundary Value Analysis
Decision Table testing
State Transition testing
Experience Based TestingTechniques
Random Testing
Exploratory Testing
Error Guessing
Functional Testing
Integration Testing
Unit Testing
System Testing
Smoke testing
Sanity testing
Regression Testing
Usability Testing
Security Testing
User Acceptance Testing
White Box & Black Box Testing
Globalization & Localization Testing
Non Functional Testing
Compatibility testing
Endurance testing
Load testing
Performance testing
Recovery testing
Scalability testing
Stress testing
Volume testing
Test Planning and Estimation
Test Planning
Test Strategies Vs Test Plan
Test Approaches
Risk and Testing
Product Risks
Project Risks
Defect Management
Defect LifeCycle
Severity Vs Priority
Decision Table Testing and State Transition Testing
Decision Table Testing and State Transition testing are very much helpful in test design technique.
Decision table testing is a software testing technique used to test complex business logic. It is a systematic and organized approach to testing that helps to identify different scenarios and outcomes based on input combinations.
Decision Table is also known as Cause-Effect Table. In this technique ,we will deal with combinations of inputs.
State Transition Testing is a type of testing technique that is used to test systems that have a set of states and transitions between them.
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.
A decision table consists of the following components:
- Conditions – These are the inputs to the system. They represent the different scenarios that can occur.
- Actions – These are the outputs of the system. They represent the expected results for each input combination.
- Rules – These are the different combinations of inputs and their corresponding outputs.
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.
- This technique is used to ensure that the system behaves correctly as it moves from one state to another.
- 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)
For example, consider a login screen of a web application. It has two states: “not logged in” and “logged in”. There are two transitions between these states: “login” and “logout”. In the “not logged in” state, the user can only see the login form, and in the “logged in” state, the user can see the main application interface. To test this, we would create a set of test cases that exercise each transition, such as logging in with valid credentials and verifying that the user is taken to the main interface, or logging out and verifying that the user is returned to the login form.
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.
- Decision tables can be created quickly and are easy to maintain. This makes the testing process more efficient and saves time.
- Decision tables help to identify errors and inconsistencies in the software application, resulting in improved accuracy.
Decision table testing is a powerful and effective testing technique that can help to ensure the accuracy and reliability of a software application. By creating a table with different inputs and outputs, you can test all possible input combinations and ensure that the application functions correctly. It is a comprehensive and time-saving testing technique that can be used in a variety of applications. By using decision table testing, you can improve the quality of your software application and provide a better user experience.
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.
Deals With:
- Sequence of Events
- Handling of Events depending on Events and Conditions that occurred in the past
Important terms
- 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
State diagram:
- 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.
- State diagrams are a powerful tool in state transition testing, as they provide a clear and intuitive visual representation of the different states and transitions within a system, allowing for more effective and efficient testing.
- A state diagram helps to identify the different possible states of a system and the conditions under which the system moves from one state to another.
Recommended Articles:
Testing Foundation
What is Software Testing?
Objective of Testing
Why is testing necessary?
Common Terms used in Testing
Verification Vs Validations
QA Vs QC
Debugging Vs Testing
Seven Testing Principles
SDLC Vs STLC
Fundamentals of Test Process
Software quality Factors
Software Development Models
Waterfall Model
V models
Iterative Model
Test Levels
Component Testing
Integration Testing
System Testing
Acceptance Testing
Strategies for Integration Testing
Big Bang
Stubs and Driver
Top Down Testing
Bottom Up Testing
Test Types
Functional Testing
Non- Functional Testing
Structural Testing
Re-testing & Regression Testing
Static AND Dynamic Techniques
Static Technique
Dynamic Technique
Static Analysis by Tools
White Box Techniques
Statement Coverage Testing
Branch Coverage Testing
Decision Coverage Testing
Path Coverage
Black Box Techniques
Equivalence Partitioning
Boundary Value Analysis
Decision Table testing
State Transition testing
Experience Based TestingTechniques
Random Testing
Exploratory Testing
Error Guessing
Functional Testing
Integration Testing
Unit Testing
System Testing
Smoke testing
Sanity testing
Regression Testing
Usability Testing
Security Testing
User Acceptance Testing
White Box & Black Box Testing
Globalization & Localization Testing
Non Functional Testing
Compatibility testing
Endurance testing
Load testing
Performance testing
Recovery testing
Scalability testing
Stress testing
Volume testing
Test Planning and Estimation
Test Planning
Test Strategies Vs Test Plan
Test Approaches
Risk and Testing
Product Risks
Project Risks
Defect Management
Defect LifeCycle
Severity Vs Priority