This course provides the student with the mathematics and theoretical background needed to understand the problems faced when testing software. An overview of current testing methods including various clear-box, translucent-box techniques, formal methods, functional and structural analysis is presented. Test reduction techniques are explored along with techniques for test automation. Software reliability and software testing processes are then introduced along with practical advice on the practice of software testing.
COMP 620 - Analysis of Algorithms
Upon successful completion of this course a student will be able to:
Paul C. Jorgensen Software Testing: A Craftsman's Approach CRC Press ISBN: 0-849-37345-X.
Purchasing Course Materials: The textbook for this course can be ordered through the Franklin University's Bookstore at 1-888-341-6237 ext. 6262 or 341-6262. Be sure to have the course number and textbook information available when you call.
Boris Beizer Software Testing Techniques. Van Nostrand Reinhold. ISBN: 0-442-20672-0.
In addition to in-class discussions, students are encouraged to post their questions to the class Bulletin Board. Registration is required to post messages. The instructor or other students from the class will then post the answers for the whole class to view. For individualized issues, the instructor can, of course, be contacted directly by e-mail or telephone. E-mail and phone messages will normally be answered within 24 hours. Students can also communicate using the CS Chat Room for informal discussions.
This course will require, on average, between 10 and 15 hours per week (the actual amount is dependent on your background). A student with a "heavy" schedule (school combined with work and family) should be aware of the dedication that this course requires. A student must evaluate this requirement before proceeding with the course.
Grades will be determined as follows:
| Assignments | Points |
| Homeworks (10) | 100 (10 each) |
| Project | 100 (50 each) |
| Midterm Exam | 100 |
| Final Exam | 100 |
Grading will be on a "straight scale." The scale is as follows:
Assignments must be submitted to the instructor according to the course schedule. NO late assignments will be accepted. No make-up exams will be given without the consent of the instructor prior to the scheduled test date.
Assignments will normally be returned within two weeks after submission.
| Week | General Topics | Assignments |
| 1 | Overview of Testing/ Methematical Background | Read Chapter 1 and 3 Homework 1 assigned |
| 2 | Formal Testing methods | Read Chapter 2 and handouts Homework 2 assigned Homework 1 due |
| 3 | Structural analysis and Clear-box techniques | Read Chapter 4, 9 and 10 Homework 3 assigned Project assigned Homework 2 due |
| 4 | Functional analysis and Opaque-box techniques | Read Chapter 5, 6, 7 Homework 4 assigned Homework 3 due |
| 5 | Test Case Evaluation techniques (mutation); Comparing Techniques; D.F.T. (PIE) | Read Chapter 8, 11 and handouts Homework 4 due |
| 6 | MIDTERM EXAM Chapters 1 - 11 |
|
| 7 | Test Case reduction techniques & Latin squares; Misc. techniques (Logical space, Fault-Based VCat Tool | Read Handouts Review Exam Homework 5 assigned |
| 8 | The Testing Process, unit, integration and system testing | Read Chapter 12, 13, 14 Homework 6 assigned Homework 5 due |
| 9 | Automation and Regression Testing. | Read Handouts Homework 7 assigned Homework 6 due |
| 10 | Reliability and Reliability growth models. | Read Handouts Homework 8 assigned Homework 7 due |
| 11 | Test team seletion and management | Read Handouts Presentation of Projects Homework 8 due |
| 12 | FINAL EXAM (Comprehensive) |