Software Testing Technique
Published: 2023-11-18 09:48:01


## **_Software Testing Technique:_**


Software Testing Technique is used to design your test cases in a better way.  Even though completing testing is not possible, this test technique helps you to reduce the number of test cases by increasing test coverage. This testing technique makes you to identify test condition easier at the time of difficult to recognize.


## **_Types of Test Case Design Technique:_**         

-  Boundary Value Analysis
-  Equivalence Class Partitioning
-  Decision Table
-  State Transition
-  Error Guessing

## **_Boundary Value Analysis:_**

-  Boundary Value Analysis is one the testing techniques in Black Box testing which is used to test the values on the boundaries. It usually focused between both the extreme ends or between both the extreme boundary values. 
- Boundary values like Start-End, Lower- Upper, Maximum-Minimum, Just Inside-Just Outside values.
- The basic idea to select input variable values at their:
              1. Just below the Minimum
              2. Minimum
              3. Just above the minimum
              4. A nominal value
              5. Just below the maximum
              6. Maximum
              7. Just above the maximum.
**_Example:_**
One form that have age field which accepts the person’s age group between 18 to 35. While testing this field as a tester we should write a greater number of test cases to test. With the help of boundary value analysis technique, it reduces the number of test cases with more test coverage.

                        Application Form

             Name: _____________(_Accepts alpha-numeic_)
             Age: ______________(_must above 18 and below 35_)


**For the above case, if we apply Boundary Value Testing technique which would involve testing the following values:**

_Test Case 1:_ Test a value just below the minimum boundary (17).
_Test Case 2:_ Test the minimum boundary value (18).
_Test Case 3:_ Test a value just above the minimum boundary (19).
_Test Case 4:_ Test a nominal value (22).
_Test Case 5:_ Test a value just below the maximum boundary (34).
_Test Case 6:_ Test the maximum boundary value (35).
_Test Case 7:_ Test a value just beyond the maximum boundary (36).



## **_Decision Table Testing:_**

Decision Table is one the testing techniques in Black Box testing which is used to test system behaviour for various input combinations. In this technique, the several input combinations and their corresponding system behaviour are picturized in tabular form. It is also known as a cause-effect table.

**_Use of decision table testing?_**

Decision tables are an effective tool for managing multiple combinations of conditions and actions, allowing for a comprehensive analysis of all possible scenarios. This inclusive approach minimizes the risk of overlooking critical test cases. Software applications encompass various possible inputs and outputs.

This technique is used to pick the test cases in a systematic manner

**_Example:_**

- Let’s take a login page with user name and password. If both user name and password are correctly matched, the user will be directed to the landing page; otherwise, it will come back to the login page with an error message like "Incorrect User Name" or "Incorrect Password."
- Decision table for the login functionality in which we can log in by using user name and password. Both the user name and the password are 
the conditions, and the expected result is action.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t8ner5zfud78cf3apymv.png)


- In the table, there are four conditions or test cases to test the login function. In the first condition if both user name and password are correct, then the user should be directed to Landing page.
- In the second, third and final condition if both user name and password are in correct or either user name/password is incorrect, then it should display Incorrect user name or password.
- In order to find the number of all possible conditions, tester uses 2n formula where n denotes the number of inputs; in the example there is the number of inputs is 2 (one is true and second is false).

Number of possible conditions = 2^ Number of Values of the second condition
Number of possible conditions =2^2 = 4


## **_Use Case Testing:_**

Use Case Testing is a functional black box testing technique that helps testers to identify test scenarios that exercise the whole system on each transaction basis from start to finish. Test cases are the interactions between users and software application. 

**_Benefits of Use Case Testing:_**

- Helps manage complexity.
- Testing from the user’s perspective.
- Reduced complexity of test cases.
- Test functional requirements.
- Starts from a simple view of the system.

**_Drawbacks of Use Case Testing:_**

- Missing use case.
- Cover only functional requirements.
- Use cases are from the user’s perspective.

**_Use Case Example:_**

Case for ‘Login’ to a ‘School Management System’.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xttdaa0h8fn24je5n60q.png)



## _**LCSAJ Testing:**_

LCSAJ means Linear Code Sequence and Jump. LCSAJ testing is a white-box testing technique used to determine the code coverage.