NivaarExam PrepOfficial exam papers ↗

19-Soft-A6 Software Quality Assurance · May 2018

Question 3 of 8

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

Notes on this paper

04-Soft-A6, Software Quality Assurance — National Exams, May 2018 (3 hours, open book, 8 questions of equal value; the first FIVE as they appear in the answer book are marked — all eight are solved here as a study resource).

Reference texts: Pressman, Software Engineering: A Practitioner's Approach, 9th ed. (SQA planning, review, testing strategies/techniques, software metrics, reliability & safety); Sommerville, Software Engineering, 10th ed. (software process, configuration management); ISO/IEC 25010 SQuaRE (software quality characteristics); ISO/IEC 12207 (life-cycle/configuration-management processes).

Question 3 (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.

Part (a) — verification activities across the SDLC. Verification asks "are we building the product right?" — i.e., does each work product correctly implement the specification handed to it, regardless of whether that specification is ultimately what the customer wanted (that question is validation). Verification activities are attached to whichever phase produced the work product being checked: requirements-phase verification uses requirements reviews and walkthroughs to check the SRS is internally consistent and unambiguous; design-phase verification uses design reviews to confirm the design correctly and completely implements every requirement (traceability); coding-phase verification uses code reviews/inspections and static analysis to confirm the code correctly implements the design; and unit/integration testing is itself a verification activity, using white-box techniques to confirm the code's internal logic behaves as the design intended. Each phase therefore gets its own verification technique, chained so that the output of phase N is checked against the (verified) input handed down from phase N−1.

Part (b) — fault prevention vs. fault tolerance vs. fault detection.

The three are complementary layers of defence: prevention reduces how many faults exist, tolerance limits the damage from the faults that remain, and detection finds the faults that neither prevention nor tolerance dealt with, so they can be permanently fixed.

Part (c) — system test, functional test, performance test.