Email: mcukier@eng.umd.edu / csmidts@eng.umd.edu
Office hours: Friday 10:00 am - 12:00 pm.
Office: 2100H Marie Mount Hall / 2100C Marie Mount Hall
Prerequisite: Either CMSC114 or CMSC214, and either CMSC/MATH475 or MATH461; or consent of instructors.
Teaching Assistant: Anil Sharma
Email: asharm@wam.umd.edu
Office hours: Wednesday 2:00 pm – 4:00 pm.
Office: 0303G Marie Mount Hall
Readings:
· B. Beizer, Software Testing Techniques (second edition).
Course Objective: The goal of this class is to provide an overview of the state-of-the-art of software testing. About 15 hours will be dedicated to lectures on software testing. The remaining time will be used to familiarize the students with TestMaster, a tool for automatically testing software. A student project will focus on testing a real program using TestMaster.
Course Description: The lectures will discuss different software testing methods used during the software development cycle for unit testing, integration testing, and system testing. Each method considers the software either as a white box or as a black box. The first case leads to structural testing, the second one to functional testing. Flowgraphs and data-flows are two examples of white box models, and behavioral models and textual descriptions are two examples of black box models. For all these methods, inputs can be generated in a deterministic or statistical way. For the deterministic case, special values like boundary values are often used; in the statistical case, the inputs are selected following either a uniform distribution (random testing) or a specific distribution (statistical testing).
Exams: There will be a midterm and a final exam.
Project: There will be a semester long project. The project will be to design and carry out a complete test of a real program using TestMaster.
Homework: There will be small computer and/or homework assignments for several of our topics.
Reading: The lectures may not cover everything in the readings and might include material not found in the readings.
Grading: Grades will be: 20% midterm, 30% final, 40% project, 10% homework.