Software Testing Technique
Published: 2024-06-24 08:11:46

**Software Testing Technique**
     
Software testing technique help us develop the better test case.

**Boundary Value Analysis**

Boundary Value Analysis is a popular technique for black box testing. It is used to identify defects and errors in software by testing input values on the boundaries of the allowable ranges.

Boundary value analysis (BVA) is based on testing the boundary values of valid and invalid partitions.

Every partition for boundary analysis has its minimum and maximum values.

1. Minimum value
2. Above minimum value
3. Below the minimum value
4. Maximum value
5. Boundary value for an invalid partition is called invalid boundary value
6. Boundary value for valid partition is called boundary value

Importance of Boundary Value Analysis

1. BVA testing helps achieve top quality and increases reliability. This aids in avoiding errors and crashes.
2. By enabling testers the ability to test a wide range of input values with few test cases, it leads to a reduction in overall effort and time.
3. BVA in software testing also improves the accuracy in testing the system limit. This in turn helps in enhancing customer satisfaction by delivering high-quality software.


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

**Example 2**

For age value from 20 to 66 
Invalid Values- 19, 67
Valid Values- 20, 21, 66, 65

Test Case Scenarios

1. Input: enter the age value as 20 (21+1)Output: Valid
2. Input: enter the age value as 19 (20-1)Output- Invalid
3. Input: enter the age value as 67 (66+1)Output: Invalid
4. Input: enter the age value as 65 (66-1)Output: Valid

**Advantages and Disadvantages of Boundary Value Analysis**

**Advantages:**

1. BVA focuses testing efforts on boundary values, which are more likely to uncover defects compared to other inputs within the range. This targeted approach makes testing more efficient.
2. BVA helps achieve better coverage of input space by considering both sides of boundaries (minimum and maximum values) as well as values just inside and outside the boundaries.
3. BVA is a straightforward technique that can be easily understood and implemented by testers, making it suitable for various types of software testing.
4. BVA can help identify defects early in the development lifecycle, which reduces the cost and effort required to fix them compared to detecting them in later stages.

**Disadvantages:**

1. BVA may not detect all defects, especially those not related to boundary conditions. Testing only at boundaries may overlook errors that occur within the input domain.

**Decision Table**

Decision table is also known as to cause - effect table. This ST technique is used for functions which respond to a combination of input and this is a black box test design technique, used where different combinations of test input conditions result in different outcomes. 

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

**Linear Code Sequence and Jump**

LCSAJ stands for Linear Code Sequence and Jump, a white box testing technique to identify the code coverage, LCSAJ testing focuses on verifying that all linear code sequences and jumps within the code are exercised by test cases. This technique is commonly used in the context of structural testing or code coverage analysis.

**Use case testing**

Use case testing is a type of black box testing technique that helps you to identify test cases that form part of the entire system on a transaction basis from start to finish. It is used for functional testing to find defects in a developed system

**Advantages of Use case testing**

1. It helps in understanding the system requirements with utmost precision and clarity.
2. It depicts the sequence of steps describing the interaction between actual users and the system in place.
3. It simplifies the overall complexities involved in the system as you can focus on one task at a time.

**Disadvantages of Use case testing**

1. Use cases cover only the functional requirements, and we cannot test non-functional requirements, which could be a significant challenge in the long run.
2. The use cases are written from the user’s perspective. There could be scenarios in the system that are not supported from the end user’s perspective and might be missed in the use case documentation. In such a way, the test coverage is not exactly 100% for the feature or module to be tested.