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:
- Initial — ad hoc, unpredictable, depends on individual heroics.
- Managed — basic project management is in place; process is planned and tracked at the project level.
- Defined — process is standardized and documented across the organization, not just per-project.
- Quantitatively Managed — process performance is measured and controlled statistically.
- 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).