Main Success Scenario
Each step can be written very tersely using the following keywords:
login [as ROLE or USER]
The actor will log into the system as the named user or a user
with the named role. Usually this is only stated explicitly when
the use case involves actions that must occur immediately after
login or when documenting a workflow between different users.
visit LOCATION
The actor will visit a web page or GUI window. State the
user's intention, don't specify too much about UI details that could
change later. E.g., WRONG: "Press the 'Advanced...' button on the
File | Page Setup dialog". RIGHT: "Visit the print margin
configuration dialog".
enter INFORMATION
The actor will fill in specific form fields. Try to state the
information in some detail. E.g., WRONG: "Enter customer
information." RIGHT: "Enter customer shipping address and discount
code." Don't commit to details of a particular UI, i.e., don't name
specific UI widgets that might change later.
COMMAND-INTENTION
Describe a user choice or request that the user makes of the
system. State the user's intent, not the label on a particular UI
widget. This will usually be followed by a "see" step or a system
response where the user sees a confirmation of their action. E.g.,
WRONG: "Control-P, OK". RIGHT: "Print the current document with
default settings". WRONG: "Click 'OK'". RIGHT: "Confirm
changes".
see CONTENT
"See" steps are used in the one-column format as one way to
indicate system responses. The user should see the specified
information on the currently presented web page or GUI window. Try
to be specific about the information that is seen, but try not to
refer to specific UI elements. E.g., WRONG: "see UserList.jsp"
(what is the user supposed to notice on that page?) RIGHT: "see
list of users with the newly added user in the list". "See" steps
can be omitted when the system response is obvious,
e.g., "open pull-down menu", "see menu items".
perform USE-CASE-NAME
This is similar to a subroutine call. The user will do all the steps
of the named use case and then continue on with the next step of this
use case.
Steps may begin with the name of the actor who is performing the
step. E.g., in a two-person shopping application most steps might
be done by actor "Consumer", but there could be a step "ShoppingAdvisor:
enter product recommendation".
Note: Use case steps are intended for review by non-technical
stakeholders, so they should avoid programming concepts such as
branches, loops, or GOTOs. E.g., WRONG: "WHILE knows another coupon
code, DO enter coupon code", RIGHT: "Enter any known coupon
codes".