CISC 615/CPEG 615 Software Testing and Maintenance - Spring 2012

Course Overview

Course Description

Content
Study of software testing and maintenance methodologies for modern software. Topics include approaches to automatic test case generation, test oracles, test coverage analysis, regression testing, program understanding, and software maintenance tools. A primary focus will be automation in software testing and maintenance approaches.

Prerequisite: Algorithms and programming languages would be helpful.

Structure
The course is a combination of mini-lectures on the major challenges in software testing and maintenance, intermixed with presentations and discussions of state-of-the-art tools, processes, and research addressing these challenges. Students will actively participate in a number of ways as described under the course requirements below.

Objectives
At the end of the semester, a student completing the course should be able to:

  • describe the main problems and strategies in software testing and maintenance,
  • describe what is done in testing and maintenance practice today,
  • use, evaluate, and compare testing and maintenance techniques, tools, processes, and challenges,
  • describe the current challenges/open research problems in testing and maintenance,
  • communicate better with improved technical reading, writing, and presenting skills.

Materials

The course is primarily based on various sources, including web sites describing tools, textbooks, recent conference and journal articles, and links to the specific papers are provided at this website. Students are expected to download (and print if desired) the papers to read.

Recommended References
These books provide some background reading on some of the topics.

Paul Ammann and Jeff Offutt, Introduction to Software Testing, ISBN 0-52188-038-1, Cambridge University Press, 2008.

Mauro Pezze and Michal Young, Software Testing and Analysis, Process, Principles and Techniques, ISBN-10: 0-471-45593-8 ISBN-13: 978-0-471-45593-6 - John Wiley & Sons, 2007.

Robert V. Binder, Testing Object-Oriented Systems: Models, Patterns, and Tools, ISBN-10: 0201809389, Addison-Wesley Object Technology Series, 1999.

Assignments and Grading

Course Policies

Getting Help

Just send email to me and I'll email the question and post the answer on sakai as an announcement to the whole class without identifying the person asking the question.

Assignment Submission:

Assignments that are due in class must be ready to give to the instructor by the start of class on the due date, in order to have no points deducted for lateness. Other deadlines will be at midnight on the due date. The due dates are to be taken seriously and you should not expect them to be extended. The pace of work is implicit in the due dates and necessary if you expect to finish by the end of the semester. Homeworks to be graded should be turned in at the start of class on the specified due date. NO late homeworks will be accepted FOR FULL CREDIT without discussion with me prior to the due date. If you can not reach me, leave a message on my voicemail. All other assignments not delivered by the due date are considered late.

My philosophy on late assignments is: (1) Everyone should try their best to complete all assignments by the specified due date. (2) People who work conscientiously to make the deadlines should be rewarded for their promptness and sacrifice of sleep. Thus, allowing others to hand in late assignments without some penalty is not fair to these people. However, there are various circumstances that may prevent you from completing an assignment by the due date. Allowing no late assignments would not give you much incentive to continue to work on the assignment, which is a major source of learning in this course. Thus, I believe late assignments are better than no assignment.

Late assignments will be penalized 10% off the total possible points if turned in within the first 24-hour period after the specified due date and time, and 5% per 24-hour period (or fraction of a day) (including weekends) after that time, up to a week after the due date. Late assignments will be accepted with penalty up to one week after the due date. Assignments submitted at any later time without an approved excuse will not be accepted. It is up to you to determine the version of your assignment to be graded. You must weigh the late penalty against the completeness of your assignment.

Regrading Policy:

If you are dissatisfied with a grade on an assignment, or exam, you should consult the instructor directly within a week of the day the graded assignment was returned to you. No regrade requests will be considered after this week period.

Posting Grades:

Your grades on individual assignments, exams, etc will be posted on sakai. You can use the percentages above to estimate your overall grade as you progress through the semester. Questions about accuracy of recorded grades should be addressed to me.

Policy on Academic Dishonesty:

You are permitted to consult with other students and professors on any conceptual problems or clarification issues on all assignments. Any group activities are to be done in collaboration iwth your group. Individiaul assignments should be done on your own. No materials used off the internet should be used without consulting the instructor, unless otherwise specified. When you are allowed to use other resources, be sure to cite all sources. Any evidence of collaboration other than specified will be handled as stated in the Official Student Handbook of the University of Delaware. If you are in doubt regarding the requirements, please consult with me before you complete any requirement of this course.

Student Guide to University Policies: Code of Student Conduct

Copyright © 2007 University of Delaware