Most people get confused when it comes to pin down the differences among Quality Assurance, Quality Control, and Testing. Although they are interrelated and to some extent, they can be considered as same activities, but there exist distinguishing points that set them apart. Quality assurance is process oriented and it is all about preventing defects by ensuring the processes used to manage and create deliverables works; Quality control, alternatively, is product oriented while testing is a subset of QC.

The Brief description of aims and content is to provide a broad systematic study of quality assurance aspects of the software development process with an emphasis software quality, software quality management, software testing, and software quality certification and standards. This module should expose students to the principles of software quality assurance and identify the tasks that are essential for successful quality projects and discuss how tasks interact with each other.

The specific objectives of the module are:

·         Understand and define the scope of the software development process from a quality perspective

·         Understand, design and implement procedures for developing software quality

·         Understand the issues and approaches involved in software quality assurance at the company practice level

·         Understand the main approaches to software testing

·         Understand and be able to implement testing solutions at code level.

·         Benchmark organisations against industry standards for software quality

The main Indicative Content to be covered are:

Introduction to software testing. Unit Testing. Control Flow Testing. Data Flow Testing. System Integration Testing. System Test Categories. Functional Testing. System Test Design. System Test Planning and Automation. System Test Execution, Acceptance Testing. Software Inspection. Software Quality Assurance. Software Quality Standards.