This article focuses on discussing use case testing a type of software testing that identifies the test cases that cover the entire system from start to finish.
What is a Use Case?
A Use Case is a tool for defining the required user interaction and if you are trying to create a new application or make changes to an existing application, several discussions are made. It plays a vital role in SDLS.
- It depends upon the user’s actions and the response of the system to the user’s actions.
- They are user-oriented, not system-oriented.
- It is a list of actions that will be taken by the actor while interacting will the system.
- It describes the functional requirements of the system.
- They help to uncover the integration defects, defects that arise due to incorrect interaction between different components.
- Use cases are used to hearten designers to outcomes before attempting to specify outcomes, and thereby they help to make requirements more proactive in system development.
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 use cases are approved by the client, then the development team starts further the design and coding phase.
- Approved use cases are also sent to the testing team, so they can start writing test cases.
What is Use Case Testing?
Use Case Testing is generally a part of black box testing and that helps developers and testers to identify test scenarios that exercise the whole system on each transaction basis from start to finish. Business experts and developers must have a mutual understanding of the requirement, as it’s very difficult to attain.
- 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.
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 is very effective in identifying the gaps in the software that won’t be identified 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 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.
Drawbacks of Use Case Testing
Below are some of the limitations of the use case testing:
- Missing use case: If there is a use case missing from the use case document, then 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 functional requirements so use 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.