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.