A Use Case is a people model that describes the interactions between a user/group of users and a system. The Use Case helps us document each step of a task sequentially so that we can identify all of the features needed to support that task. Because the Use Case is typically structured “user does this, system does that,” we can identify the expected system behavior from the user’s point of view, which is incredibly helpful for both design and test planning.
The following use case template is the one we use when developing Use Cases. It contains all of the relevant information we need to capture in one handy table.
Now let’s look at an example Use Case. The scenario below is a familiar one to most of us – saving a product on a wishlist so that we can return to it at a later date. Note that for the user to successfully add an item to a wishlist, they must be logged in (known to us) so that we can correctly process their request.
A common point of confusion in Use Cases is the difference between the main course, an alternate course, and an exception course. The main course is what we sometimes refer to as “happy path,” or the path of least resistance through the process. An alternate course is another viable path through the process, but one that may have more/different steps than the main course. An exception course describes an error condition. Error handling requirements may be derived from an exception course. The example below includes all of these. Note that some of the alternate courses refer to another use case, because login and account creation are complicated enough to be their own use cases, and they aren’t unique to the wishlist process.
Submit the Form Below to Download Our Use Case Template