19-Soft-A6 Software Quality Assurance · December 2013
Nivaar worked solution (AI-drafted; not reviewed by a licensed engineer)
National Exams, December 2013 — 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. 15 (SQA), Ch. 17–18 (unit/integration/validation/system testing strategy), 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 and Software Testing KA; ISO/IEC 25010 (SQuaRE) for the software product quality model referenced in Question 1; ISO/IEC/IEEE 12207 (Software life cycle processes) for the process-standard referenced in Question 1(b).
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.
Given. Username: 4–8 characters, must exist in the system database. Password: 8–10 characters, must contain at least one capital letter, one digit, and one special character.
Find. A black-box test-case set (equivalence partitioning + boundary value analysis) that exercises every valid and invalid class of both fields, including the character-composition conditions on the password, without reference to the unit's internal code.
Approach. Apply the range guideline from Question 4(b) to each field's LENGTH condition (one valid class, two invalid classes, tested additionally at all four boundary points), and partition the password's three composition requirements as three independent single-condition checks — standard black-box practice for input governed by several ANDed conditions is to violate exactly ONE condition per test case while holding the others valid, so a failure can be attributed to a specific condition rather than a confounded combination.
| # | Username | Password | Condition under test | Expected result |
|---|---|---|---|---|
| TC1 | bsmith (6 ch., in DB) | Passw0rd! (9 ch.) | VU1 & VP1 — both fields fully valid | Access granted |
| TC2 | bob (3 ch.) | Passw0rd! | VU2 / boundary 3 — below minimum length | Rejected: username too short |
| TC3 | alex (4 ch., in DB) | Passw0rd! | Boundary 4 — minimum valid length | Accepted (username field) |
| TC4 | bsmith01 (8 ch., in DB) | Passw0rd! | Boundary 8 — maximum valid length | Accepted (username field) |
| TC5 | bsmith012 (9 ch.) | Passw0rd! | VU3 / boundary 9 — above maximum length | Rejected: username too long |
| TC6 | zqxvwt (6 ch., not in DB) | Passw0rd! | VU4 — correct length, unregistered | Rejected: unknown username |
| TC7 | bsmith | Pw0!xyz (7 ch.) | VP2 / boundary 7 — below minimum length | Rejected: password too short |
| TC8 | bsmith | Passw0r! (8 ch.) | Boundary 8 — minimum valid length | Accepted (password field) |
| TC9 | bsmith | Passw0rd12! (10 ch.) | Boundary 10 — maximum valid length | Accepted (password field) |
| TC10 | bsmith | Passw0rd123! (11 ch.) | VP3 / boundary 11 — above maximum length | Rejected: password too long |
| TC11 | bsmith | password1! (9 ch., no capital) | VP4 — missing uppercase letter | Rejected: needs one capital letter |
| TC12 | bsmith | Passsword! (10 ch., no digit) | VP5 — missing digit | Rejected: needs one number |
| TC13 | bsmith | Password12 (10 ch., no special char.) | VP6 — missing special character | Rejected: needs one special character |