CS 491/591

Software Testing and Quality Assurance

Fall 2008

Syllabus


Instructor:      Dr. Jeff Carver
Email:            carver@cs.ua.edu
Phone:           (205) 348-9829

Office hours:  Tuesdays 10:45-12:00; Wednesdays 9:00-11:00; Other times by appointment

Course website is hosted in eLearning.

Location/Time

Houser 108
Tuesday/Thursday 9:30--10:45am

Description

Topics include methods of testing, verification and validation, quality assurance processes and techniques, methods and types of testing, and ISO 9000/SEI CMM process evaluation.

Course Goals

Prerequisites

CS 325 and CS 357

Texts and Readings

Software Quality Engineering: Testing, Quality Assurance and Quantifiable Improvement, by Jeff Tian, published by Wiley, ISBN 0-471-71345-7, is the required text.

Other required readings:

Other readings from the current literature may be assigned throughout the semester. These items will be available through electronic online databases such as IEEExplore or the ACM Digital Library. You can download a *.pdf file for such articles.

Exams and Quizzes

If I determine that students are not reading the assigned materials prior to class, pop quizzes may be given at the beginning of class based on the previous class or assigned reading. Anyone missing class or arriving late will not be allowed to make up a quiz unless the absence was arranged and approved prior to class.

The Midterm Exam will cover lectures, discussion in class and homework up to that point in the semester.  The entire normal class time will be allowed for this exam.

Midterm Exam         Tuesday, October 7
Final exam               December 11, 8:00--10:30 AM, as scheduled by the University
               No one may take the final exam early.

The Final Exam will be
--- Comprehensive

Attendance

Attendance at all classes is required.  Attendance and tardiness will directly affect Quiz/participation grades.

Please notify Dr. Carver of the circumstances for each absence/tardiness by email.  Whenever possible, notify him in advance of expected absence/tardiness.

Homework

Collaboration on homework is not allowed.

Date Assignment
September 16 Assignment 1
September 30 Assignment 2
October 30 Assignment 3
December 2 Assignment 4

All homework will be submitted via eLearning.  

Your homeworks should be submitted as a Microsoft Word document or a PDF file. (Obtain prior approval from Dr. Carver if one of these formats will not work)

Term Paper (CS 591 only)

All students enrolled in CS 591 will write a term paper and make a presentation to the class.  See the term paper assignment for details.

Coauthoring a term paper is not allowed, but I encourage discussions and critiques of your draft term paper, as long as you acknowledge the help you get from others. When acknowledging help, thank people by name.

All students are encouraged to consult with their major professors regarding the topic. A topic related to your dissertation, thesis, or M.S. project is encouraged. Your term paper topic should be suitable for a professional conference. 
All term paper authors are required to get someone who is a native-English speaker to review the English of the 1st Review Version and suggest improvements for the Final version.  The reviewer shall be thanked by name in the Acknowledgments section at the end of the paper.  (Hint: The best reviewer is someone who does not have a technical background.)  In order to give your reviewer sufficient time, give your reviewer the Complete version as soon as it is done, prior to grading.

Each term paper author will make a presentation to the class at the end of the semester on the content of the paper.  A Satisfactory grade is prerequisite to getting credit for the Final term paper.  

Grading

The final grade will be determined by the following weights.

For CS 491:
30% Midterm Exam
35% Final Exam
30% Homework
5% Quizzes and participation

For CS 591:
25% Midterm Exam
25% Final Exam
25% Homework
20% Term Paper
5% Quizzes and participation

The standard scale for grades will be used, namely the following

A   90--100%
B   80--89%
C   70--79%
D   60--69%
F    0--59%

Late assignments will be penalized; assignments more than one week late will not be accepted, except for excused absences. If necessary, submit an incomplete assignment on-time, promptly discuss the situation with Dr. Carver, and submit a complete assignment later by the agreed date.  This strategy will result in a better grade than submitting the entire assignment late without consultation.

Tools

All students must have access to email. All students must monitor the eLearning site for the course. The instructor will communicate with the students via email and via the eLearning site.

Professional Conduct

Academic dishonesty has very bad consequences. Copying ideas, sentences, tables, or figures without citation is plagiarism, a form of academic dishonesty.  This is a very serious offense, because you make it appear to be your own work, but in fact, it is not.  You must include citations and references when you copy.

Receiving unacknowledged help is considered academic dishonesty.  When you receive help, other than from faculty, or course materials, you must include citations and references in your work. For example, if you find a useful web page that was not specified in the assignment, then you must include a citation and reference for it. Similarly, if a discussion with someone is helpful, you should thank them by name in the Acknowledgments section, even if collaboration is not allowed on the assignment. (Their discussion may not be considered "collaboration".)  Citations and references are optional for informal discussions.

Giving unacknowledged help is also treated as academic dishonesty.

The University of Alabama is committed to helping students to uphold the ethical standards of academic integrity in all areas of study. Students agree that their enrollment in this course allows the instructor the right to use electronic devices to help prevent plagerism. All course materials are subject to submission to Turnitin.com for the purpose of detecting textual similarities. Turnitin.com will be used as a source document to help students avoid plagerism in written documents.

Classroom Decorum Statement

The Code of Student Conduct requires that students behave in a manner that is conductive to a teaching/learning environment. Students who engage in behavior that is disruptive or obstructive to the teaching/learning environment will be subject to disciplinary sanctions outlined by the Code of Student Conduct. Disruptive/obstructive behavior is not limited to, but may include, the following: physical abuse, verbal abuse, threats, stalking, intimidation harassment, hazing, possession of controlled substances, possession of alcoholic beverages.

Out of respect for your fellow classmates, please turn off all cell phones during class

Outline

Assignment due dates are firm.  Topic dates are approximate.

Date Reading Topic Assignment due
August 21 Chapters 1 and 2 Introduction/Overview/What is Software Quality  
August 26 Chapter 3 Quality Assurance
August 28 Chapter 4 Quality Assurance in Context
September 2 Chapter 5 Quality Engineering
September 4 Chapter 6 Testing: Concepts, Issues and Techniques
September 9 NO CLASS
September 11 Chapter 7 Test Activities, Management, and Automation
September 16 Chapter 8 Coverage and Usage Testing Based on Checklists and Partitions Homework 1 Due
September 18 Chapter 9 Input Domain Partitioning and Boundary Testing  
September 23 Chapter 10 Coverage and Usage Testing Based on Finite-State Machines and Markov Chains
September 25 Chapter 11 Control Flow, Data Dependency, and Interaction Testing
September 30 Chapter 11 Control Flow, Data Dependency, and Interaction Testing Homework 2 Due
October 2 NO CLASS (E-DAY)  
October 7 MIDTERM EXAM
October 9 NO CLASS (MID-SEMESTER BREAK)
October 14 Chapter 12 Testing Techniques: Adaptation, Specialization, and Integration
October 16 Chapter 13 Defect Prevention and Process Improvement
October 21 Chapter 14 Software Inspection
October 23 Chapter 15 Formal Verification
October 28 Chapter 16 Fault Tolerance and Failure Containment
October 30 Chapter 17 Comparing Quality Assurance Techniques and Activities Homework 3 Due
November 4 Chapter 18 Feedback Loop and Activities for Quantifiable Quality Improvement
November 6 Chapter 19 Quality Models and Measures
November 11 Goal, Question, Metric Paradigm  
November 13 Change and Defect Models
November 18 Chapter 20 Defect Classification and Analysis
November 20 Chapter 21 Risk Identification for Quantifiable Quality Improvement
November 25 Chapter 22 Software Reliability Engineering
November 27 NO CLASS - THANKSGIVING
December 2 TBD Homework 4 Due
December 4 Graduate Student Presentations  
December 11 FINAL EXAM 8:00 - 10:30 AM