Example of Test Case From Use Case Atm
Example of Test Case From Use Case Atm
Example of Test Case From Use Case Atm
Example:
The following table contains the basic flow and some alternate flows
for Cash Withdrawal use case in the diagram above:
Basic Flow This Use Case begins with the ATM in the Ready State.
1. Initiate Withdraw - Customer inserts bank card in
the card reader on the ATM machine
2. Verify Bank Card - The ATM reads the account code
from the magnetic strip on the bank card and checks
if it is an acceptable bank card.
3. Enter PIN - The ATM asks for the customer's PIN
code (4 digits)
4. Verify account code and PIN - The account code
and PIN are verified to determine if the account is
valid and if the PIN entered is the correct PIN for the
account. For this flow, the account is a valid account
and the PIN is the correct PIN associated with this
account.
5. ATM Options - The ATM displays the different
alternatives available at this ATM. In this flow, the
bank customer always selects "Cash Withdraw."
6. Enter Amount - The ATM the amount to withdraw.
For this flow the customer selects a preset amount
($10, $20, $50, or $100).
7. Authorization - The ATM initiates the verification
process with the Banking System by sending the
Card ID, PIN, Amount, and Account information as a
transaction. For this flow, the Banking System is
online and replies with the authorization to complete
the cash withdrawal successfully and updates the
account balance accordingly.
8. Dispense - The Money is dispensed.
9. Return Card - The Bank Card is returned.
10.Receipt - The receipt is printed and dispensed. The
ATM also updates the internal log accordingly.
If, on the final try the entered PIN number is incorrect, the
card is retained, ATM returns to Ready State, and this use
case terminates.
Alternate At Basic Flow Step 4 - Verify Account and PIN, if the
Flow 5 - Banking system returns a code indicating the account
No could not be found or is not an account which allows
Account withdrawals, the ATM displays the appropriate message
and rejoins the Basic Flow at Step 9 - Return Card.
Alternate At Basic Flow Step 7 - Authorization, the Banking system
Flow 6 - returns a code indicating the account balance is less than
Insufficient the amount entered in Basic Flow Step 6 - Enter Amount;
Funds in the ATM displays the appropriate message and rejoins
Account the Basic Flow at Step 6 - Enter Amount.
Alternate At Basic Flow Step 6 - Authorization, the Banking system
Flow 7 - returns a code indicating that, including this request for
Daily withdrawal, the customer has or will have exceeded the
maximum maximum amount allowed in a 24 hour period, the ATM
withdrawal displays the appropriate message and rejoins the Basic
amount Flow at Step 6 - Enter Amount.
reached
Alternate If at the Basic Flow Step 10 - Receipt, the log cannot be
Flow x - updated, the ATM enters the "secure mode" in which all
Log Error functions are suspended. An appropriate alarm is sent to
the Bank System to indicate the ATM has suspended
operation.
Alternate The customer can, at any time, decide to terminate the
Flow y - transaction (quit). The transaction is stopped and the card
Quit ejected.
Alternate The ATM contains numerous sensors which monitor
Flow z - different functions, such as power, pressure exerted on
"Tilt" the various doors and gates, and motion detectors. If at
any time a sensor is activated, an alarm signal is sent to
the Police and the ATM enters a "secure mode" in which
all functions are suspended until the appropriate restart /
reinitialize actions are taken.
In the matrix above, the six test cases execute the four scenarios. For
the Basic Flow, test case CW1 above is known as a positive test
case. It executes the Basic Flow path through the use case without
any deviations. Comprehensive testing of the Basic Flow must
include negative test cases to ensure that the Basic Flow is taken
only when the conditions are correct. These negative test cases are
represented by test cases CW2 - 6 (the shaded cell indicates the
condition needed to execute the alternate flows). While CW2 - 6 are
negative test cases for the Basic Flow, they are positive test cases for
Alternate flows 2 - 4, and there is at least one negative test case each
of these Alternate Flows (CW1 - the Basic Flow).
the incorrect PIN is entered and there are tries left and this
Alternate Flow rejoins the Basic Flow Step 3 - Enter PIN)
the incorrect PIN is entered and there are no remaining tries left
and this Alternate Flow then retains the card and terminates the
use case.
the CORRECT PIN is entered when there are no remaining
tries left. This Alternate Flow rejoins the Basic Flow at Step 5 -
Enter Amount.
Notice, that in the above matrix, no actual values were entered for the
conditions (data). An advantage of creating the test case matrix in this
manner is that it is easy to see what conditions are being tested. It is
also very easy to determine if sufficient test cases have been
identified, since you only need to look at Vs and Is (or as done here -
shaded cells). Looking at the above table, there are several
conditions for which there is no shaded cell, therefore, we are missing
test cases, such as for Scenario 6 - No Account or Incorrect Account
Type and Scenario 7 - Insufficient Account Balance.
The test cases above are only a few of the test cases needed to
verify the Cash Withdraw Use Case for this iteration. Other test cases
needed include:
In future iterations, when other flows are implemented, test cases will
be needed for: