CS576: Assignment 1
The goals of this assignment are: (a) to become familiar with the operation of an ATM (Automatic Teller Machine)
simulator, which will be used in all four of the assignments of this course; (b) to learn how to create
a black-box (functional) test suite; and (c) to learn how to use the Emma code coverage tool in order to
assess the comprehensiveness of a test suite.
The code and documentation for the ATM simulator is available for download as a tar file
( ATM simulator code)
or from a website (
http://www.math-cs.gordon.edu/local/courses/cs211/ATMExample/). After you download and unpackage the tar
file you will see a directory called ATMExample. In the ATMExample directory double click on the file
called index.html to access all of the code and documentation. Once a web browser displays the file,
click on the link entitled [Initial Functional Tests] on the left frame of the web browser. You
will see a suite of functional (black-box) test case descriptions. Your task is simply to convert these
tests to concrete test cases that contain actual values for inputs and expected outputs. These tests should
be defined in a document that you must hand in. Note, that the report should also include the values for
the "Actual Output" produced by the ATM simulator when executing each test case. Comment in your report
on the pass rate of your test cases (i.e., the percentage of the test cases whose expected output matched
the actual output produced by the software).
In order to assess the adequacy of the test suite you must determine what percentage of the source code
statements where executed during the testing process. It is possible that the suite provided does not
execute every statement of code in the ATM simulator. You are asked to submit the html output of the Emma
code coverage tool along with your testing document. The Emma tool is available for download from
Source Forge ( Emma code coverage tool). Information on how to use Emma is available via the course's slides on
Testing Tools as well as via Source Forge ( Emma resources ).
Simply install Emma, recompile your code using the appropriate Emma commands and flags, and instruct Emma to
generate the html report after you are done executing the entire test suite. In your document, comment on
how well (or not) the functional tests cover the source code of the ATM simulator.
The deliverables for this assignment are:
Submit your assignment by 6:00PM of the due date via e-mail to the TA (evs23 @ drexel.edu). Please package the
deliverables as a single zip file. Late assignments will not be accepted.
- A document that contains: (a) concrete test cases based on the initial functional tests provided in the code
distribution; (b) the actual outcomes of the executed tests; (c) the pass rate of the test cases of the
entire test suite; and (d) commentary on how well the functional tests cover the source code of the ATM
- An html report generated by Emma indicating the code coverage when executing the entire test suite.