0% found this document useful (0 votes)
57 views

Lab 2 - Test Execution From Ad-Hoc Specification: 1.0 Requirements Statement For ATM System

The document describes a lab assignment where students are tasked with analyzing requirements for an ATM system simulation and developing a test suite for user acceptance testing. The document provides details on the requirements, including available transactions, validation processes, error handling, and logging capabilities. It also describes how to access and use the ATM simulation system to perform sample transactions in order to familiarize themselves with the system before developing tests.

Uploaded by

illusion90
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
57 views

Lab 2 - Test Execution From Ad-Hoc Specification: 1.0 Requirements Statement For ATM System

The document describes a lab assignment where students are tasked with analyzing requirements for an ATM system simulation and developing a test suite for user acceptance testing. The document provides details on the requirements, including available transactions, validation processes, error handling, and logging capabilities. It also describes how to access and use the ATM simulation system to perform sample transactions in order to familiarize themselves with the system before developing tests.

Uploaded by

illusion90
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 4

Lab 2 Test Execution from ad-hoc

specification
In engineering and its various sub-disciplines, acceptance testing is a test conducted to determine if the
requirements of a specification or contract are met. Software developers often distinguish acceptance
testing by the system provider from acceptance testing by the customer (the user or client) prior to
accepting transfer of ownership. In the case of software, acceptance testing performed by the customer is
known as user acceptance testing (UAT), end-user testing, site (acceptance) testing, or field (acceptance)
testing.
In this lab, students are expected to analyze the following requirements statement/specification of an ATM
machine and develops a set of test suite for user acceptance testing.
1.0 Requirements Statement for ATM System
The software to be designed will control a simulated automated teller machine (ATM) having a magnetic
stripe reader for reading an ATM card, a customer console (keyboard and display) for interaction with the
customer, a slot for depositing envelopes, a dispenser for cash (in multiples of $20), a printer for printing
customer receipts, and a key-operated switch to allow an operator to start or stop the machine. The ATM
will communicate with the bank's computer over an appropriate communication link. (The software on the
latter is not part of the requirements for this problem.)
The ATM will service one customer at a time. A customer will be required to insert an ATM card and enter a
personal identification number (PIN) - both of which will be sent to the bank for validation as part of each
transaction. The customer will then be able to perform one or more transactions. The card will be retained
in the machine until the customer indicates that he/she desires no further transactions, at which point it will
be returned - except as noted below.
The ATM must be able to provide the following services to the customer:
1. A customer must be able to make a cash withdrawal from any suitable account linked to the card,
in multiples of $20.00. Approval must be obtained from the bank before cash is dispensed.
2. A customer must be able to make a deposit to any account linked to the card, consisting of cash
and/or checks in an envelope. The customer will enter the amount of the deposit into the ATM,
subject to manual verification when the envelope is removed from the machine by an operator.
Approval must be obtained from the bank before physically accepting the envelope.
3. A customer must be able to make a transfer of money between any two accounts linked to the
card.
4. A customer must be able to make a balance inquiry of any account linked to the card.

A customer must be able to abort a transaction in progress by pressing the Cancel key instead of
responding to a request from the machine.
The ATM will communicate each transaction to the bank and obtain verification that it was allowed by the
bank. Ordinarily, a transaction will be considered complete by the bank once it has been approved. In the
case of a deposit, a second message will be sent to the bank indicating that the customer has deposited
the envelope. (If the customer fails to deposit the envelope within the timeout period, or presses cancel
instead, no second message will be sent to the bank and the deposit will not be credited to the customer.)
If the bank determines that the customer's PIN is invalid, the customer will be required to re-enter the PIN
before a transaction can proceed. If the customer is unable to successfully enter the PIN after three tries,
the card will be permanently retained by the machine, and the customer will have to contact the bank to get
it back.
If a transaction fails for any reason other than an invalid PIN, the ATM will display an explanation of the
problem, and will then ask the customer whether he/she wants to do another transaction.
The ATM will provide the customer with a printed receipt for each successful transaction, showing the date,
time, machine location, type of transaction, account(s), amount, and ending and available balance(s) of the
affected account ("to" account for transfers).
The ATM will have a key-operated switch that will allow an operator to start and stop the servicing of
customers. After turning the switch to the "on" position, the operator will be required to verify and enter the
total cash on hand. The machine can only be turned off when it is not servicing a customer. When the
switch is moved to the "off" position, the machine will shut down, so that the operator may remove deposit
envelopes and reload the machine with cash, blank receipts, etc.
The ATM will also maintain an internal log of transactions to facilitate resolving ambiguities arising from a
hardware failure in the middle of a transaction. Entries will be made in the log when the ATM is started up
and shut down, for each message sent to the Bank (along with the response back, if one is expected), for
the dispensing of cash, and for the receiving of an envelope. Log entries may contain card numbers and
dollar amounts, but for security will never contain a PIN.
2.0 Implementation
The system under test for this lab is an ATM simulation system. To get started with this system, download
the archive from Moodle.
Usage of the System
To use the ATM simulation system simply download ATM System Lab 1 Version 1.0.jar from Moodle,
save it in a known location, and run that file from the saved location. The system should begin execution
with the GUI. The main systems of the ATM which have been simulated are labeled.
There are two valid hard-coded card numbers and PINs:

Card Number: 1 PIN: 42 Available Accounts: Checking and Savings


Card Number: 2 PIN: 1234 Available Accounts: Checking and Money Market
Note: Both of these cards access the same checking account.
The initial balances are:
Checking: $100 Savings: $1000 Money Market: $5000
3.0 Familiarization with the ATM Simulation System
.
3.1.1 Perform a deposit
3. Turn the system on using the On button.
4. Enter the number of $20 bills that the system is assumed to start off with, noting that this is the
number of bills, not the total value of the bills. Entering a value of 10 for instance indicates that
the ATM is starting with $200 (10 twenty dollar bills). Any number greater than 0 will suffice for now.
5. Click on the Click to insert card button which has now appeared on the main interface below
the simulated ATM display.
6. The screen now changes to a prompt for the user to input the card number (since there is no
actual physical card reader). Enter 1 for the card number and press Enter. Upon returning to the
main screen, the display is now requesting the PIN be entered.
7. Type 42 using the simulated keypad and press Enter. The display now prompts the user to
perform one of four transactions: withdraw, deposit, balance inquiry, or transfer.
8. Press 2 on the simulated keypad to perform a deposit. The display now prompts the user to
indicate which account they would like to deposit to: checking, savings, or the money market
account.
9. Press 2 on the simulated keypad to deposit to the savings account. The display now prompts the user to
enter the deposit amount.
10. Enter any positive amount and press Enter. A button which represents the user inserting the deposit
envelope now appears.
11. Click that button to simulate inserting the envelope. The display now prompts the user whether they
wish to perform another transaction or not.
12. Press 2 on the simulated keypad to indicate you do not wish to perform another transaction. The main
window shows a button appearing, simulating the ejecting of the users card.

13. Press the System Power Button once again to turn the ATM system off.

3.0 Ad-hoc Testing


Develop the use case for the ATM system. Using any prior knowledge, perform ad-hoc testing on the ATM
System and discuss in class.

You might also like