Before explaining Usecase Testing lets first understand what is a UseCase
- A Usecase is a description of a particular use of the system by the end user of the system.
- Usecases are a sequence of steps that describe the interactions between the user and the software system.
- Each usecase describes the interactions the end user has with the software system in order to achieve a specific task.
What is Usecase Testing?
Usecase testing is a technique that helps us identify Test Cases that exercise the whole system on a transaction by transaction basis from start to finish.
Usecases are defined in terms of the end user and not the system, use case describe what the user does and what the user sees rather than what inputs the software system expects and what the system outputs.
Usecases use the business language rather than technical terms.
Each usecase must specify any preconditions that need to be met for the use case to work. Use cases must also specify post conditions that are observable results and a description of the final state of the system after the use case has been executed successfully.
Who writes Use Case?
The client provides the customer requirement specification (CRS) for the application.
The development team will write the use case according to the CRS.
The client reviews the use cases.
If the client approves use cases, the development team further starts the design and coding phase.
Approved use cases are also sent to the testing team so they can start writing test cases.
Feature of Use Case Testing
Below are the features of the use case testing:
.Use case testing is not testing that is performed to decide the quality of the software.
Although it is a type of end-to-end testing, it won’t ensure the entire coverage of the user application.
Use case testing will find out the defects in integration testing.
It effectively identifies the gaps in the software that won’t be determined by testing individual components in isolation.
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 follows the path given in the use case document.
Test functional requirements: Use cases help capture a system’s applicable requirements. Thus, use case testing tests the operational 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.
Drawbacks of Use Case Testing
Below are some of the limitations of the use case testing:
Missing use case: If a use case is missing from the use case document, it will impact the testing process as there is a high possibility that the test cases for the missing use case will also be left out.
Cover only functional requirements: Since use cases cover only applicable requirements, Case testing by default is functional requirements oriented.
Use cases are from the user’s perspective: 100% test coverage is not possible in cases as use cases are written from the user’s perspective, and there may be some scenarios that are not from the user’s perspective, so then it may not be included in the test document.