ELEC5618 · Software Quality Engineering
Foundations of Software Quality Engineering
Week 1 of University of Sydney ELEC5618 Software Quality Engineering sets the vocabulary the rest of the unit is examined in: the error → fault → failure chain, the Heuristic Test Strategy Model (James Bach), risk as probability × impact, and a first pass over the ISO/IEC 25010 product-quality characteristics. It also introduces the semester-long PerfectSoftware scenario that frames the group project. Every later chapter — planning, V&V, testing, tools, agile — reuses these terms, and the closed-book final rewards stating them precisely.
What this chapter covers
- 01The defect chain: error (human mistake) → fault (defect in the artifact) → failure (system cannot perform its required function); all three sit under 'defect'
- 02Heuristic Test Strategy Model (Bach): project environment · product elements · quality criteria · test techniques → perceived quality
- 03Test Development Life Cycle (TDLC): a management side (test planning) and an engineering side (test design)
- 04Risk management: risk = probability × impact (cause → threat → probability; effect → consequence → impact)
- 05Risk activities: assess risk → plan mitigation → mitigate risk
- 06ISO/IEC 25010 first exposure — the product-quality characteristics as the '-ilities' a product must satisfy
- 07Quality criteria as the target of testing; product elements as what gets tested
- 08The PerfectSoftware scenario as the semester's running project context
Prioritising three project risks by exposure (probability × impact)
- +1State the model: risk exposure = probability × impact, where probability is the likelihood the threat occurs and impact is the consequence if it does.
- +1Compute each: R1 = 0.3 × 8 = 2.4; R2 = 0.6 × 6 = 3.6; R3 = 0.9 × 2 = 1.8.
- +1Rank by exposure (highest first): R2 (3.6) > R1 (2.4) > R3 (1.8). The developer-departure risk dominates despite R3 being the most likely, because impact weights the score.
- +1Next activity: after assessing (this ranking), plan for risk mitigation on the top risks — e.g. cross-train a second developer and document R2 — then mitigate. High-likelihood/low-impact R3 can be accepted or handled cheaply.
Key terms
- Error / Fault / Failure
- Error = a human action that produces an incorrect result. Fault (defect/bug) = the incorrect step or data in the software artifact — the manifestation of an error. Failure = the observable event when a fault is executed and the system cannot perform its required function.
- Heuristic Test Strategy Model
- James Bach's framework relating test decisions to context. Five interacting elements — project environment, product elements, quality criteria, test techniques and perceived quality — that together shape a context-driven test strategy.
- Risk
- The combination of a probability (likelihood a threat or cause occurs) and an impact (the consequence if it does). Managed by assessing risk, planning mitigation, then mitigating.
- Quality criteria
- In the Heuristic Test Strategy Model, the '-ilities' a product must satisfy — capability, reliability, usability, security, scalability, performance and so on — that testing evaluates against.
- Product elements
- What is to be tested: the structure, functions, data, interfaces, platform and time-related behaviour of the product under test.
- Perceived quality
- Quality as assessed by stakeholders — the output of testing in the Heuristic Test Strategy Model. Quality is judged relative to needs and context, not as an absolute property of the code.
Foundations of Software Quality Engineering FAQ
What is the difference between an error, a fault and a failure?
They form a causal chain. An error is a human mistake; that mistake plants a fault (a defect) in the software; when the fault is executed the system may produce a failure — it cannot do what it should. All three are covered by the umbrella word 'defect'. Naming the right link matters in exam answers: you fix faults, you prevent errors, and you observe failures.
Why does ELEC5618 start with the Heuristic Test Strategy Model?
Because it frames testing as context-driven rather than a fixed checklist. The model ties the project environment, the product elements, the quality criteria and the test techniques together to produce perceived quality, so it gives you a vocabulary for justifying why a particular test strategy fits a particular project — exactly what the unit's report-writing outcomes ask for.
How is risk defined and used in this unit?
Risk = probability × impact. You assess each risk's exposure, plan mitigation for the highest-exposure ones, then mitigate. The point is that likelihood alone is not enough — a rare but catastrophic risk can outrank a frequent but trivial one — and this framing recurs when you plan quality activities and testing effort.
Can AI help me with the Week 1 foundations?
Yes, as a study aid. Sia can drill the error/fault/failure distinction, walk through a risk-exposure ranking, and map a scenario onto the Heuristic Test Strategy Model or the ISO/IEC 25010 characteristics, checking your reasoning as you go. Use it to rehearse the vocabulary; it does not do your graded assessment, and the University of Sydney academic-integrity policy applies.
Exam move
Make Week 1 a vocabulary bank you can recite. Write the error → fault → failure chain with a one-line example of each, then sketch the five elements of the Heuristic Test Strategy Model from memory and explain in a sentence how they combine into perceived quality. Practise ranking a small risk table by probability × impact so you never rank on likelihood alone. Skim the ISO/IEC 25010 characteristics now (they return in detail later) so the names are familiar. These terms recur in every chapter and in the short-answer section of the closed-book final, so a clean one-page summary here pays off all semester; confirm the exam date and format on Canvas.
Working through Foundations of Software Quality Engineering in ELEC5618? Sia is AskSia’s AI Software Engineering tutor — ask any ELEC5618 Foundations of Software Quality Engineering question and get a clear, step-by-step explanation grounded in how ELEC5618 is taught and assessed. Read this chapter free, then take your hardest questions to Sia.