SOFTWARE TESTING TECHNIQUES
Published: 2024-01-23 16:35:54

##Boundary Value Analysis## ##Decision Table Testing## ##Use Case techniques## ##LCSAJ Testing##

![TECHNIQUES OF SOFTWARE TESTING](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/plcajx641g6pke6vrpc7.jpg)
>>The main concept we are referring testing technique is to minimize the size and time of test cases or test plan.

>>Testing techniques are mainly defined as two types as static techniques(Review method) and Dynamic Techniques (Executing test data).

>>In dynamic techniques, one of the category is black box testing.

>>In black box testing basically no need of internal code knowledge.

Types of black box testing techniques:
     *Boundary value Analysis
     *Decision table testing
     *State transition testing 
     *Use case techniques.
**Boundary value Analysis(BVA)-(black box testing)**
 
Boundary Value Testing (BVA) is a type of black box testing technique that focuses on testing the input values at the boundaries of the input data range. The basic principle of BVA is that errors are more likely to occur at the boundaries of the input data rather than in the middle of the range. Therefore, BVA aims to test the input values at the edges of the input data range to identify any defects or errors.

There are two types of boundary values:

    **Valid Boundary Values**: These are the valid input values that lie on the edge of the input data range. For example, if an input field accepts numbers between 1 and 100, then the valid boundary values are 1 and 100.
    **Invalid Boundary Values**: These are the input values that lie outside the input data range. For example, if an input field accepts numbers between 1 and 100, then the invalid boundary values are less than 1 and greater than 100.

BVA involves testing the input values at the following boundaries:

    Maximum Value: This is the highest valid input value in the input data range.
    Minimum Value: This is the lowest valid input value in the input data range.
    Just Below the Maximum Value: This is the input value just below the maximum value.
    Just Above the Minimum Value: This is the input value just above the minimum value.
    Maximum and Minimum Invalid Values: These are the invalid input values just outside the input data range.


Example : Consider a system that accepts ages from 18 to 60. The boundary values for this system are:

    Minimum Valid Value: 18
    Just Below the Maximum Value: 59
    Maximum Valid Value: 60
    Just Above the Minimum Value: 17
    Minimum Invalid Value: 17 (below the minimum valid value)
    Maximum Invalid Value: 61 (above the maximum valid value)

A BVA test case for this system would include testing the input values 17, 18, 59, 60, and 6 to ensure that the system behaves correctly at the boundaries.

**Decision Table testing**
       Decision table testing is a software testing technique that uses a table to define the combinations of inputs and exceptions for a given set of conditions and actions.

A decision table consists of four parts: conditions, actions, rules, and tables.
conditions are the factors that affect the outcome of the test,such as input values or system states. Actions are the factors that affect the outcome of the test, such as the system response to a given set of conditions. Rules define how the conditions and actions are related, and tables display the combinations of  conditions and actions in a clear and concise format.

here is an example of a decision table for testing a login function:

> `Condition	            Action
> Username is correct	 Allow access
> Password is correct	 Allow access
> Username is incorrect	 Deny access
> Password is incorrect	 Deny access`

In this example, the conditions are "Username is correct" and "Password is correct," and the actions are "Allow access" and "Deny access." The decision table shows all possible combinations of these conditions and actions, allowing the tester to ensure that the  login function behaves as expected for all possible inputs.

decision table testing is a powerful technique for testing complex business rules,as it allows tester to systematically test all possible combination of condition and actions. This can help to identify and fix defects early in the development process,reducing the overall cost and time required for testing.

**Use case techniques (Black box testing)**
       The use case technique is a method used to describe how user will interact with a system to acheive a specific goal. it outlines the steps that a user will take to accomplish a task, including the system's responses to user's action. Use case are typically used in software development to help define the functional requirements of a system.
Here is an example of a use case for a login system:
title:User logs in 

Actor : user

Preconditions : The user has valid account and is on the login page.

**LCSAJ Testing (white box testing)**
    LCSAJ - Linear Code Sequence And Jump
It is majorly used to determine the code coverage. Which begins at the start of the program or branch and ends at the end of the program or the branch.