University of Sydney · S1 2027 · FACULTY OF SOFTWARE ENGINEERING

ELEC5618 · Software Quality Engineering

- one subject, every graph, every model, every mark
50% final exam · hurdle12 Chapters149-page Bible
Our own words - no uploaded lecturer files
Built to mirror S1 2027 · updated this semester
The Complete Exam Bible · S1 2027

Software Quality Engineering

— Free exam bible for USyd ELEC5618 Software Quality Engineering: worked walkthroughs of QA vs QC, V&V, testing techniques, FSM/Markov tools, agile SQE and the IEEE/ISO standards for the 50% closed-book final.

ELEC5618 Software Quality Engineering is the University of Sydney's postgraduate (5000-level, 6-credit-point) unit in the School of Electrical and Computer Engineering, coordinated by Dr Huaming Chen. It teaches how software quality is engineered — not just tested — across the whole lifecycle: the vocabulary of quality (error → fault → failure, the Heuristic Test Strategy Model, risk = probability × impact), the standards that govern it (IEEE 730 for SQA plans, IEEE 830 for requirements specifications, IEEE 1028 for reviews, ISO/IEC 25010 for the product-quality model), verification and validation, software testing techniques (black-box and white-box, integration, object-oriented class testing), the software test plan, testing tools built on finite state machines and Markov chains, and quality engineering in agile and ML/AI settings. It is a concept-, process- and document-heavy unit rather than a mathematical one — the single recurring computation is cyclomatic complexity (V(G) = E − N + 2), and the marks reward stating the right standard, applying the right technique, and arguing quality trade-offs clearly. Assessment, all managed through Canvas, is half exam and half coursework: a 50% final examination (2 hours, closed book, held in the formal examination period, covering all lecture and assignment material) plus a semester-long group project delivered as three individual write-ups (Assignment 1 = 9%, Assignment 2 = 16%, Assignment 3 / targeted project = 15%), a 5% mid-term quiz (1 hour, question released in Week 7) and a 5% weekly report check (milestone checks at Weeks 3, 5, 7, 9 and 11). No component carries a hurdle in the unit materials, and the exam's section-and-marks breakdown is not published — confirm the exact weighting, format and any permitted materials on your Canvas Assessments page and the USyd unit outline. Because the whole unit is examined together, a strong ELEC5618 result rewards steady weekly work that also protects your Weighted Average Mark (WAM).

ELEC5618 · University of Sydney
An independent, AskSia-authored study guide. AskSia is not affiliated with, endorsed by, or sponsored by University of Sydney; the course code and name are used for identification only.
Contents · the whole subject, one map

What ELEC5618 covers

ELEC5618 runs across 13 weeks of this unit of study, moving from software-quality foundations and planning (IEEE 730, ISO/IEC 25010) through requirements specification, verification and validation, testing techniques and test plans, testing tools, and quality engineering in agile and ML/AI settings. Half the mark is the 2-hour closed-book final exam in the formal examination period; the rest is the group-project coursework, a mid-term quiz and weekly report checks. The chapters below follow the real teaching order so your revision matches how the unit was taught.

Assessment

How ELEC5618 is assessed

ComponentWeightFormat
Final Examination50%2-hour closed-book exam in the formal examination period; covers all material including lectures and assignments
Assignment 19%Individual write-up from the group project; due Week 5
Assignment 216%Individual write-up from the group project; due Week 9
Assignment 3 (Targeted project)15%Targeted project across Weeks 10-13; video submission with Q&A in Week 13 (due Week 12)
Mid-term Quiz5%1-hour quiz; question released in Week 7
Weekly report check5%Milestone/report checks at Weeks 3, 5, 7, 9 and 11
Worked example · free

Cyclomatic complexity of a grade classifier (the signature ELEC5618 computation)

Q [5 marks]. A method classifyGrade(score) works as follows: (1) read score; (2) if score ≥ 50, then (3) if score ≥ 75 set grade = "Distinction", else set grade = "Pass"; (4) otherwise (score < 50) set grade = "Fail"; (5) return grade. Draw the control-flow graph, compute the cyclomatic complexity with V(G) = E − N + 2, cross-check it two other ways, and give the minimum set of test cases for full branch coverage. (5 marks)
  • +1Build the control-flow graph. Nodes: N1 entry/read score; N2 decision score ≥ 50; N3 decision score ≥ 75; N4 grade = Distinction; N5 grade = Pass; N6 grade = Fail; N7 return (the exit, where all branches merge). That is N = 7 nodes.
  • +1List the edges (control flow): N1→N2; N2→N3 (score ≥ 50 true); N2→N6 (false, score < 50); N3→N4 (score ≥ 75 true); N3→N5 (false); N4→N7; N5→N7; N6→N7. That is E = 8 edges.
  • +1Apply the formula: V(G) = E − N + 2 = 8 − 7 + 2 = 3.
  • +1Cross-check two ways. (a) Number of predicate (decision) nodes + 1 = 2 decisions (score ≥ 50, score ≥ 75) + 1 = 3. (b) Number of independent (basis) paths = 3: P1 = N1-N2-N6-N7 (score < 50 → Fail); P2 = N1-N2-N3-N5-N7 (50 ≤ score < 75 → Pass); P3 = N1-N2-N3-N4-N7 (score ≥ 75 → Distinction). All three agree: V(G) = 3.
  • +1Write V(G) = 3 test cases, one per independent path: score = 40 → expect "Fail"; score = 60 → expect "Pass"; score = 90 → expect "Distinction". These 3 cases give full branch coverage (both outcomes of each decision are exercised).
V(G) = E − N + 2 = 8 − 7 + 2 = 3, confirmed by (predicate nodes + 1) = 2 + 1 = 3 and by the 3 independent paths. Minimum test set for full branch coverage: score = 40 (Fail), score = 60 (Pass), score = 90 (Distinction).
Sia tip — Cyclomatic complexity gives you the minimum number of tests for branch coverage, not proof of correctness — all paths executed is not all path combinations executed. The fastest exam check is 'decisions + 1'; use V(G) = E − N + 2 to earn the graph marks. If you are unsure how to count edges on a loop, ask Sia to redraw the control-flow graph with you step by step — it explains the method and checks your working, it never just hands over an answer.
Glossary

Key terms

Error → Fault → Failure
The canonical defect chain. An error is a human mistake; it plants a fault (defect/bug) in the software artifact; executing that fault can produce a failure — the system's inability to perform its required function. All three sit under the umbrella term 'defect', and software quality engineering exists to prevent failures.
Verification vs Validation
Verification asks 'are we building the product right?' — does it conform to its specification. Validation asks 'are we building the right product?' — does the specification (and software) meet the user's real needs. Testing reveals the presence of errors, never their absence; a successful test finds at least one error.
QA vs QC
Quality Assurance is process-oriented — it defines and evaluates processes to build quality in, ideally free of technical/managerial/financial pressure. Quality Control is product-oriented — it monitors specific results and checks conformance to standards (it leads into V&V and testing). QC activities can sit inside QA.
Cyclomatic complexity V(G)
McCabe's control-flow metric: V(G) = E − N + 2 (E edges, N nodes) = number of predicate nodes + 1 = number of independent paths = minimum tests for full branch coverage. High complexity does not prove testing adequacy — covering all paths is not covering all path combinations.
ISO/IEC 25010:2023
The product-quality model (SQuaRE). Nine product-quality characteristics — functional suitability, performance efficiency, compatibility, interaction capability, reliability, security, maintainability, flexibility and safety — each with sub-characteristics, plus a separate 'quality in use' model. The reference frame for stating and testing non-functional requirements.
Stub vs Driver
Test doubles used in integration testing. A stub simulates a called (lower-level) module, returning hardcoded responses — used in top-down integration. A driver simulates a calling (higher-level) module, issuing the calls the real caller would — used in bottom-up integration. A sandwich/hybrid approach uses both.
FAQ

ELEC5618 FAQ

Is ELEC5618 hard?

It is broad rather than mathematically deep. ELEC5618 is a concept-, process- and document-heavy postgraduate unit: the challenge is holding a lot of standards (IEEE 730, IEEE 830, IEEE 1028, ISO/IEC 25010), testing techniques and agile ideas straight, and being able to argue quality trade-offs, rather than any single hard calculation. The one recurring computation is cyclomatic complexity (V(G) = E − N + 2), and the small Markov-chain probabilities read fine in plain notation. Half the mark is the 2-hour closed-book final, and it covers lectures and assignments together, so students who keep up with the weekly group-project deliverables and rehearse the exam-critical distinctions (QA vs QC, verification vs validation, defect vs validation testing) rather than cramming tend to find it manageable — and steady work protects your WAM.

Can AI help me with ELEC5618?

Yes, as a step-by-step study aid. Sia is an AI tutor trained on how ELEC5618 is taught and assessed at the University of Sydney: it can walk you through a cyclomatic-complexity calculation, an equivalence-partitioning and boundary-value set, a QA-versus-QC classification, a use-case or SRS structure, or a Markov-chain transition-probability table one line at a time, and it checks your reasoning as you go. Bring your own tutorial or past-paper question and ask Sia to explain each step. It does not do graded assessment for you, and the University of Sydney academic-integrity policy still applies — use it to understand the method, not to produce work you submit.

Where can I find past exam papers / practice for ELEC5618?

Start on Canvas, where the unit posts its lecture slides, the Week-13 revision material and any practice questions, and search the University of Sydney Library's past-exam-paper collection for released papers. Your weekly group-project deliverables and the mid-term quiz question are the closest match to the assessed style. This guide also includes a re-authored practice exam that mirrors the paper's shape — quality concepts, V&V, testing techniques, FSM/Markov tools and the standards — with fresh scenarios, and you can ask Sia to generate extra practice in the same style and explain each step. Treat any third-party 'model answers' with caution and confirm what is officially provided on Canvas.

What are the ELEC5618 hurdles and assessment rules?

the unit materials list no hurdle on any component — every assessment cell reads 'No'. The marks are 50% final examination, three individual project write-ups (9% + 16% + 15%), a 5% mid-term quiz and a 5% weekly report check, totalling 100%. That said, hurdle and pass rules can change year to year, so if Canvas or the current unit outline states an exam or overall hurdle, that governs — always confirm the exact weights, any hurdle, and the permitted materials on your Canvas Assessments page. The weekly report checks fall at Weeks 3, 5, 7, 9 and 11, so missing them quietly costs the 5% that is easiest to bank.

What is on the ELEC5618 final exam?

A single 2-hour closed-book paper, held in the University of Sydney formal examination period, that covers all material — lectures and assignments included. The Week-13 revision frames it as a mix of multiple-choice, short-answer and a scenario-based question with sub-parts, but the exact section-and-marks breakdown is not published in the unit materials, so confirm the current structure on Canvas. Expect a spread across the whole unit: quality foundations and standards (IEEE 730/830/1028, ISO/IEC 25010), verification versus validation, testing techniques (equivalence partitioning, boundary values, cyclomatic complexity, integration and OO class testing), the software test plan, FSM and Markov testing tools, and agile and ML/AI quality. The exam sits in the University of Sydney Semester 1, 2027 formal exam period (around June 2027) — confirm the exact date, time and room on Canvas and the USyd exam timetable.

Study strategy

How to study for the exam

Treat ELEC5618 as a standards-and-technique unit and rehearse it weekly alongside the group project, rather than cramming before the closed-book final. Build a one-page map of the standards and what each governs (IEEE 730 = SQA plans, IEEE 830 = SRS, IEEE 1028 = reviews, ISO/IEC 25010 = product quality, ISO/IEC/IEEE 29119 = testing) because fast recall pays off across the paper. Drill the exam-critical distinctions until you can state each in one line with an example — QA (process) vs QC (product), verification ('building it right') vs validation ('building the right product'), defect testing vs validation testing, stub vs driver, Moore vs Mealy. Practise the two techniques that carry method marks: cyclomatic complexity (draw the control-flow graph, apply V(G) = E − N + 2, cross-check with decisions + 1, list the independent paths and write one test per path) and black-box design (equivalence partitions plus the boundary set {lo−1, lo, interior, hi, hi+1}). For the qualitative topics — the nine error causes, the ISO/IEC 25010 characteristics, the People CMM / CMMI levels, the Agile Manifesto and testing quadrants, and the ML/AI three-layer quality stack — rehearse writing short, structured 'The system shall…' requirements and clear trade-off arguments, because that is what the short-answer and scenario questions reward. When a step won't click, ask Sia to explain that single step a different way and set you a fresh practice question in the same style; it teaches the method and checks your reasoning, and it never substitutes for your own graded work. Confirm the exam date, room, weighting and any hurdle on Canvas and the University of Sydney exam timetable.

Study ELEC5618 with AI

Your AI Software Engineering tutor for ELEC5618

Stuck on a hard ELEC5618 question? Sia is AskSia’s AI Software Engineering tutor — ask any ELEC5618 Software Quality Engineering question and get a clear, step-by-step explanation grounded in how the course is actually taught and assessed. Read this whole study guide free, then take your hardest questions to Sia.

A+Everything unlocked
Unlocks this Bible + all 13 of your University of Sydney subjects - and 1,000+ Bibles across every Australian university.
Sia - your ELEC5618 tutor, unlimited, worked the way the exam marks it
The full 149-page Bible + practice bank with worked solutions
Chrome extension - sync your LMS so Sia knows your deadlines
Bilingual EN / Chinese on every Bible and every Sia answer
$25/ month
30-day money-back · cancel in one tap · how it works
Unlock the full ELEC5618 Bible + 13 University of Sydney subjects解锁完整 ELEC5618 Bible + University of Sydney 13 门科目
$25/mo