NivaarExam PrepOfficial exam papers ↗

19-Soft-A6 Software Quality Assurance · December 2014

Question 8 of 8: SQA and Configuration Management in Concurrent and Agile Development

Nivaar worked solution (AI-drafted; not reviewed by a licensed engineer)

Notes on this paper

National Exams, December 2014 — 04-Soft-A6, Software Quality Assurance (open book, non-communicating calculator permitted, 3 hours). Per the paper's own notes, FIVE of the EIGHT questions constitute a complete exam and each is of equal value; all eight are answered in full below as a complete study resource.

Reference texts. Pressman, Software Engineering: A Practitioner's Approach, 9th ed., Ch. 3 (agile and concurrent process models), Ch. 15 (SQA, cost of quality, configuration management), Ch. 17–18 (unit/integration/validation/system testing strategy, verification vs. validation), Ch. 19–20 (white-box basis-path testing, black-box equivalence partitioning & boundary value analysis); Sommerville, Software Engineering, 10th ed., Ch. 8 (Software Testing) and Ch. 24 (Quality Management); SWEBOK v4, Software Quality KA, Software Testing KA, and Software Configuration Management KA; ISO/IEC 25010 (SQuaRE) for the product quality model; ISO/IEC/IEEE 12207 (Software life cycle processes) for the SQA and configuration management process framework referenced in Questions 1 and 8.

Question 8: SQA and Configuration Management in Concurrent and Agile Development (10 marks)

Question text not reproduced: the examination questions are © Engineers and Geoscientists BC. Open the official past paper (linked at the top of this page) to read the question, then follow the worked solution below.

Software Configuration Management (SCM) — identifying configuration items, controlling and tracking versions, managing a formal change process, and auditing/reporting status — and SQA are two closely intertwined umbrella activities rather than independent disciplines. SCM supplies the traceable, controlled substrate (a permanent record of WHO changed WHAT, WHEN, and via commit/change-request messages, WHY) that SQA's own change-control and measurement activities (Question 2(a)) depend on to function at all; without it, SQA has no reliable way to attribute a defect to a specific change or to audit whether change control is actually being followed.

In concurrent software development — a process model in which analysis, design, coding, and testing for different subsystems proceed in parallel, each tracked through its own state-transition-like activity network against a shared project database — SCM's version and branch control becomes essential rather than merely convenient, because several team members may be modifying shared or related artifacts at the same time. Without disciplined SCM, two parallel workstreams can silently diverge or overwrite each other's work, invisible to SQA's own review and measurement activities until integration; WITH it, SQA can rely on SCM's audit trail to attribute a defect surfacing during integration to the specific concurrent change that introduced it, and the formal change-control process (Question 2's FTR-driven review) can be applied consistently across parallel streams rather than only within one.

In agile software development, SCM is embedded at a much finer grain: every commit is itself effectively a small baseline, continuous integration is triggered automatically from the version-control system on every commit and runs the automated regression suite (Question 3(b), Question 8's own test-automation discussion below) against it, and feature-branch/pull-request workflows fuse SCM's branching and merging directly with SQA's peer-review activity (Question 2(c)) into one continuous process rather than two separate ones. Because agile's commits are small and frequent, SCM's own change history makes impact analysis for regression-test selection (Question 3(b)) far more precise than it would be against large, infrequent Waterfall-style changes, since each individual change is small enough to reason about on its own.

The overall relation, in both models: the tighter and faster the development cadence becomes, the MORE — not less — SQA depends on automated, disciplined SCM to keep pace, because manual change-tracking simply cannot scale to a parallel-workstream or rapid-commit cadence; SCM is the mechanism that makes SQA's change-control and traceability activities possible at all once development stops being a single, slow, serial stream of work.

Back to the paper →