CS285 -- Lab 2: Testing and Verification
Winter 2004
Overview
In this lab, you verify the implementation of the vector class you developed
in lab 1.
Procedure
Your group should do the following:
- Code review -- The author of the code should listen to their
partner talk through what the author's code does. The author
should be listening and should only speak to answer direct
and specific questions. Be sure to make specific notes in the
XML report as you go. (These need not be in complete sentences.)
Switch roles and repeat the process.
- Comparison and analysis of substative differences in approaches --
what did you do differently, what are the advantages/disadvantages of
each approach, etc...
- Test plan -- You should develop a plan to test the operation of the entire
implementation of the vector class. I will be making a special
effort to check that you are fully testing the constructors, destructor,
push_back and pop_back
member functions.
- Testing -- Implement the test plan and test both implementations
- Result analysis -- what broke
- Defect fixes -- Pick one of the two and fix any defects found. The
other implementation does not need to be fixed.
Throughout the project you should log all errors found using the
log table given in the XML template file.
Lab report (due 11:00pm, the day prior to week 4 lab)
Here is a template file to use as a starting point
for this report.
You should submit one report for the group. When submitting chose one
MSOE login name to use (include both names in the report).
Your report should include:
- Code review -- list specific observations from each code review. You
should also discuss your overall reaction to the activity (e.g.,
was it a useful activity, how could you have done it better, etc...).
- Comparison of the two implementations
- A detailed test plan (written before you actually test)
- Test results (program output from the testing code)
- Description of fixes -- This will be boring if you did the first
lab correctly.
- Overall reactions to the assignment (e.g., did you learning anything?
Were you able to function effectively as a team? etc...)
- An activity log indicating how much time you spent on each phase of the
assignment. You should use the format found in the
template XML file and report the time in
the following categories:
- Code review
- Test plan
- Coding
- Testing
- Fixing
- Writing Report
- Other
- Defect logs indicating the errors discovered while working on this
assignment. You should use the format found in the
template XML file and indicate which implementation
the defect was found and during which of the following phases:
- Code review
- Testing
- Fixing
- Other
- Documented source code
for your test program, both original vector implementations, and the
fixed vector implementation.
As with any report you submit, correct spelling
and grammar are required. In addition, your report should be submitted
electronically following the
Electronic submission guidelines.
(You may wish to consult the XML help video
and/or sample report
before submitting your report.) Be sure to keep copies of all your
files, in case something gets lost. It may be wise to keep a diskette backup
as well.
Your grade on this assignment will be based on the following weightings:
10% code review, 20% test plan, 15% testing code, 10% fixed code,
10% activity/defect logs, 5% team functioning, and 30% narrative report.
If you have any questions, consult your instructor.
Acknowledgment
This laboratory assignment was developed by
Dr. Chris Taylor.