Course Home | Assignments | Computing Resources | Lab Hours/Tutoring | Questionnaire | Schedule | Submit

Saint Louis University

Computer Science 146
Object-Oriented Practicum

Michael Goldwasser

Spring 2012

Dept. of Math & Computer Science

Assignment 09

Testing our latest revision

Overview

Topic: Testing our latest revision
Due: 11:59pm Tuesday, 25 April 2012

Please make sure you adhere to the policies on academic integrity.


Your Task

We are providing our latest revion of the matrix suite, based upon the inheritance model in which matrix and matrix_proxy are subclasses of the base class matrix_expression. We also provide a very simple test driver, showing the creation of a matrix and a proxy. We believe that our new implementation should function correctly in most cases, although we are aware of some subtle bugs that exist in this version.

Your goal is to perform far more rigorous testing of the new functionality, and to produce a written report that describes the various tests that you performed and resulting conclusions. In particular, there are two types of errors that might occur.

First, it is possible that you will try to use a syntax that makes perfect sense semantically, but for which a compilation error occurs. In that case, please explain the syntax that you used (and the underlying type declarations for the variables involved), and explain briefly what semantics you expect to be supported by the syntax. Since the compilation error is problematic, feel free to leave such code in test.cpp, but commented out.

Secondly, it may be that you use a syntax which compiles properly, but for which the observed outcome in the test is not what you think should happen for such usage. In that case, explain what you observe to be the problem.

Finally, please report on all tests that you performed, even those that did not result in uncovering an error. Hopefully, there are going to be very few errors uncovered. But you will be graded based on demonstrating that you were reasonably thorough in your testing of the expected functionality.


Files we are providing

If working on turing, change directories into a desired subdirectory of your home folder if desired, and to execute the following command verbatim

  cp -R /Public/goldwasser/146/asgn09 .
This will cause a new folder named asgn09 to appear in your working directory including all files that you need for this assignment. Alternatively, these files can be downloaded individual from this website. The matrix definition is essentially the same one we have been using for past assignments. However, we have written a new driver for this assignment to make it easier for you to test your code. That driver is named test and can be built with the make command.


Submitting your project

You are to submit an updated version of test.cpp, together with a detailed writeup of the tests that you performed and their results. Also, our current distribution includes sample.txt which provides raw data for reading one matrix. If you prefer, you are free to design your tests using other data files that include definitions of one or more matrices. In that case, please make sure to submit your test data files as well as the updated test.cpp program. (details on the submission process).


Michael Goldwasser
CSCI 146, Spring 2012
Last modified: Monday, 26 September 2011
Course Home | Assignments | Computing Resources | Lab Hours/Tutoring | Questionnaire | Schedule | Submit