Software Verification and Testing

COMP 671

 

Course Description

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.

 

Prerequisites

COMP 620 - Analysis of Algorithms

 

Course Outcomes

Upon successful completion of this course a student will be able to:

  1. determine the test technique applicable to a given program
  2. construct a test suite using the techniques.
  3. examine and analyze the results of this test suite
  4. determine various test and quality metrics of a program
  5. create and manage an effective software testing team.

 

Required Materials

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.

 

Optional Materials

Boris Beizer Software Testing Techniques. Van Nostrand Reinhold. ISBN: 0-442-20672-0.

 

Course Communications

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.

 

Student Responsibilities

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.

 

Grading Policy

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:

 

Submission and Return Policy

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.

 

Schedule

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)