CSS Prepare

optional · CSS study notes

🗄️ OLD — Software Quality Assurance (SQA) (consolidated)

CSS Computer Science (Optional) — Paper-I, Section-B, Topic V. SQA-related questions have appeared in 2 of the last 7 available papers (2021, 2025) — often via CMMI, which bridges directly into Process Improvement (see that page).

What SQA Actually Is

Systematic, process-oriented and preventive activities that ensure the software product and the process used to build it conform to established standards — distinct from testing, which is product-oriented and detective (it finds defects after the fact; SQA tries to stop them from being introduced in the first place).

  • An SQA plan typically defines: applicable standards, review and audit procedures, documentation requirements, and metrics to be tracked (e.g. defect density — defects found per unit of code size).
  • Activities: technical reviews, audits, standards enforcement, and measurement/metrics tracking, applied continuously across the whole SDLC — not a single end-of-project checkpoint.

Software Quality Attributes (know at least five, by name)

  • Reliability — operates correctly over time without failure.
  • Usability — easy to learn and use for its intended users.
  • Efficiency — makes good use of system resources (time, memory).
  • Maintainability — easy to modify, correct, or extend later.
  • Portability — can be moved to run in a different environment with limited effort.
  • (Also worth naming if more are asked for: Security, Scalability, Testability.)

CMMI (Capability Maturity Model Integration)

A framework for rating how mature an organization's software process is — the standard reference point behind Process Improvement (see that page for the SPI framework itself). Five maturity levels, worth reproducing in order:

  1. Initial — ad hoc, unpredictable, depends on individual heroics.
  2. Managed — basic project management is in place; process is planned and tracked at the project level.
  3. Defined — process is standardized and documented across the organization, not just per-project.
  4. Quantitatively Managed — process performance is measured and controlled statistically.
  5. Optimizing — continuous process improvement based on quantitative feedback.

The core goal of CMMI, as FPSC has tested directly, is to enhance the maturity of an organization's software process — not simply "increase software quality" (quality is the downstream result, not the model's stated goal) and not "user experience," which CMMI does not directly address.

🔥

Repeated in past papers: 2021 Q7(c) asked "what do you mean by software quality? List at least five quality attributes" (5 marks). 2025's Part-I MCQs directly asked "what is the main goal of CMMI?" See 🔥 Most Repeated — Software Engineering.

MCQ Trap

  • CMMI's stated goal is process maturity, not "software quality" directly — a tempting but technically wrong distractor.
  • SQA is preventive (stop defects before they happen); testing is detective (find defects that already exist).