Software Quality and Standards
Software Quality and Standards
This domain tests the vocabulary of quality models, the structure of the standards the syllabus names, and the review and process-improvement framework. Questions are definitional and mapping-based: given a requirement, name the quality characteristic or sub-characteristic.
Quality concepts
Quality is conformance to requirements (Crosby) and fitness for use (Juran); ISO 9000 frames it as the degree to which a set of inherent characteristics fulfils requirements. Software quality assurance is process-oriented and preventive; testing is product-oriented and detective. Verification asks whether the product was built correctly against its specification; validation asks whether it satisfies the user's actual need.
The SQuaRE quality model
ISO/IEC 25010 replaced ISO/IEC 9126 and defines eight product quality characteristics:
- Functional suitability (completeness, correctness, appropriateness)
- Performance efficiency (time behaviour, resource utilisation, capacity)
- Compatibility (co-existence, interoperability)
- Usability (learnability, operability, user error protection, accessibility)
- Reliability (maturity, availability, fault tolerance, recoverability)
- Security (confidentiality, integrity, non-repudiation, accountability, authenticity)
- Maintainability (modularity, reusability, analysability, modifiability, testability)
- Portability (adaptability, installability, replaceability)
Standards worth knowing by number
- GB/T 25000.51 - quality requirements and testing details for ready-to-use software products (RUSP): product description requirements, user documentation requirements, and software quality requirements.
- GB/T 8566 / ISO/IEC 12207 - software lifecycle processes.
- GB/T 9386 / IEEE 829 - test documentation.
- GB/T 8567 - software documentation.
- ISO/IEC 15504 (SPICE) and CMMI - process capability and maturity; CMMI levels are initial, managed, defined, quantitatively managed, optimizing.
Reviews
From least to most formal: informal review, walkthrough (author leads), technical review (peer experts, documented findings), inspection (Fagan: planning, overview, preparation, inspection meeting, rework, follow-up, with defined roles moderator, author, reader, recorder, inspector).
Worked example
Requirement: after an unexpected shutdown the system must be usable again within five minutes with no committed data lost. Mapping: recovery within a stated time is recoverability; no data loss under failure is integrity (security) plus fault tolerance (reliability). The best single answer is recoverability, a reliability sub-characteristic. A distractor will offer maintainability's testability because the word restoring appears; resist it - testability concerns the ease of testing, not of recovery.
Traps
Reciting 9126's six characteristics when 25010's eight are asked; placing testability under reliability (it belongs to maintainability); confusing availability (reliability) with performance efficiency; mixing up the CMMI level names and their order.
Key ideas
Mapping a requirement sentence to exactly one characteristic or sub-characteristic is the standard question form in this domain.