What is use case testing? Why it is important?

Use case testing is a technique that helps to identify test cases that cover the whole system on a transaction-by-transaction basis from start to end.

These are interactions between users and software applications. Use case testing is used to identify the gap in software applications that might not be found by testing individual software components.

It is a brief description of a particular use of software application by a user. These are made on the basis of user actions and are widely used in developing test cases.

Example of Use case 

A test case table is generally used when developing use cases. Steps can be-

  • Insert a card
  • Validate card
  • Enter a PIN
  • Validate a PIN
  • Allow access to the account

It may be that the system determines something wrong while validating the card.

  • The card is not valid
  • The PIN is not valid
  • The PIN is invalid 3 times

Each use case tells some behavior that a subject can perform in collaboration with one or more users.

Elements 

  • Actor– One who is using the system
  • Stakeholder– One having a vested interest in the behavior of the system under discussion 
  • Primary actor– Stakeholder who initiates interaction with the system 
  • Precondition– That must be true before and after the use case run 
  • Triggers-Event that cause initiative of use case
  • Main success scenarios– Use case in which everything is right
  • Alternative paths– Exceptions that may happen when things go wrong

Advantages of use case testing

  • It helps in understanding the system requirements with clarity.
  • It shows the interaction between the actual user and the system in place.
  • It simplifies the complexity of the system so that the user may focus on one task at a time.
  • These are written with details related to pre-condition, post-condition, overall flow, etc. that help the testing team design the required test cases. 

Disadvantages of use case testing

  • It only covers functional requirements and not non-functional requirements which may be an important challenge in the long run.
  • These are written from the user’s perspective. It may be that in some situations in a system that is not supported by the end user’s perspective.

Why use case is important?

  • Use cases are important because they add value and help in explaining how the system should behave in the process.
  • They provide a list of goals and the list that can be used to establish the cost and complexity of the system.
  • It allows QA to plan testing directly from the system design specification. 
  • It puts requirements in context. 

What use cases can include?

  • Who is using the website
  • What user want to do
  • User’s goal
  • Step the user took to accomplish the task
  • How the website should respond 

What use cases don’t include?

  • Implementing specific language
  • Details about the interface of the user

Conclusion

A test case is a methodology used to review and analyse systems like software platforms. The above blog has shown a brief introduction on use case testing. It captures the interaction between actors and users. Use case testing is a functional black texting used to identify rest cases from starting to the end.