SE320 Software Verification and Validation

Course Trivia


Software Testing is a critical element of software quality assurance and represents the ultimate review of a system's source code with the intent of discovering bugs.

Presents theory and practice of software testing. Covers structural testing including such topics as syntax testing, mutation testing, tools for software testing, testing specifications, black-box and white-box testing, code inspections, metrics, usability testing, testing documentation, website testing, security testing, beta testing, quality assurance, and software safety.

Course Objectives

Intended Audience

This course is intended for undergraduate students in Software Engineering and Computer Science. Before taking this course, students should take CS260 Data Structures.

Students seeking to brush up on their Java skills are encouraged to consult the following resources:

Course Grading Scheme

Each student's final grade will be calculated by adding the scores for each quiz, assignment, and the final exam. A corresponding letter grade will be assigned based on the students calculated score as follows:

Grading Rules


  1. Assignment 1
  2. Assignment 2
  3. Assignment 3


Students should prepare for the examinations by studying all of the lecture notes and corresponding book chapters covered prior to the examinations. Quiz 1 will cover material from Week 1 until (and including) material covered on Oct. 11 (Week 4). Quiz 2 will cover material from Week 5 until (and including) material covered on Week 7. The final examination will cover material from Week 1 until (and including) Week 11. The examinations will be a combination of short answer, essay, and problem solving questions. The examinations are in class and closed book/notes.

Course Schedule

Academic Honesty

The university's Academic Honesty policy is in effect for this course. Please consult the online student handbook for details.