Tutorials Hut

  • Testing Foundation

      Basics of Software Testing
       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

    Decision Table testing

     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

      Basics of Software Testing
       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













  • Leave a Reply

    Your email address will not be published. Required fields are marked *