Spring 2026 - CMPT 473 E100
Software Testing, Reliability and Security (3)
Class Number: 5486
Delivery Method: In Person
Overview
-
Course Times + Location:
Jan 5 – Apr 10, 2026: Wed, 5:30–6:20 p.m.
SurreyJan 5 – Apr 10, 2026: Fri, 4:30–6:20 p.m.
Surrey
-
Instructor:
Rob Cameron
cameron@sfu.ca
-
Prerequisites:
(CMPT 275 or CMPT 276) with a minimum grade of C- and 15 upper division CMPT units.
Description
CALENDAR DESCRIPTION:
Methods for software quality assurance focusing on reliability and security. Test coverage and test data adequacy including combinatorial testing. MC/DC testing, and mutation testing. Security engineering techniques for vulnerability discovery and mitigation including fuzz testing. Testing techniques will be applied to the assessment of external open source software.
COURSE DETAILS:
The goal of this course is to provide students a comprehensive understanding of the quality factors in software as well as the tools, technologies and techniques that may be used to assess and improve software quality. Students will work in project groups and apply these concepts to quality assessment and improvement of significant open source software systems.
COURSE-LEVEL EDUCATIONAL GOALS:
Topics:
- Overview of software quality assurance
- Defining quality: requirements and specifications
- Security as a fundamental aspect of quality
- Quality by design: building in quality
- Program verification technologies and methods
- Inspections and code reviews
- Testing methods - white box, black box, control flow, data flow
- Test data assessment: when have you tested enough?
- Tools and technologies for quality assessment and improvement
- Quality assurance process and process improvement
- Standards for software quality assurance
Grading
- In-class participation 10%
- Assignments 30%
- Quizzes 20%
- Course project 40%
Materials
REQUIRED READING NOTES:
Your personalized Course Material list, including digital and physical textbooks, are available through the SFU Bookstore website by simply entering your Computing ID at: shop.sfu.ca/course-materials/my-personalized-course-materials.
Department Undergraduate Notes:
-
Students must attain an overall passing grade on the weighted average of exams in the course in order to get a C- or higher.
-
All student requests for accommodations for their religious practices must be made in writing by the end of the first week of classes, or no later than one week after a student adds a course. After considering a request, an instructor may provide a concession or may decline to do so. Students requiring accommodations as a result of a disability can contact the Centre for Accessible Learning (caladmin@sfu.ca).
Registrar Notes:
ACADEMIC INTEGRITY: YOUR WORK, YOUR SUCCESS
At SFU, you are expected to act honestly and responsibly in all your academic work. Cheating, plagiarism, or any other form of academic dishonesty harms your own learning, undermines the efforts of your classmates who pursue their studies honestly, and goes against the core values of the university.
To learn more about the academic disciplinary process and relevant academic supports, visit:
- SFU’s Academic Integrity Policy: S10-01 Policy
- SFU’s Academic Integrity website, which includes helpful videos and tips in plain language: Academic Integrity at SFU
RELIGIOUS ACCOMMODATION
Students with a faith background who may need accommodations during the term are encouraged to assess their needs as soon as possible and review the Multifaith religious accommodations website. The page outlines ways they begin working toward an accommodation and ensure solutions can be reached in a timely fashion.