CS 472

Course List Current course website

 

Specification, Testing and Quality Assurance

Fall Term 1999

1. Prerequisites

o Knowledge of C and Unix.

o CS 307 (Software Engineering I), or equivalent knowledge of current software engineering practices as approved by instructor.

2. Instructor: Prof. J. H. (Jamie) Andrews.

o Office: Middlesex College (MC) room 365.

o Office Hours: to be announced.

o E-mail: andrews@csd. uwo. ca (preferred method of contact)

3. Texts:

o Required Textbook: Software Testing in the Real World: Improving the Process, Edward Kit, Addison-Wesley, 1995.

o Supplementary Reading: I may hand out additional course material in class.

4. Topics (with approximate dates):

  • Review of Software Engineering (week 1): software development process models, development activities, development documents. (Week 1 consists of two classes, Thu Sep 9 and Fri Sep 10.)
  • What Is Quality? (weeks 2?3): elements of quality, cost of poor quality vs. cost of achieving quality, detection vs. prevention, overview of quality assurance techniques.
  • Introduction to Testing (week 3): goals of testing, approaches to testing, testing terminology, test harnesses and stubs, test cases and suites.
  • Functional (black box) testing (weeks 4?5): equivalence partitioning, boundary?value analysis, error guessing.
  • Structural (white box) testing (weeks 5?6): Code coverage measures, structured basis testing, code coverage analysis tools.
  • System testing issues (week 7): integration, use case testing, beta testing, regression testing.
  • Rigorous Specification (weeks 8?9): Statecharts notation, validating statecharts, using statecharts in testing, applications.
  • Software Process Improvements (week 10): requirements and design reviews, code reviews and walkthroughs.
  • Software Verification (weeks 11?12): Cleanroom techniques, mathematical verification of straight?line and iterative code, barriers to mechanical verification.
  • Predicting Software Quality (weeks 12?13): software product and process metrics, uses of metrics, metrics programs.
  • Software Quality Plans and Standards (week 13?14): Quality assurance plans and systems, ISO 9000, SEI Capability Maturity Model. (Week 14 consists of I class, Tue 7 Dec.)

5. Assignment /Programming Schedule

o There will be 4 assignments. Assignments will include both subjective (short essay?type) and objective (more mathematical) questions, and some programming. The assignment due dates are tentatively scheduled for Fri Oct 8, Fri Oct 29, Fri Nov 19, and Fri Dec 3. Assignments are due by 5:00 on the day they are due.

o Students are encouraged to discuss assignments but not to copy each other's work (see above).

o The assignments are not linked into a project. Parts of some assignments will not involve using the computer.

o The "gaul" Unix system will be used for any assignments involving computer work.

6. Student Evaluation

o The final exam will count for 40%, the midterm for 18%, and each of the four assignments for 10%, with 2% for class participation (see below).

o If for any reason we cannot stick to the schedule, all marks above will be prorated.

7. General Hints

o Answers to essay-type questions do not absolutely have to be in perfectly- spelled grammatical English. However, if spelling, grammar or style errors make the answer hard to follow (as they often do), marks will be deducted.

o There is a class participation component to your mark (2%). If you come to most of the classes and participate well in in-class discussions, you will be guaranteed the full class participation mark. 0 will be awarded in unusual circumstances. Most students can expect to get between 1 and 2%.