AN OVERLOOK OF TEST CASE DESIGN TECHNIQUES
Published: 2024-02-19 17:43:45

**Test Case**
 A test case is a document, which contains test data, preconditions, expected results, developed for a particular test scenario in order to verify compliance against a specific requirement. 

_Test Case Design Techniques:_
Test case design techniques are generally used to write effective test cases for better coverage of testing a software.

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

_Boundary Value Analysis
_The process of testing between extreme ends or boundaries between partitions of input values.
Example

Test cases for input box accepting numbers between 1 and 1000 using Boundary value Analysis
1. Test cases with test data exactly as the input boundaries of input domain i.e. 1 and 1000
2. Test data with the values below the extreme edges of input domains i.e. 0 and 999
3. Test data with the values above the extreme edges of input domains i.e.2 and 1001

_Decision Table Testing_

A software testing technique with a tabular representation of input versus rule/cases/test conditions. 

Example:
The condition is simple if the user provides correct username and password the user will be redirected to the homepage. If any of the input is false, an “error ” will be displayed.


**_Use Case Testing_**
Use case testing is a functional testing technique that helps in identifying and testing scenarios on the whole system or doing start-to-end transactions. 
It helps to identify the gaps in software that might not be identified by testing individual components.
It is used to develop test cases at the system level or acceptance level.


Features: 
	User-focused Approach 
        Scenario-Based Testing
	Requirements Validation

Benefits of Use Case Testing:

Use case testing provides some functionality that is used to help to develop a software project. 
These are given below:
•	Helps manage complexity: Use case-driven analysis that helps manage complexity since it focuses on one specific usage aspect at a time.
•	Testing from the user’s perspective: Use cases are designed from the user’s perspective. Thus, use case testing is done from the user’s perspective and helps to uncover the issues related to the user experience.
•	Reduced complexity of test cases: The complexity of the test cases will be reduced as the testing team will follow the path given in the use case document.
•	Test functional requirements: Use cases help to capture the functional requirements of a system. Thus, use case testing tests the functional requirements of the system.
•	Starts from a simple view of the system: Use cases start from the simple view of the system and are used primarily for the users.

Use case testing is an essential part of a thorough software testing strategy since it provides an extra degree of assurance that the programme not only satisfies technical requirements but also easily complies to user expectations.



**_LCSAJ Testing
_**
Linear Code Sequence and jump(LCSAJ) – that is, requires access to the source code, and presents results with reference to that source code and used to identify structural units in code under test.  Its primary use is with dynamic software analysis to help answer the question "How much testing is enough?"

Components of LCSAJ Testing
•	Start of the segment, which can be a branch or the start of the program
•	End of the segment, which can be the end of a branch or the end of the program
•	A specific target line
Example - Consider if there is a simple program the testing starts from first line and ends wherever the condition ends. The sequential flow of testing breaks when there is a control flow statement. After sequencing the control flow statement then the flow breaks and attends the last line of the segment.