CS5035: Software Quality
This module is offered in 2024-25.
Learning Outcomes
On successful completion of this module, the student should be able to:
- Understand and be able to apply various approaches to software testing.
- Understand the role and application of software testing and verification to systems
- Understand key approaches to software dependability.
- Be able to apply refactoring to reduce technical debt.
Syllabus
This module covers essential tools and skills for ensuring and maintaining software quality. It covers various approaches to testing, including test-driven development, and unit testing. It covers software verification using formal methods and their application to critical systems. It introduces key approaches to dependability, including dependability dimensions, tactics, and evaluation. It discusses the problems of technical debt and the need for refactoring.
Compulsory Elements
This module has no compulsory elements beyond those common to all modules (mark of 4 in each assessment component).