Use case testing is additional functional recorder black box testing technique which helps testers to spot test scenarios that exercise the entire system on each transaction basis from start to end.
Characteristics of Use case testing:
- Use cases show the interactions between Actors and the system
- An actor represents user and their interactions which each user takes part into.
- Test cases based on use cases and are referred as scenarios.
- Capability to identify gaps in the system which would not be found by testing individual components isolation.
Consider the following example interactions between Users and possible actions.
Use case testing example:
Here in use case testing actor is represented by “A” and system by “S”. we create use case where login functionality of a web application.
Main success scenario
- A: actor 1 A: Enter the agent name and password
S: System 2 S: Validate Password
3 S:Allow Account Access
- Extensions 2a Password not valid
S: Display message and invite for re-try 4 times
2b Password is not valid 4 times
S: Close Application
|1.||A: actor||1||A: Enter the agent name and password|
|S: System||2||S: Validate Password|
|3||S:Allow Account Access|
|2.||Extensions||2a||Password not valid|
|S: Display message and invite for re-try 4 times|
|2b||Password is not valid 4 times|
|S: Close Application|
Considering the first step of an end scenario for login functionality, for our web application where the actor enters email and password. In the next step, the system will validate the password. Next, if the password is correct, the access will be granted. There can be extension of this use case. In case password is not valid, system will display a message and ask for re-try four times. If password is not valid four times the system will ban the IP address.
An use case is explanation of a particular use of the system by an actor. Each use case describes the interactions, the actor has with system in order to achieve a specific task. Actors are people but they may also be other systems. Use cases are series of steps that describe the interactions between the actor and the system. Use cases are defined in terms of the actor, not the system, describing what actor does and what actor sees rather than what inputs the system’s output. Often they use language and terms of the business rather than technical terms, especially when the actor is a business user. They also serve as the foundation for developing test cases mostly at the system and acceptance testing levels.
Here use cases unhide integration defects that is defects are caused by the incorrect interaction between different components. Used in this, the way the actor may be something that system interfaces to, such as a communication link or sub-system.