CMPUT 501 - Software Quality


Students will learn about the best processes to follow to produce better quality software that is also more maintainable. The course will discuss different types of tests, automated quality assurance tools and pipelines, and quality models. The course is geared towards practicing all covered concepts using state-of-the-art tools with lots of hands-on projects and assignments. Graduate students taking the course will also do a small research project.


  • Understand which testing or code analysis strategies can catch a given type of software bug
  • Set up and use automated continuous integration and deployment services
  • Be able to contribute quality improvements to an existing project

Course Work

  • assignments & group projects
  • exams (for undergraduate students)
  • readings
  • presentations
  • course project and report (for graduate students)