CCS3311 Software Quality Assurance – Lesson 1

Quality assurance (QA) processes play a critical role in ensuring the delivery of high-quality software products, regardless of the development strategy employed. The definition of software quality refers to the degree to which software meets specified requirements and user expectations. It encompasses various attributes and characteristics that collectively determine the software’s overall:

  • excellence,
  • reliability,
  • maintainability,
  • and usability.


Introduce the software quality assurance techniques/tools that are commonly used in the software development process.

Learning outcomes

  1. Describe the quality assurance process as applied to different software development strategies.
  2. Describe quality assurance components.
  3. Develop a quality assurance plan for a small scale software project.
  4. Develop a testing plan for small scale software project.


Software quality, classification of errors, quality assurance objectives, software engineering and quality assurance.

  • Software quality assurance systems:
    • SQA architecture, infrastructure components for error prevention and improvements, human component in SQA.
  • Pre-project software quality components:
    • CFV project completion, contracts, contract review.
  • Development of quality plan:
    • Quality plan its objectives and components, develop a quality plan for a small project.
  • Executing the quality plan:
    • Review of software engineering methodologies, integrating quality assurance into software engineering, defect removal effectiveness and cost.
  • Software testing:
    Software testing strategies, white box vs. black box testing, automated testing, tools available for testing, Alpha beta testing.

All lessons >