SWE 637 Course Syllabus

Schedule Home page

Software Testing
Spring 2018

Professor: Paul Ammann
Office: ENGR 4428, 993-1660
Email: pammann@gmu.edu
URL: cs.gmu.edu/~pammann
Class Hours: Wednesday 4:30 - 7:10, Peterson Hall 1105.
Prerequisite: SWE 619 and SWE Foundation material
Office Hours: Tuesday 1-2PM; By Appointment. Anytime electronically.

Catalog Description:

Concepts and techniques for testing software and assuring its quality. Topics cover software testing at the unit, module, subsystem, and system levels, automatic and manual techniques for generating and validating test data, the testing process, static vs. dynamic analysis, functional testing, inspections, and reliability assessment.

Course Materials


While this course provides extremely practical skills, it is, at heart, an applied math course. You will need knowledge of discrete math, programming, data structures and basic software engineering. You will need a decent understanding of object-oriented theory, as described in a resource such as Bloch's Effective Java (2nd edition): how the precondition/postcondition contract model constrains programmers, how objects are created and destroyed, the consequences of inheritance decisions, mutable vs. immutable data types, generics and their implementation, and so on. Most examples will be in Java and some assignments will require JUnit tests. If you do not have the prerequisite knowledge, please do not ask for "permission." To my understanding, it is not possible to impart knowledge through the act of granting permission. Instead, go get the necessary background and then come back. We'll still be here.

Office Hours

Office hours are times that I commit to being in my office, door open, first come, first served. You do not need an appointment, and no appointments are made. If you cannot make my office hours, then we can try to set up an appointment. I will inform you in class or on the discussion board if I have to miss office hours.

In-Class Exercises

I place great emphasis on in-class learning. Here's why.

I plan an in-class exercise for every class. Students are encouraged to work in small groups. Think about who you want to work with. Some of these exercises need a Java development environment. Very often, the in-class exercises will be closely related to an upcoming homework assignment.


There are two types of homework assignments. The first are preparation for the weekly quizzes. These assignments will not be graded, although in many cases the answers are available in the student solutions. Effectively, the assessment on these exercises is the corresponding quiz. Students are encouraged to work collaboratively on these assignments and take advantage of the Piazza group to clarify questions. The second are experience assignments with specific tools or technologies. Generally, the deliverable is a summary document or experience report, with sufficient detail given to convince me that you completed the exercise.

Collaboration on Graded Assignments

You may work on homework assignments individually or collaboratively using one of two models: Note: You are NOT ALLOWED to include “guest names.” Every person listed as a collaborator must contribute. If someone is listed as a collaborator but did not contribute, all will be reported to the university honor committee.


Each class begins with a short quiz. Each quiz covers material from the previous session(s).

The goal of the quizzes is to keep students abreast of the material covered in class. Because of the quizzes, there is no midterm exam.

Missed quizzes:

In recognition of the fact that many students have occasional but unavoidable commitments that preclude attendance at every class, I drop each student's lowest three quiz scores prior to final grade computations.

In view of this policy, there are no make-up quizzes. Please don't ask for an exception.

Final Exam

A final exam is held during the University-scheduled exam period.

Honor System:

Students are reminded that the honor system governs all work turned in for credit. Unless otherwise indicated, each assignment must be an individual effort. An assignment submission carries with it an implicit statement that the submission is your own work. You may discuss the requirements and syntactical issues of assignments with other students in the class, but you may not discuss specific solutions. Any and all collaboration is prohibited on the quizzes and on the final. Details of honor code policies and procedures can be found at the Office for Academic Integrity website.


Grade totals are computed as: Participation (10%), Assignments (10%), Quizzes (50%), Final (30%). The scale for transforming numeric scores to letter grades is: Notes on grading:


SWE 637 will use Piazza 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. We will also have frequent in-class exercises. Participation in these yields credit towards a participation grade.

Participation must occur during the semester, not after final exams start.


As the semester progresses, I post notices about changes to the course web pages on Piazza.

In-class computers and communication

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 "Participation" grade. If you anticipate a call that you simply have to take (yes, that happens), please sit near the door, put your phone on vibrate, and leave quietly at the appropriate time. If you are disrupted by another student's violation of this policy, please bring the matter to my attention.

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.

Honor Code

As with all GMU courses, SWE 637 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.