What is Use Case?
Use Case is a document which describes the end to end behaviour of the system from User perspective. It has User action which defines the action performed by the user And System behaviour which describes the system reaction done on the basis of User action. Each Use case describes the interactions the actor has with the system in order to achieve a specific task. Use cases also define sequence of steps that describe every interaction between the actor and the system. But Use cases are defined in terms of the actor, not the system, describing what the actor does and what the actor sees rather than what inputs the system expects and what the system’s outputs.
What is Use Case Testing?
The Use-Case Testing Technique helps identifying test cases that cover the entire system, on a transaction by transaction basis from the start to finish. It is a Functional Black Box Testing technique of deriving the Test Case through the use case document.
Use Case testing ensure the important User journeys or important User path are working fine on the system. It is a type of complimentary testing and it does not provide the entire coverage of the application. It is not a candidate to judge the quality or decide the production deployment of an application, based on the use case test results.
Doing use case testing, we do and test the end to end flow of all the transactions (positive test case) and also cover the alternate flows (negative test case) based on the user action and system action. User action is the steps which the user does (Request) and system action is the output of user action (response). Test cases based on use cases and are referred as Test Scenarios.
Use cases can uncover integration defects, that is, defects caused by the incorrect interaction between different components. Use cases describe the process flows through a system based on its most likely use. This makes the test cases derived from use cases particularly good for finding defects that the users are most likely to come across when first using the system. Each use case usually has a mainstream scenario and sometimes additional alternative branches or covering, like special cases or exceptional conditions. 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. A use case is a methodology used in system analysis to identify, clarify, and organize system requirements.