Management and Information Technology


CMPT 41293

Software Verification and Validation

Status : Elective Pre-requisite : CMPT 31183 Co-requisite : None

On completion of this course, the student should be able to:

  • Demonstrate a sound understanding of different software validation and verification techniques.
  • Conduct software inspections and reviews.
  • Assess error proneness and testability.
  • Design and implement comprehensive test plans.
  • Apply various software testing techniques in an effective and efficient manner.
  • Determine test coverage and yield according to different criteria.
  • Use statistical techniques to evaluate the defect density and reliability.
  • Assess a software process to evaluate how effective it is at promoting quality.

Introduction to software quality assurance, software validation and verification, software inspections and reviews, software testing principles, software error proneness and testability, specification-based testing, code-based testing, alpha, beta and acceptance testing, test prioritisation, coverage criteria, test instrumentation, software process and product quality, cleanroom approach, software quality standards, software process certification.

Lectures, self-study assignments and group work.
End of course unit examination and continuous assessment.

  1. Godbole, N S (2004),Software Quality Assurance: Principles and Practice, Alpha Science.
  2. Patton, R (2006),Software Testing, Sams.
  3. Pezze, M and Young, M (2008),Software Testing and Analysis: Process, Principles and Techniques, Wiley.
  4. Sommerville, I (2011),Software Engineering, Pearson Education.
  5. Pressman, R S (2010),Software Engineering: A practitioner’s approach, McGraw-Hill.