If you want truly to understand something, try to change it.
- Kurt Lewin
SWE 437: Software Testing and Maintenance
This syllabus is from a senior-level course at George Mason University.
SWE 437 is an elective in the Software Engineering minor
that covers both testing as well as maintenance.
It is taken by students in the
Electrical and Computer Engineering,
and other engineering ans science majors.
The schedule given here is based on a class
that met one day per week for 2.5 hours in the early evening.
|Professor: || Jeff Offutt |
|Office: || S&T II 355, 993-1654, fax: 993-1638 |
|Email: ||offutt ++++ gmu.edu |
|URL: || http://www.cs.gmu.edu/~offutt/ |
|Class Hours: || Monday 4:30 - 7:10 |
|Prerequisite: || CS 211 and Math 125|
| Office Hours: || anytime electronically, Tue 2:30-4:00, or by appointment|
|TA: ||Upsorn Praphamontripong, uprapham +++ gmu.edu|
|Office Hours: || Th 1:30-4:30 pm, S&T II room 335|
• Introduction to Software Testing, Ammann and Offutt, Cambridge University Press, 2008
• Readings from various texts:
Pfleeger, Software Engineering, chapter 11;
Hohpe and Woolf, Patterns and Best Practices for Enterprise Integration, Introduction and chapter 1;
Cohn, Agile Estimating and Planning, chapters 1-3.
Concepts and techniques for testing and modifying software in evolving environments.
Topics include software testing at the unit, module, subsystem, and system levels;
automatic and manual techniques for generating test data;
testing concurrent and distributed software;
designing and implementing software to increase maintainability and reuse;
evaluating software for change;
and validating software changes.
This course has two closely related themes.
First, more than half the effort in software development is devoted to
activities related to testing,
including test design, execution and evaluation.
This course will teach quantitative, technical, practical methods
that software engineers and developers can use to test their software,
both during and at the end of development.
more than half of software development effort is not new development,
but maintenance activities such as
adding new features,
migrating to new platforms,
and integrating third-party components into new projects.
These two themes are intertwined because much of the effort during
maintenance is testing the changes,
and much of the effort in testing is about
This course covers these two themes quantitatively,
with a solid basis in theory
and with practical applications.
These topics will be useful to strong programmers
in the Computer Science program,
as well as engineers,
who regularly integrate software components as part of their work.
The topic of this course is of interest to and accessible to
students in a wide variety of specializations.
We will read from the text, various sources on the web,
and transparencies that will be made available on the web site.
You will undersetand the lectures much better if you read the text
The schedule for the readings are given on the
Unless arrangements are worked out in advance,
missed assignments cannot be made up,
and 10% per week will be deducted
for late submissions.
I understand that your job may occasionally take you out of town;
so does mine.
If you are going to be forced to miss class on the day something is due,
let me know ahead of time by email or in writing.
Several homework assignments will be assigned.
make the assignment available on the class web site
and discuss each in class.
Most homeworks will be submitted on paper in class.
Be sure that you receive email through your gmu.edu account,
as refinements and hints for the assignments will be sent through email.
Homeworks must be submitted before class on the day they are due.
Late submissions will be assessed a 10% penalty per class meeting.
All assignments must be submitted
before final exams start and will not be graded thereafter.
- IN-CLASS COMPUTERS AND COMMUNICATION:
Phone calls, text messages, instant messages, email, and general web surfing are not allowed
during class time.
Computers may only be used to follow the material in class.
Violators will have their devices confiscated or asked to leave the room.
- HONOR CODE STATEMENT:
As with all GMU courses,
SWE 437 is governed by the GMU Honor Code
In this course, all
assignments, exams, and project submissions
carry with them an implicit statement that it is the sole work of the author,
unless joint work is explicitly authorized.
Help may be obtained from the instructor or other students to understand
the description of the problem and any technology,
but the solution, particularly the design portion,
must be the student's own work.
If joint work is authorized,
all contributing students must be listed on the submission.
Any deviation from this is considered an Honor Code violation,
and as a minimum, will result in failure of the submission
and as a maximum, failure of the class.
- GRADING POLICIES:
- There will be several homework assignments (total 30%).
- There will be two exams during the semester (total 20% apiece).
- There will be a closed book, in-class, comprehensive final exam (30%).