SWE 437: Software Testing and Maintenance
Syllabus — Spring 2017
|Class hours||Tuesday, Thursday 1:30pm - 2:45pm, Innovation Hall 134|
|Prerequisites||CS 310 and Math 125|
|Objective||Concepts and techniques for testing and modifying software in evolving environments. Topics include software testing at the unit, module, subsystem, and system levels; developer testing; 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, physical scientists, and mathematicians 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.
|Reading||Students are expected to read the relevant material (from the text, various sources on the web, and transparencies that will be made available on the web site). You will understand the lectures much better if you read the material before the lectures. The lectures may not cover everything in the readings and will often include material not found in the readings.|
|Homework assignments will be made available on the class web site. Some homework assignments will be submitted on paper in class. Others must be submitted via Blackboard. Homeworks must be submitted before class on the day they are due. Assignments will be checked immediately after the due date; if you finish an assignment late, you must inform me by email when it is ready to be graded. Changing an assignment after the due date without prior permission will be treated as a late submission.|
You are allowed to work on homeworks
collaboratively using one of two models:
|Late submission||Unless arrangements are worked out in advance, 50% penalties apply to late submissions. If you will be forced to miss class on the day something is due, let me know ahead of time by email or in writing. Under no circumstances will any assignment be accepted once final exams begin.|
|Quizzes||Instead of a midterm exam, we will have weekly quizzes. Quizzes will be given during the first 10 to 15 minutes of class on Tuesdays and no makeups or late quizzes will be given. Please do not ask for an exception. For overall grade calculations, the lowest three quiz scores will be dropped. The remaining quizzes with the highest scores will be used to calculate the final "quiz" part of the grade. This essentially means that you can to miss up to three quizzes without penalty.|
I place great emphasis on in-class learning.
Consequently, I expect students to be in class. Up to two absences are excused without grade penalty. Each absence including and after the third absence results in a reduction of 20% from the "Class attendance and participation" grade. In other words, 7 absences completely zero out the "Class attendance and participation" grade. This policy covers routine issues: having a cold, being stuck in traffic, travelling for work, etc. For absences caused by events beyond this, contact me for a discussion.
SWE 437 will use the
software for a discussion board.
Information for accessing our class will be provided on the first day of class.
Participation on the discussion threads counts towards your grade.
You can earn credit in several ways.
Updates to the course web page will generally be noted on the Piazza page.
Daily in-class exercises are the most important
use of our in-class time.
Each exercise is designed to get you to think
about some specific aspect of the material we are learning that day.
The exercises will also be used to monitor attendance.
Because in-class exercises leave limited class-time for lecture, many students find it helpful to view recorded materials outside of class. I am interested in augmenting the available videos for this class. My model for doing so is to produce ShowMe videos with individual students. Please contact me if you are interested in participating in these productions.
Final exam is closed book/closed notes/closed web.
The only exception is a single sheet of 8 1/2 x 11 paper (double sided)
with hand-written notes written by the person taking the exam.
The final is in-class and comprehensive.
Appropriate documentation (as determined by instructor) and
requisite permissions are required for makeup exam requests.
Note: A failing grade on the final exam (<60%) will result in a failing grade (F)
for the entire course, regardless of performance on other assignments.
If you know in advance that you are unable to make an exam for a valid and unavoidable reason (such as a scheduled surgery, etc), you must notify me at least one week before the scheduled exam date to make arrangements for a makeup, and bring documentation with you when you take the makeup. If you miss an exam due to a university-accepted excused absence (such as an illness or car accident the day and time of the exam), you must notify me within 24 hours of your absence to make arrangements for a makeup, and bring approved documentation with you when you take the makeup exam. Failure to follow either of these policies will result in a zero grade on the exam.
|Phone calls, text messages, instant messages, email, and general web surfing are highly disruptive to other students and hence not allowed during class time. Technology devices may only be used for the class purposes (eg following slides or working on in-class assignments.) Violators will be asked to leave the room. Repeat offenders will lose credit on the "Class attendance and participation" grade.|
|Honor Code||As with all GMU courses, SWE 437 is governed by the GMU Honor Code. In this course, all quizzes and exams carry with them an implicit statement that it is the sole work of the author. See the collaboration discussion above for rules on homework assignments. Any deviation from this is considered an Honor Code violation, with ultimate sanction determined by the Honor Code committee.|
|Learning disabilities||Students with learning disabilities (or other conditions documented with GMU Office of Disability Services) who need academic accommodations should see me and contact the Disability Resource Center (DRC) at (703)993-2474. All academic accommodations must be arranged through the DRC.|
© Thanks to Jeff Offutt and Upsorn Praphamontripong for material used on this page.